오픈 소스 클라우드 플랫폼 CloudStack 4.1.0 설치 상세 정보 - 2, KVM

KVM(kernel-based Virtual Machine)은 리눅스 2.6.20 이후 리눅스 핵에 통합된 시스템 가상화 플랫폼으로 리눅스 자체의 스케줄러를 사용하여 관리하기 때문에 가상화 솔루션에 비해 핵심 소스가 적고 안정적이다.
CloudStack은 다양한 가상화 솔루션과의 통합을 지원합니다.
CloudStack+KVM은 최고의 황금 조합!그들은 모두 기능이 강하고 무료이기 때문에, 당신은 누군가가 당신에게 권한 수여료를 요구하는 것을 두려워하지 않고, 조금도 꺼리지 않고 설치를 마음대로 배치할 수 있다.KVM은 지금까지 좋은 무료 집단 관리 도구가 없었는데, 지금은 클라우드 Stack을 더하면 호랑이가 날개를 돋우는 것처럼 V센터나 XenCenter 같은 강력한 상업 소프트웨어에 비해서도 손색이 없다.
오늘은 CloudStack 관리 포트가 KVM 노드일 때 설치하는 방법에 대해 살펴보겠습니다.인터넷 기사를 크게 베낀 것을 감안하면 많은 내용이 이리저리 물건을 싣고 다니는 것을 보면 구경꾼들은 금방 어지러워져서 왜 이런 프로그램을 설치하고 무엇을 하는지 도무지 알 수가 없다.이번에는 한 걸음 한 걸음 상세히 설명하고 제가 여러 번 재장한 후에 얻은 경험과 교훈을 더해서 후배들이 시행착오를 줄일 수 있기를 바랍니다.
1. 환경 검측
KVM 가상화는 하드웨어의 지원이 필요하기 때문에 우선 서버가 그것을 지원할 수 있는지 확인해야 한다. 만약 이 단계를 넘지 못한다면 아래의 내용은 더 이상 볼 필요가 없다.
검사 방법:
egrep '^flags.*(vmx|svm)' /proc/cpuinfo

만약 실행한 후에 물건이 나타날 수 있다면, 축하합니다. 저와 계속해도 됩니다.Let’s go!
2. KVM 관련 구성 요소 설치
CentOS는 KVM 프로그램 소스를 직접 제공하며 직접 설치하면 됩니다.
yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt vconfig

Linux 커널의 지원 덕분에 KVM 관련 패키지가 크지 않기 때문에 이 단계는 곧 완성할 수 있을 것이다.
설치 후 관리 노드가 정상적으로 호출될 수 있도록 관련 포트를 개방해야 한다.
vi /etc/libvirt/libvirtd.conf에서 다음과 같은 설명을 제거합니다.
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
auth_tcp = "none"
mdns_adv = 0

vi /etc/sysconfig/libvirtd
LIBVIRTD_ARGS="--listen"

vi /etc/libvirt/qemu.conf
vnc_listen = 0.0.0.0

이제 가상 시스템 서비스를 시작할 수 있습니다.
service libvirtd restart

성공 여부를 테스트합니다.
lsmod | grep kvm

3. 설치 NTP 시간 동기화
관리 노드는 각종 프로토콜을 통해 제어 노드와 통신한다. 안전을 확보하기 위해 제어 노드는 명령을 받은 후 일련의 검사를 한다. 만약에 두 기기의 시간이 동기화되지 않으면 명령 집행을 거부할 수 있다.따라서 가장 간단한 방법은 모든 기계가 NTP 서비스를 설치하여 시간 동기화를 자동으로 완성하는 것이다.
물론, 만약 당신이 두 기계의 시간 차이가 크지 않다는 것을 보장할 수 있다면, 이 단계는 무시할 수 있습니다.
설치 방법
yum install ntp

4. 호스트 이름 설정
CloudStack 관리 노드에서 호스트를 추가할 때 호스트를 제대로 검색하지 못하면 호스트를 제대로 추가할 수 없고 에이전트가 시작될 때 많은 오류가 발생합니다.
다음 명령 검사를 실행합니다.
hostname --fqdn

정상적으로 되돌아오지 않으면/etc/hosts 파일을 편집하고 호스트 ip에 대응하는 이름을 추가하십시오.예:
192.168.19.160 kvm1.cloudstack.com vi/etc/sysconfig/network에서 HOSTNAME = 을 방금 설정한 것과 같이 변경합니다.
편집이 끝나면 즉시 적용됩니다.아직 안 되면 서버를 다시 시작하면 괜찮을 거예요.
참고: CloudStack에 컨트롤러를 추가하면 자동으로 이름이 대입됩니다.따라서 게으름 피우지 말고 기계마다 다른 이름을 설정해야 한다. 그렇지 않으면 관리 백엔드에서 같은 이름의 호스트 리스트에 직면하여 어쩔 수 없게 될 것이다~~
5. 창고 배치
기본적으로 CentOS의 소프트웨어 원본에는 최신 버전인 클라우드 Stack이 수록되어 있지 않습니다. 원활하게 설치하기 위해서는 수동으로 소프트웨어 원본을 지정해야 합니다.
새로 만들기/etc/yum.repos.d/cloudstack.repo 파일:
[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/rhel/4.1/
enabled=1
gpgcheck=0

6.에이전트 설치
KVM은 XenServer, Vcenter 등과 달리 강력한 관리 기능이 내장되어 있지 않기 때문에, 메인 컨트롤러에서 보내는 명령을 완성하기 위해 클라우드 Stack 에이전트를 설치해야 한다.
창고를 통해 직접 설치:
yum install cloud-agent

이 패키지는 비교적 커서 만약 당신의 네트워크가 작은 수도관이라면, 당신은 지금 가서 차를 한 잔 마시고 담배를 피워 좀 쉴 수 있습니다.
주의:cloud-agent를 설치한 후 시작할 필요가 없습니다. 관리 노드에 호스트를 추가할 때 자동으로 시작합니다.기본 설치 디렉토리:/etc/cloudstack/agent
클라우드 Stack은log4j를 통해 로그를 출력하기 때문에log4j-cloud를 수정할 수 있습니다.xml 파일로 로그의 출력 구조를 조정합니다.
7. 보안 정책 수정
기본 SELinux 보안 정책은 CloudStack 작업을 제한하므로 다음과 같이 조정해야 합니다.
vi /etc/selinux/config
SELINUX=permissive

위의 수정은 서버를 다시 시작해야 적용됩니다. 설정을 즉시 적용하기 위해 아래 명령을 사용하십시오
setenforce permissive

iptables에서 일부 포트를 열어야 합니다.
iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 1798 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 16509 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 5900:6100 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 49152:49216 -j ACCEPT

iptables-save > /etc/sysconfig/iptables

8. 호스트 추가
자, 지금까지 당신의 준비 작업은 이미 끝났습니다.
간단한 네트워크 영역을 만드셨다면, 노드를 관리하는 WEBUI에 이 제어 호스트를 순조롭게 추가할 수 있습니다.이 단계의 조작 방법은 매우 간단합니다. 클라우드 Stack에 아주 좋은 마법사가 있습니다. 추가를 정확하게 완성하는 데 도움을 줄 수 있을 것입니다.또한 인터넷에도 많은 글이 소개되어 있으니 저는 상세하게 말하지 않겠습니다. 장래에 기회가 있을 때 클라우드 Stack 고급 네트워크 영역의 관련 기능과 추가 방법을 소개해 드리겠습니다.
부, 발생할 수 있는 문제:
1. 관리 노드에 호스트를 추가하지 못했습니다.
만약 불행하게도 호스트를 추가할 때 실패했다면 당황하지 마십시오. 이 문제는 해결하기 어렵지 않을 것입니다. 우선 로그를 보십시오.
관리 노드 로그는/var/log/cloudstack/management/catalina에 있습니다.out
제어 노드 로그:/var/log/cloudstack/agent/cloudstack-agent.out
일지를 진지하게 반복해서 분석하면 답을 찾을 수 있고 수준은 승화~~~
2、Unable to start agent: Failed to get private nic name
만약 네가 초학이라면 네트워크를 설치할 때 절대 함부로 선택하지 마라.특히 데이터 라벨을 함부로 지정하지 마세요.
CloudStack에서 데이터 라벨은 제어 호스트의 브리지와 관련이 있으며 데이터 라벨을 설정하면 제어기는 해당하는 브리지를 설정해야 한다.cloudstack4.1의 에이전트가 시작될 때, 기본적으로cloudbr0과cloudbr1 두 개의 브리지를 자동으로 생성합니다.만약 당신이 다른 라벨 이름을 지정한다면, 상응하는 브리지도 수정해야 하며, 심지어는 제어기에서 수동으로 브리지를 만들어야 한다.
다른 브리지 이름으로 변경하려면 구성 파일에서 다음을 지정해야 합니다.
vi /etc/cloudstack/agent/agent.properties
다음 두 매개변수 수정하기
private.network.device
public.network.devic

브리지 지정이 잘못되면 위의 오류가 발생합니다.
진정으로 이 이치를 깨닫게 되면, 너는 진급할 수 있고, 너는 서로 다른 네트워크 카드를 사용하여 서로 다른 네트워크를 사용할 수 있을 것이다.
3、Failed to create vnet
만약 당신이 다시 고급 네트워크를 만들려고 시도한다면, 위의 오류와 같이 발생하는 것은 vconfig 프로그램을 설치하지 않았기 때문입니다.
yum install vconfig

좋은 웹페이지 즐겨찾기