ดัชนีทั่วไปของซีรี่ส์: Computer Networks for SMEs: Introduction
ในเดือนพฤษภาคม 2013 เราได้เผยแพร่ในบล็อกนี้ สองบทความ ทุ่มเทให้กับการติดตั้ง Qemu-Kvm ใน Debian 7 «ดังเสียงฮืด ๆ«. พวกเขายังคงใช้ได้ เนื่องจากภูมิทัศน์ของการติดตั้งและการกำหนดค่าใน Debian 8 "Jessie" มีการเปลี่ยนแปลงเล็กน้อยเราจึงต้องการอัปเดตขั้นตอน
มันจะเป็นอื่นไปไม่ได้นอกจากก่อนที่จะดื่มด่ำกับการอ่านสิ่งนี้ ทำอย่างไรพวกเขาจะไปที่บทความก่อนหน้านี้ Virtualization ใน Debian: บทนำ - เครือข่ายคอมพิวเตอร์สำหรับ SMBเพื่อให้มีพื้นหลังเล็กน้อยในเรื่อง
ไซต์ที่เราแนะนำให้ไป
- เครื่องเสมือนที่ใช้เคอร์เนล
- hypervisor
- ดัชนีเอกสาร Red Hat
- คู่มือการเริ่มต้นใช้งาน Virtualization
- คู่มือการปรับใช้และการดูแลระบบ Virtualization
- คู่มือการปรับแต่งและเพิ่มประสิทธิภาพ Virtualization
- คู่มือการรักษาความปลอดภัย Virtualization
- การแปลงเครื่องเสมือนจากไฮเปอร์ไวเซอร์อื่นเป็น KVM ด้วย Virt-v2v
- โครงการ Libvirt
- องค์กร Virt-Manager
- องค์กร Linux KVM
- องค์กร Qemu
การสังเกต
- เราคัดลอกผลลัพธ์ของคำสั่งเนื่องจากมีการสอนมากกว่าองค์ประกอบอื่น ๆ ที่เขียนโดยเรา เราขอแนะนำให้คุณอ่านข้อความของเอกสารต่างๆอย่างละเอียดเนื่องจากเป็นวิธีที่ดีที่สุดวิธีหนึ่งในการเรียนรู้โดยไม่ต้องไปที่การค้นหาทางอินเทอร์เน็ต อย่างน้อยนั่นคือความคิดเห็นของเรา
การติดตั้ง
เราเริ่มจากการติดตั้ง Debian "Jessie" ขั้นพื้นฐานอย่างที่เราเห็น การติดตั้งเวิร์กสเตชัน - เครือข่ายคอมพิวเตอร์สำหรับ SMEs. จากนั้นเราติดตั้งเดสก์ท็อปหรือเดสก์ท็อปที่เราต้องการตามที่เราเห็น 6 Debian Desktops - เครือข่ายคอมพิวเตอร์สำหรับ SMEs.
สำหรับบทความนี้เราเลือกไฟล์ เดสก์ท็อปอบเชย- เราเลือกมันเพราะผู้อ่านหลายคนชอบสภาพแวดล้อมเดสก์ท็อปนี้
ข้อมูลทั่วไปของเวิร์กสเตชันของเราคือ:
ชื่อโดเมน: desdelinux.พัดลม ชื่อทีม: ดูแลระบบ FQDN: ผู้ดูแลระบบdesdelinux.พัดลม ที่อยู่ IP: 192.168.10.3 ซับเน็ต: 192.168.10.0/24 ผู้ใช้ปกติ: ฉวัดเฉวียน ชื่อ - นามสกุลของผู้ใช้: Debian OS ตัวแรกของ Buzz
เราตรวจสอบการรองรับการจำลองเสมือน
ในคอนโซลเราดำเนินการ:
buzz @ sysadmin: ~ $ egrep -c "(svm | vmx)" / proc / cpuinfo 2
ในกรณีของเราคำสั่งส่งกลับเราว่าเรามีซีพียู 2 ตัวพร้อมการสนับสนุนที่เหมาะสม
แพ็คเกจที่เราจะติดตั้ง
ก่อนอื่นเราพบว่าเรากำลังจะติดตั้งโดยใช้คำสั่งต่อไปนี้:
buzz @ sysadmin: ~ $ aptitude search kvm p ikvm - เครื่องเสมือน Java สำหรับ CLI v kvm - p libicsharpcode-nrefactory-ikvm5 - C # Parsing and Refactoring Library - IKVM p libikvm-native - เนทีฟไลบรารีสำหรับ IKVM.NET p nova-compute-kvm - OpenStack Compute - compute node (KVM) p qemu-kvm - QEMU Full virtualization บนฮาร์ดแวร์ x86 buzz @ sysadmin: ~ $ aptitude show nova-compute-kvm แพ็คเกจ: nova-compute-kvm ใหม่: ใช่ สถานะ: ยังไม่ได้ติดตั้ง เวอร์ชัน: 2014.1.3-11 ความสำคัญ: พิเศษ หมวดหมู่: net ผู้พัฒนา: PKG OpenStack[ป้องกันอีเมล]> สถาปัตยกรรม: ทั้งหมด ขนาดไฟล์ที่ไม่ได้บีบอัด: 50.2 KB ขึ้นอยู่กับ: 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 เป็นโครงสร้างพื้นฐานคลาวด์ที่เชื่อถือได้ พันธกิจของมันคือการสร้างแพลตฟอร์มการประมวลผลคลาวด์ที่แพร่หลายซึ่งจะตอบสนองความต้องการของผู้ให้บริการคลาวด์สาธารณะและส่วนตัวโดยไม่คำนึงถึงขนาด โดยทำให้ง่ายต่อการใช้งานและปรับขนาดได้อย่างมหาศาล OpenStack Compute หรือที่รู้จักในชื่อ Nova คือตัวควบคุมโครงสร้างพื้นฐานการประมวลผลแบบคลาวด์ที่ออกแบบมาให้เป็นแบบโมดูลาร์ ขยาย และปรับแต่งได้ง่าย นอกเหนือจาก API ของ OpenStack เองแล้ว ยังรองรับ API ของ Amazon EC2 และรองรับฐานข้อมูลแบ็กเอนด์ที่หลากหลาย (รวมถึง SQLite, MySQL และ PostgreSQL) ไฮเปอร์ไวเซอร์ (KVM, Xen) และระบบไดเร็กทอรีผู้ใช้ (LDAP, SQL) นี่คือแพ็คเกจที่จำเป็นสำหรับโหนดประมวลผลที่ใช้ KVM หน้าแรก: http://www.openstack.org/software/openstack-compute/
- เราจะไม่ติดตั้งแพ็คเกจ OpenStackเนื่องจากเราไม่ต้องการโครงสร้างพื้นฐานการจำลองเสมือนทั้งหมดสำหรับคลาวด์ - เมฆ-
buzz @ sysadmin: ~ $ aptitude show qemu-kvm แพ็คเกจ: qemu-kvm ใหม่: ใช่ สถานะ: ถอนการติดตั้ง รองรับหลายสถาปัตยกรรม: ต่างประเทศ เวอร์ชัน: 1:2.1+dfsg-12+deb8u1 ลำดับความสำคัญ: ไม่บังคับ หมวดหมู่: อื่นๆ ผู้พัฒนา: ทีม Debian QEMU[ป้องกันอีเมล]> สถาปัตยกรรม: amd64 ขนาดเมื่อไม่บีบอัด: 60.4 kJ ขึ้นอยู่กับ: 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 เป็นโปรแกรมจำลองโปรเซสเซอร์ที่รวดเร็ว แพ็คเกจนี้มีเพียงสคริปต์ห่อหุ้ม /usr/bin/kvm ซึ่งเรียกใช้ qemu-system-x86 ในโหมด kvm เพื่อความเข้ากันได้กับเวอร์ชันเก่า โปรดทราบว่าไฟล์การกำหนดค่า qemu-kvm เก่า (ใน /etc/kvm/) ไม่ได้ใช้งานอีกต่อไปแล้ว
หน้าหลัก: http://www.qemu.org/
เราติดตั้งแพลตฟอร์มการจำลองเสมือน Qemu-Kvm
buzz @ sysadmin: ~ $ sudo aptitude ติดตั้ง qemu-kvm libvirt-bin bridge-utils
จะมีการติดตั้งแพ็คเกจใหม่ต่อไปนี้:
augeas-lens {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 - โปรแกรม {a} seabios {a} vbetool {a} 0 แพ็คเกจที่อัปเดต, ติดตั้งใหม่ 42 รายการ, 0 ที่จะลบและ 0 ไม่อัปเดต ฉันต้องการดาวน์โหลดไฟล์ 8,422 kB / 14.8 MB หลังจากแกะกล่องแล้วจะใช้ 53.3 MB คุณต้องการดำเนินการต่อหรือไม่ [Y / n /?] และ
สำคัญ
- ในขณะที่เรากำลังติดตั้งบนเดสก์ท็อปเราจะต้องมีอินเทอร์เฟซเพื่อจัดการ KVM หากเรากำลังติดตั้งบนเซิร์ฟเวอร์ตั้งแต่หนึ่งเครื่องขึ้นไปทั้งการติดตั้งเดสก์ท็อปและการติดตั้ง ผู้จัดการเครื่องเสมือน, ที่เราจะติดตั้งในภายหลัง Cในอินสแตนซ์เดียวของอินเทอร์เฟซแบบกราฟิกนี้เราสามารถจัดการเซิร์ฟเวอร์ทั้งหมดที่เราติดตั้งแพ็คเกจไว้ได้ qemu-kvm, libvirt-bin y สะพานใช้.
- ปีศาจหลัก - ภูต ของ virtualization คือ libvirtd. หากต้องการทราบสถานะเราดำเนินการ:
buzz @ sysadmin: ~ $ sudo systemctl สถานะ libvirtd buzz @ sysadmin: ~ $ sudo บริการสถานะ libvirtd
- หากในผลลัพธ์ของคำสั่งใด ๆ ข้างต้นเราอ่านบางบรรทัดเป็นสีแดงการเริ่มบริการใหม่จะดีกว่า libvirtd และตรวจสอบอีกครั้งหรือรีสตาร์ทคอมพิวเตอร์และตรวจสอบ เขา ต้นฉบับlibvirtd.service ใครขับ systemdอยู่ใน /lib/systemd/system/libvirtd.service. โปรดทราบว่าเราสามารถเรียกปีศาจตัวนั้นในแบบเก่าได้เช่นกันนั่นคือ:
buzz @ sysadmin: ~ $ sudo บริการ libvirtd
การใช้งาน: /etc/init.d/libvirtd {start | stop | restart | reload | force-reload | status | force-stop}
buzz @ sysadmin: ~ $ sudo service libvirtd รีสตาร์ท buzz @ sysadmin: ~ $ sudo service libvirtd status
● libvirtd.service - ดีมอนการจำลองเสมือน
โหลดแล้ว: โหลด (/lib/systemd/system/libvirtd.service; เปิดใช้งาน)
คล่องแคล่ว: ใช้งานอยู่ (วิ่ง) ตั้งแต่อาทิตย์ 2016-11-27 11:23:53 EST; 8 นาทีที่แล้ว Docs: man: libvirtd (8) http://libvirt.org Main PID: 1112 (libvirtd) CGroup: /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) คล่องแคล่ว: ใช้งานอยู่ (ออก) ตั้งแต่อาทิตย์ 2016-11-27 11:18:17 EST; 18 นาทีที่แล้วกระบวนการ: 172 ExecStart = / etc / init.d / qemu-system-x86 start (code = exited, status = 0 / SUCCESS)
- หากเราสงสัยและต้องการทราบว่าโมดูลใดและตำแหน่งที่ตั้งของโมดูลใดเราดำเนินการดังนี้:
buzz @ sysadmin: ~ $ sudo updatedb buzz @ sysadmin: ~ $ locate 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 buzz @ sysadmin: ~ $ ls -l /lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/ รวม 1016 -rw-r - r-- 1 root root 97120 ก.ค. 17 2015 kvm-amd.ko -rw-r - r-- 1 รูท 223680 17 ก.ค. 2015 kvm-intel.ko -rw-r - r-- 1 รูท 715920 17 ก.ค. 2015 kvm.ko
เราติดตั้ง Virtual Machine Manager
buzz @ sysadmin: ~ $ sudo aptitude ติดตั้ง Virt-manager
[sudo] รหัสผ่านสำหรับ Buzz: แพ็คเกจใหม่ต่อไปนี้จะถูกติดตั้ง: 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,041 kB หลังจากแกะกล่องแล้วจะใช้ 12.5 MB คุณต้องการดำเนินการต่อหรือไม่ [Y / n /?] และ
- หลังจากติดตั้งแพคเกจแล้วเราจะปรึกษา:
buzz @ sysadmin: ~ $ cat /usr/share/doc/virt-manager/README.Debian การควบคุมการเข้าถึง ============== การเข้าถึงซ็อกเก็ต libvirt ถูกควบคุมโดยการเป็นสมาชิกในกลุ่ม "libvirt" หากคุณต้องการจัดการเครื่องเสมือนในฐานะที่ไม่ใช่ root คุณต้องเพิ่มผู้ใช้ของคุณลงในกลุ่มนั้น หรือคุณต้องใช้ URI เซสชัน เช่น qemu:///session ดูเพิ่มเติมที่ /usr/share/doc/libvirt-bin/README.Debian -- Guido Guenther[ป้องกันอีเมล]> พฤ. 04 มิ.ย. 2010 11:46:03 +0100
- ข้างต้นบ่งชี้ว่าเราต้องทำให้ผู้ใช้ Buzz เป็นสมาชิกของไฟล์ กลุ่ม libvirt เพื่อเข้าถึงอินเทอร์เฟซที่ติดตั้งใหม่:
buzz @ sysadmin: ~ $ sudo adduser buzz libvirt การเพิ่มผู้ใช้ 'buzz' ในกลุ่ม 'libvirt' ... การเพิ่มผู้ใช้ buzz ไปยังกลุ่ม libvirt Done
- ตอนนี้เราปิดเซสชันและเริ่มต้นใหม่อีกครั้ง หลังจากเข้าสู่ 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 buzz @ sysadmin: ~ $ cat /etc/libvirt/qemu/networks/default.xml.original ค่าเริ่มต้น buzz @ sysadmin: ~ $ sudo nano /etc/libvirt/qemu/networks/default.xml ค่าเริ่มต้น buzz @ sysadmin: ~ $ sudo systemctl รีสตาร์ท libvirtd buzz @ sysadmin: ~ $ sudo systemctl สถานะ libvirtd
หากเราไม่ได้ปิด Virtual Machine Manager ก่อนที่จะรีสตาร์ทไฟล์ ปิศาจ libvirtdเราจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้ซึ่งเป็นเรื่องปกติที่จะเกิดขึ้น:
เราต้องปิดไฟล์ Virt- ผู้จัดการ แล้วเปิดใหม่ เรากลับไปที่ส่วนของการกำหนดค่าเครือข่ายเสมือนและเราตรวจสอบว่าเครือข่าย ผิดนัดคุณมีพารามิเตอร์ที่แก้ไขแล้ว
เราขอแนะนำให้เปิดใช้งานการเริ่มต้นเครือข่ายโดยอัตโนมัติ ผิดนัดโดยทำเครื่องหมายที่ช่อง«ปรับอัตโนมัติ"
ที่เก็บข้อมูลใน Virt-Manager
อีกแง่มุมหนึ่งที่เราอยากสัมผัสคือพื้นที่เก็บข้อมูล - พื้นที่จัดเก็บ ใน Virt-Manager ตามค่าเริ่มต้นโฟลเดอร์ระบบที่จะบันทึกอิมเมจเครื่องเสมือนทั้งหมดจะอยู่ที่ / var / lib / libvirt / images. สมมติว่าเรามีฮาร์ดไดรฟ์สำหรับฟังก์ชันนั้นโดยเฉพาะและเราได้ติดตั้งไว้ / home / vms. เพื่อเพิ่มลงใน Virt- ผู้จัดการเราไปที่เมนู -> แก้ไข -> รายละเอียดการเชื่อมต่อ -> ที่เก็บข้อมูล ที่มุมล่างซ้ายเราคลิกที่ปุ่ม«+«. จากนั้นตัวช่วยสร้างสำหรับ«สร้างที่เก็บข้อมูล":
มาดูประเภทของพื้นที่จัดเก็บข้อมูลที่เราสามารถเลือกได้ เราจะพบเอกสารโดยละเอียด คู่มือการปรับใช้และการดูแลระบบ Virtualizationจาก Red Hat เราจะเลือก«แรกdir: ไดเรกทอรีระบบไฟล์"

ในตอนท้ายของตัวช่วยสร้างถังเก็บข้อมูลใหม่จะทำงานอยู่และจะเริ่มทำงานโดยอัตโนมัติ
เครื่องเสมือนเครื่องแรก
เราต้องสำรวจและอ่านตัวเลือกต่างๆที่ Virt-Manager นำเสนอ ให้เราสังเกตในภาพสุดท้ายของภาพที่แสดงในภายหลังว่าเมื่อเราไปถึงรุ่นของเครื่องเสมือนที่สร้างขึ้นใหม่และก่อนหน้านี้ เริ่มการติดตั้งในตัวเลือก«หน่วยประมวลผล«เราทำเครื่องหมายในช่อง "Configuration" คัดลอกการกำหนดค่า CPU ของโฮสต์คอมพิวเตอร์. อาจไม่จำเป็นต้องทำเช่นนั้น แต่เรายึดมั่นในคำแนะนำของ Debian และแนวปฏิบัติเซิร์ฟเวอร์ HP ของเรา
สำหรับข้อมูลเพิ่มเติมโปรดดูไฟล์: /usr/share/doc/libvirt-bin/README.Debian.








เราจะเพิ่มสิ่งนั้นเป็นเวลานานกว่าสามปีแล้วที่เรามีแพลตฟอร์มการจำลองเสมือนนี้ในการผลิตในสอง บริษัท แม้ไฟดับคอมพิวเตอร์ปกติ«ดัดแปลง»ในการทำหน้าที่เป็นคนรับใช้และความยากลำบากทั้งหมดที่อาจเกิดขึ้นในประเทศที่ด้อยพัฒนาเช่นเรา Qemu-Kvm มันทำงานได้อย่างถูกต้องตลอดจนเซิร์ฟเวอร์เสมือนที่ทำงานอยู่
เราหวังว่าบทความนี้จะเป็นประโยชน์สำหรับคุณ
จัดส่งครั้งต่อไป?
«Virsh บน Debian«
โปรดจำไว้ว่านี่จะเป็นชุดของบทความโดย เครือข่ายคอมพิวเตอร์สำหรับ SMEs. เราจะรอคุณอยู่!