데비안의 Qemu-Kvm + Virt-Manager-SME를위한 컴퓨터 네트워크

시리즈의 일반 색인 : 중소기업을위한 컴퓨터 네트워크 : 소개

2013 년 XNUMX 월에이 블로그에 게시했습니다. 두 개의 기사 의 설치 전용 케무-Kvm 데비안 7«휘지«. 여전히 유효합니다. Debian 8 "Jessie"의 설치 및 구성 환경이 약간 변경되었으므로 절차를 업데이트하고 싶습니다.

이 글을 읽는 데 몰두하기 전과 다를 바가 없습니다. 그것을하는 방법, 그들은 이전 기사를 방문합니다 데비안 가상화 : 소개-SMB를위한 컴퓨터 네트워크, 주제에 대한 약간의 배경 지식이 있습니다.

방문을 권장하는 사이트

관찰

  • 명령의 출력은 우리가 작성한 다른 어떤 구성보다 훨씬 더 교훈적이므로 복사합니다. 인터넷 검색을하지 않고도 학습 할 수있는 가장 좋은 방법 중 하나이기 때문에 서로 다른 명령의 메시지를주의 깊게 읽어 보는 것이 좋습니다. 적어도 그것은 우리의 의견입니다.

설치

우리가 본 데비안 "Jessie"의 기본 설치부터 시작합니다. 워크 스테이션 설치-중소기업 용 컴퓨터 네트워크. 그런 다음에서 본 것처럼 원하는 데스크탑 또는 데스크탑을 설치합니다. 6 데비안 데스크탑-중소기업을위한 컴퓨터 네트워킹.

이 기사를 위해 우리는 계피 데스크톱. 많은 독자들이 이 데스크톱 환경을 좋아하기 때문에 이를 선택했습니다. 

워크 스테이션의 일반 데이터는 다음과 같습니다.

도메인 이름: desdelinux.팬
팀 이름 : 시스템 관리자
FQDN : 시스템 관리자.desdelinux.팬
IP 주소 : 192.168.10.3
서브넷 : 192.168.10.0/24
일반 사용자 : 버즈
사용자 이름 : 데비안 퍼스트 OS 버즈

가상화 지원 확인

콘솔에서 다음을 실행합니다.

buzz @ sysadmin : ~ $ egrep -c "(svm | vmx)"/ proc / cpuinfo
2

우리의 경우 명령은 적절한 지원을받는 2 개의 CPU가 있음을 반환합니다.

설치할 패키지

먼저, 다음 명령을 사용하여 설치할 것임을 알아냅니다.

버즈 @ sysadmin : ~ $ aptitude search kvm
p ikvm-CLI 용 Java 가상 머신          
v kvm                             -p libicsharpcode-nrefactory-ikvm5-C # 구문 분석 및 리팩토링 라이브러리-IKVM p libikvm-native-IKVM.NET 용 기본 라이브러리 p nova-compute-kvm-OpenStack Compute-컴퓨팅 노드 (KVM)    
p qemu-kvm-x86 하드웨어에서 QEMU 전체 가상화

버즈 @ sysadmin : ~ $ aptitude show nova-compute-kvm
패키지 : nova-compute-kvm 신규 : 예 상태 : 설치되지 않음 버전 : 2014.1.3-11 우선 순위 : 추가 섹션 : net 개발자 : PKG OpenStack 아키텍처 : 모두 압축되지 않은 크기 : 50.2k 다음에 따라 다름 : adduser, dpkg-dev, qemu-kvm | kvm, libvirt-daemon-system, nova-common, nova-compute, python-libvirt 종속 항목 : dpkg (> = 1.15.6 ~) 권장 : guestmount 다음과 충돌합니다. nova-baremetal, nova-compute-lxc, nova- compute-qemu, nova-compute-uml, nova-compute-xen 제공 : nova-compute-hypervisor 설명 : OpenStack Compute-컴퓨팅 노드 (KVM) OpenStack은 안정적인 클라우드 인프라입니다. 이 회사의 임무는 구현이 간단하고 대규모로 확장 가능하여 규모에 관계없이 퍼블릭 및 프라이빗 클라우드 제공 업체의 요구를 충족 할 유비쿼터스 클라우드 컴퓨팅 플랫폼을 생산하는 것입니다. 코드 명 Nova 인 OpenStack Compute는 모듈 식으로 설계되고 확장 및 조정이 용이하도록 설계된 클라우드 컴퓨팅 패브릭 컨트롤러입니다. "네이티브"OpenStack API 외에도 Amazon EC2 API를 지원하며 다양한 데이터베이스 백엔드 (SQLite, MySQL 및 PostgreSQL 포함), 하이퍼 바이저 (KVM, Xen) 및 사용자 디렉터리 시스템 (LDAP, SQL)을 지원합니다. ). KVM을 사용하는 컴퓨팅 노드에 대한 종속성 패키지입니다. 메인 페이지 : http://www.openstack.org/software/openstack-compute/
  • 패키지를 설치하지 않을 것입니다. OpenStack, 클라우드를위한 전체 가상화 인프라가 필요하지 않기 때문에- 클라우드. 
버즈 @ sysadmin : ~ $ aptitude show qemu-kvm
패키지 : qemu-kvm 신규 : 예 상태 : 설치되지 않음 Multi-Arch : foreign 버전 : 1 : 2.1 + dfsg-12 + deb8u1 우선 순위 : 선택 사항 섹션 : 기타 개발자 : Debian QEMU Team 아키텍처 : amd64 압축되지 않은 크기 : 60.4 k 다음 항목에 따라 다름 : qemu-system-x86 (> = 1.7.0 + dfsg-2 ~) 다음과 충돌 함 : kvm 중단 : qemu-system-x86 (<1.7.0 + dfsg-2 ~ ) 대체 대상 : qemu-system-x86 (<1.7.0 + dfsg-2 ~) 제공 : kvm 설명 : QEMU x86 하드웨어의 전체 가상화 QEMU는 빠른 프로세서 에뮬레이터입니다. 이 패키지는 이전 버전과의 호환성을 위해 kvm 모드에서 qemu-system-x86을 실행하는 래퍼 스크립트 / usr / bin / kvm 만 제공합니다. 이전 qemu-kvm 구성 파일 (/ etc / kvm /에 있음)은 더 이상 사용되지 않습니다.
메인 페이지 : http://www.qemu.org/

가상화 플랫폼 Qemu-Kvm을 설치합니다.

buzz @ sysadmin : ~ $ sudo aptitude install qemu-kvm libvirt-bin bridge-utils
다음 새 패키지가 설치됩니다.     
  augeas-lenses {a} bridge-utils dmeventd {a} ebtables {a} ethtool {a} hdparm {a} ipxe-qemu {a} libaio1 {a} libapparmor1 {a} libaugeas0 {a} libboost-thread1.55.0 {a } libdevmapper-event1.02.1 {a} libfdt1 {a} libiscsi2 {a} liblvm2cmd2.02 {a} libnetcf1 {a} libnuma1 {a} librados2 {a} librbd1 {a} libreadline5 {a} libseccomp2 {a} libspice-server1 {a} libvdeplug2 {a} libvirt-bin libvirt-clients {a} libvirt-daemon {a} libvirt-daemon-system {a} libvirt0 {a} libx86-1 {a} libxen-4.4 {a} libxenstore3.0 { a} libxml2-utils {a} lvm2 {a} netcat-openbsd {a} pm-utils {a} powermgmt-base {a} qemu-kvm qemu-system-common {a} qemu-system-x86 {a} qemu -utils {a} seabios {a} vbetool {a} 0 개 패키지 업데이트, 42 개 새 패키지 설치, 0 개 제거 및 0 개 업데이트 안 함. 8,422kB / 14.8MB의 파일을 다운로드해야합니다. 포장을 풀면 53.3MB가 사용됩니다. 계속 하시겠습니까? [Y / n /?] 그리고

중대한

  • 데스크탑에 설치할 때 KVM을 관리하기위한 인터페이스가 필요합니다. 하나 이상의 서버에 설치하는 경우 데스크톱 설치와 가상 머신 관리자, 나중에 설치할 것입니다. C이 그래픽 인터페이스의 단일 인스턴스에서, 패키지를 설치 한 모든 서버를 관리 할 수 ​​있습니다. qemu-kvm, libvirt-bin y 브리지 유틸리티.
  • 주요 악마- 악마 가상화의 libvirtd. 상태를 알기 위해 다음을 실행합니다.
buzz @ sysadmin : ~ $ sudo systemctl status libvirtd
buzz @ sysadmin : ~ $ sudo 서비스 libvirtd 상태
  • 이전 명령의 출력에서 ​​일부 줄이 빨간색으로 표시된 경우 서비스를 다시 시작하는 것이 좋습니다. libvirtd 다시 확인하거나 컴퓨터를 다시 시작하고 확인하십시오. 그 스크립트libvirtd.서비스 누가 운전 시스템에있다 /lib/systemd/system/libvirtd.service. 이전 방식으로도 악마를 호출 할 수 있습니다. 즉,
buzz @ sysadmin : ~ $ sudo service libvirtd
사용법 : /etc/init.d/libvirtd {start | stop | restart | reload | force-reload | status | force-stop}

buzz @ sysadmin : ~ $ sudo service libvirtd restart buzz @ sysadmin : ~ $ sudo service libvirtd statuslibvirtd.service-가상화 데몬
   로드 됨 :로드 됨 (/lib/systemd/system/libvirtd.service; 활성화 됨)
   유효한: 활성 (실행 중) Sun 2016-11-27 11:23:53 EST 이후; 8 분 전 문서 : man : libvirtd (8) http://libvirt.org 메인 PID : 1112 (libvirtd) C 그룹 : /system.slice/libvirtd.service └─1112 / usr / sbin / libvirtd
  • El 스크립트 에 위치 /etc/init.d/qemu-system-x86는 Qemu-Kvm의 올바른 작동에 필요한 모듈을 삽입하는 역할을합니다. 일을 성공적으로 수행하면 완료됩니다. 상태를 확인하면 0 또는 성공으로 반환됩니다.
buzz @ sysadmin : ~ $ sudo systemctl status qemu-system-x86 ● qemu-system-x86.service-LSB : QEMU KVM 모듈 로딩 스크립트로드 됨 :로드 됨 (/etc/init.d/qemu-system-x86)
   유효한: 활성 (종료 됨) Sun 2016-11-27 11:18:17 EST 이후; 18 분 전 프로세스 : 172 ExecStart = / etc / init.d / qemu-system-x86 start (코드 = 종료 됨, 상태 = 0 / 성공)
  • 궁금해서 모듈과 위치를 알고 싶다면 다음을 실행합니다.
버즈 @ sysadmin : ~ $ sudo updatedb

buzz @ sysadmin : ~ $ find kvm | grep ko
/lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/kvm-amd.ko
/lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/kvm-intel.ko
/lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/kvm.ko

버즈 @ sysadmin : ~ $ ls -l /lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/
총 1016 -rw-r-r-- 1 루트 루트 97120 Jul 17 2015 kvm-amd.ko
-rw-r-r-- 1 루트 루트 223680 17 년 2015 월 XNUMX 일 kvm-intel.ko
-rw-r-r-- 1 루트 루트 715920 17 년 2015 월 XNUMX 일 kvm.ko

Virtual Machine Manager를 설치합니다.

buzz @ sysadmin : ~ $ sudo aptitude install virt-manager
buzz 용 [sudo] 비밀번호 : 다음 새 패키지가 설치됩니다. gir1.2-gtk-vnc-2.0 {a} gir1.2-libvirt-glib-1.0 {a} gir1.2-spice-client-glib-2.0 {a} gir1.2-spice-client-gtk-3.0 {a} libvirt-glib-1.0-0 {a} python-ipaddr {a} python-libvirt {a} python-urlgrabber {a} virt-manager virt- 뷰어 {a} virtinst {a} 0 개 패키지 업데이트, 11 개 새 패키지 설치, 0 개 제거, 0 개 업데이트 안 함. 2,041kB의 파일을 다운로드해야합니다. 포장을 풀면 12.5MB가 사용됩니다. 계속 하시겠습니까? [Y / n /?] 그리고
  • 패키지를 설치 한 후 다음을 참조하십시오.
버즈 @ sysadmin : ~ $ cat /usr/share/doc/virt-manager/README.Debian 
액세스 제어 ============== libvirt 소켓에 대한 액세스는 "libvirt"그룹의 구성원에 의해 제어됩니다. 루트가 아닌 사용자로 가상 머신을 관리하려면 해당 그룹에 사용자를 추가하거나 qemu : /// session과 같은 세션 URI를 사용해야합니다. /usr/share/doc/libvirt-bin/README.Debian도 참조하십시오. -귀도 구 엔터 04 년 2010 월 11 일 목요일 46:03:0100 +XNUMX
  • 위의 내용은 사용자의 버즈를 libvirt 그룹 새로 설치된 인터페이스에 액세스하려면 :
buzz @ sysadmin : ~ $ sudo adduser buzz libvirt
사용자`buzz 'to group` libvirt'추가 중 ... 사용자 buzz를 그룹 libvirt에 추가 중입니다.
  • 이제 세션을 닫고 다시 시작합니다. Cinnamon Desktop에 들어가면 메뉴-> 관리-> 가상 머신 관리자, KVM의 관리 인터페이스에 액세스합니다. 미덕 관리자

Virtual Machine Manager의 가상 네트워크

Virtual Machine Manager는 사용하기 쉽고 일상적인 연습을 통해 사용에있어 석사 학위를 취득 할 수 있다는 사실에도 불구하고 Qemu-Kvm이 기본적으로 설치하는 가상 네트워크를 수정하는 방법.

우리는 당신의 메뉴-> 편집-> 연결 세부 정보, 탭으로 이동합니다«가상 네트워크«. 링크를 클릭하면 IPv4 구성, 빨간색, 또한 DHCP 서버가 활성화되었음을 알려줍니다. 그 서버는 패키지 덕분에 실행됩니다. dnsmasq 기반, 설치됩니다.

자세한 내용은 다음 파일을 참조하십시오. /usr/share/doc/libvirt-bin/README.Debian. 네트워크

네트워크 구성을 변경하려면«디폴트 값«, 다음과 같이 진행합니다.

buzz @ sysadmin : ~ $ sudo cp /etc/libvirt/qemu/networks/default.xml /etc/libvirt/qemu/networks/default.xml.original
버즈 @ sysadmin : ~ $ cat /etc/libvirt/qemu/networks/default.xml.original
기본 

버즈 @ sysadmin : ~ $ sudo nano /etc/libvirt/qemu/networks/default.xml
기본 

buzz @ sysadmin : ~ $ sudo systemctl restart libvirtd
buzz @ sysadmin : ~ $ sudo systemctl status libvirtd

다시 시작하기 전에 Virtual Machine Manager를 닫지 않은 경우 악마 libvirtd, 다음과 같은 오류 메시지가 표시되며 이는 정상적인 현상입니다. 오류

우리는 단지 닫아야 가상 관리자 다시 엽니 다. Virtual Networks 구성의 일부로 돌아가서 네트워크가 디폴트 값, 이미 수정 된 매개 변수가 있습니다.

네트워크 자동 시작을 활성화하는 것이 좋습니다. 디폴트 값, 확인란을 선택하여«자동화".

Virt-Manager의 스토리지

우리가 다루고 싶은 또 다른 측면은 스토리지입니다. 스토리지 Virt-Manager에서. 기본적으로 모든 가상 머신 이미지를 저장할 시스템 폴더는 다음 위치에 있습니다. / var / lib / libvirt / 이미지. 그 기능에 전적으로 전념하는 하드 드라이브가 있고이를 마운트했다고 가정 해 보겠습니다. / 홈 / vms. 추가하려면 가상 관리자, 메뉴-> 편집-> 연결 세부 정보-> 저장소를 탐색합니다. 왼쪽 하단에서«버튼을 클릭합니다.+«. 그런 다음«에 대한 마법사가 표시됩니다.저장소 버킷 만들기": 저장

선택할 수있는 다양한 유형의 스토리지를 살펴 보겠습니다. 우리가 찾을 수있는 상세한 문서 가상화 배포 및 관리 가이드, Red Hat에서. 첫 번째«dir : 파일 시스템 디렉토리". storage2

storage3

마법사가 끝나면 새 저장 탱크는 활성 상태로 유지되고 자동으로 시작됩니다.

첫 번째 가상 머신

Virt-Manager가 제공하는 다양한 옵션을 탐색하고 읽어야합니다. 나중에 표시된 이미지에서 두 번째 이미지에서 새로 생성 된 가상 머신의 에디션에 도달했을 때 설치 시작, 옵션에서«프로세서«, 우리는 상자에 표시 "구성"호스트 컴퓨터의 CPU 구성 복사. 그렇게 할 필요는 없지만 데비안의 권장 사항과 HP 서버 관행을 고수합니다.

자세한 내용은 다음 파일을 참조하십시오. /usr/share/doc/libvirt-bin/README.Debian. 생성-vm01

생성-vm02

생성-vm03

생성-vm04

생성-vm05

생성-vm06

생성-vm07

생성-vm08

생성-vm09

우리는 XNUMX 년 넘게이 가상화 플랫폼을 두 회사에서 프로덕션에 사용했습니다. 정전에도 불구하고 정상적인 컴퓨터«적응»하인 역할을하고 우리와 같은 저개발 국가에 존재할 수있는 모든 어려움을 해결하기 위해 케무-Kvm 항상 올바르게 작동했으며 여기에서 실행되는 가상 서버도 마찬가지입니다.

이 기사가 도움이 되었기를 바랍니다.

다음 배송?

«데비안의 Virsh«

이것은 일련의 기사가 될 것임을 기억하십시오. 중소기업을위한 컴퓨터 네트워크. 우리는 당신을 기다리고있을 것입니다!