การติดตั้งระบบเสมือนจริง KVM บน CentOS การติดตั้ง CentOS ใน VirtualBox การติดตั้ง KVM บนเซิร์ฟเวอร์ของเรา


งาน: ติดตั้ง เซนโอเอส 7ไปยังเครื่องเสมือน ไฮเปอร์-วี รุ่นที่สอง(รุ่นที่ 2). ขั้นแรก ไปที่เว็บไซต์อย่างเป็นทางการของ CentOS และดาวน์โหลดอิมเมจ ISO ของระบบเวอร์ชันที่ต้องการ

1. สร้างเครื่องเสมือน

มาสร้างเครื่องเสมือนใหม่ใน Hyper-V มาตั้งชื่อกัน เช่น VM-CentOS

ในขั้นตอนถัดไปเราจะแจ้งให้ทราบว่าจะเป็น เครื่องเสมือนรุ่นที่สอง(รุ่นที่ 2).

จากนั้น "กำหนดค่าเครือข่าย" - เลือกการเชื่อมต่อ - LAN

ตอนนี้ "เชื่อมต่อฮาร์ดดิสก์เสมือน" - เลือกที่จะสร้างดิสก์ใหม่ (สร้างฮาร์ดดิสก์เสมือน) และตั้งค่าขนาด ชื่อ และที่ตั้ง ตัวอย่างเช่น VM-CentOS.vhdx

ถัดไป “ ตัวเลือกการติดตั้ง” - เลือกการติดตั้งระบบจากอิมเมจ (ติดตั้งระบบปฏิบัติการจากไฟล์อิมเมจที่สามารถบู๊ตได้) ซึ่งจะต้องดาวน์โหลดเป็นไฟล์ iso จากเว็บไซต์ CentOS อย่างเป็นทางการและระบุให้อนุญาต (ไฟล์อิมเมจ iso)

เครื่องเสมือนได้ถูกสร้างขึ้นแล้ว

คลิกขวาเพื่อไปที่การตั้งค่าเครื่อง (Settings) ในบล็อกฮาร์ดแวร์ เลือกเฟิร์มแวร์ และยกเลิกการเลือก " เปิดใช้งาน บูตอย่างปลอดภัย ".

หากยังไม่เสร็จสิ้น ข้อผิดพลาดต่อไปนี้จะปรากฏขึ้นเมื่อเริ่มต้นระบบ: " การบูตล้มเหลว อุปกรณ์ EFI SCSI การตรวจสอบการบูตอย่างปลอดภัยล้มเหลว."

2. การติดตั้ง CentOS 7 ไปยังเครื่องเสมือนที่สร้างขึ้น

ตอนนี้เราสตาร์ทรถ (Start) หน้าต่างต้อนรับตัวติดตั้ง CentOS จะปรากฏขึ้น หากจำเป็นเราจะเพิ่มภาษารัสเซีย

ตอนนี้คุณสามารถทำการตั้งค่าเบื้องต้นได้แล้ว

ไปที่ปุ่ม "คีย์บอร์ด" กัน ที่นี่เราสามารถเปลี่ยนพารามิเตอร์โครงร่างได้หากจำเป็น (เช่น ภาษาอังกฤษเลื่อนขึ้น เปลี่ยนคีย์เค้าโครง เช่น เป็นการรวมกัน "Ctrl+Shift")

คลิกปุ่ม "เลือกโปรแกรม" เพื่อเลือก ซอฟต์แวร์โดยคุณสามารถระบุแพ็คเกจที่จะติดตั้งล่วงหน้าได้ พารามิเตอร์เหล่านี้ขึ้นอยู่กับสิ่งที่คุณวางแผนจะใช้ในอนาคตอย่างมาก ระบบนี้. หากประสิทธิภาพเป็นสิ่งสำคัญ คุณสามารถเลือก "การติดตั้งขั้นต่ำ" จากนั้นเลือก "ติดตั้ง" ส่วนประกอบที่จำเป็นทั้งหมดใหม่

เมื่อวางแผนที่จะใช้เครื่อง CentOS สำหรับการโฮสต์เว็บไซต์ คุณสามารถตั้งค่าตัวเลือก “เว็บเซิร์ฟเวอร์มาตรฐาน” และยังเพิ่ม เช่น “การสนับสนุน PHP” “ไคลเอนต์ MariaDB” และอื่นๆ ได้

ในกรณีที่จำเป็น กุยจากนั้นคุณสามารถเลือก "สภาพแวดล้อม GNOME" หรือ "พื้นที่ทำงานพลาสมาของ KDE" เพิ่มเข้าไป " ชุดสำนักงาน"และอื่นๆ.

ตอนนี้เรามาตั้งค่าพารามิเตอร์เครือข่ายกัน ไปที่ "เครือข่ายและชื่อโฮสต์" ตั้งชื่อโฮสต์และเปิดเครือข่ายโดยใช้ปุ่มตัวเลือกด้านบนขวา

ตอนนี้คลิก "เริ่มการติดตั้ง"

ขณะที่อยู่ใน พื้นหลังอยู่ระหว่างการติดตั้ง เราจะตั้งรหัสผ่านที่จำเป็นสำหรับการเข้าถึง

คลิก "รหัสผ่านรูท" และตั้งรหัสผ่านสำหรับบัญชีผู้ดูแลระบบ

หากจำเป็น ให้สร้างผู้ใช้

ตอนนี้เรารอให้การติดตั้ง CentOS 7 เสร็จสิ้น

คลิก "เสร็จสิ้นการตั้งค่า" และรอให้กระบวนการติดตั้งเสร็จสิ้น หลังจากนี้ คุณจะได้รับแจ้งให้รีบูต

3. การตรวจสอบการสร้างเครื่องเสมือน

หลังจากรีบูต ให้ป้อนรหัสผ่านเข้าสู่ระบบที่สร้างไว้ก่อนหน้านี้

หมายเหตุสำหรับผู้ที่ติดตั้ง ระบบลินุกซ์เป็นครั้งแรก: รหัสผ่านจะไม่ปรากฏบนหน้าจอเมื่อป้อน

ต่อไป เรามาตรวจสอบว่าเครื่องเสมือนที่สร้างขึ้นนั้นเป็นเครื่องรุ่นที่สอง (รุ่นที่ 2) จริงหรือไม่ เมื่อต้องการทำเช่นนี้ เรามารันบนไฮเปอร์ไวเซอร์กันดีกว่า วินโดว์ PowerShellและรันคำสั่งต่อไปนี้ (แทน "VM-CentOS" ให้ป้อนชื่อเครื่องของคุณ):

รับ-vm VM-CentOS | ชื่อชั้นรุ่น

ตรวจสอบให้แน่ใจว่าระบุรุ่น 2 แล้ว การติดตั้งเสร็จสมบูรณ์

การตรวจสอบ คำขอ HTTP เว็บเซิร์ฟเวอร์ IISใช้พู้ทำเล่น

คูบู. บทที่ 1: บทนำ

กำลังเตรียมเซิร์ฟเวอร์

การตรวจสอบการสนับสนุนจากโปรเซสเซอร์:

แมว /proc/cpuinfo | egrep "(vmx|svm)"

หากคำสั่งไม่ส่งคืนสิ่งใด แสดงว่าเซิร์ฟเวอร์ไม่รองรับการจำลองเสมือนหรือถูกปิดใช้งานในการตั้งค่า BIOS สามารถติดตั้ง KVM บนเซิร์ฟเวอร์ดังกล่าวได้ แต่เมื่อเราพยายามป้อนคำสั่งควบคุมไฮเปอร์ไวเซอร์ เราจะได้รับข้อผิดพลาด “คำเตือน การเร่งความเร็ว KVM ไม่พร้อมใช้งาน โดยใช้ "qemu"" ในกรณีนี้ คุณต้องรีบูตเซิร์ฟเวอร์ เข้าสู่ BIOS ค้นหาการสนับสนุนสำหรับเทคโนโลยีการจำลองเสมือน (Intel VT หรือ AMD-V) และเปิดใช้งาน

มาสร้างไดเร็กทอรีที่เราจะจัดเก็บทุกอย่างที่เกี่ยวข้องกับการจำลองเสมือน (อันที่เสนอโดยค่าเริ่มต้นนั้นไม่สะดวก):

mkdir -p /kvm/(รูปภาพ, iso)

* แคตตาล็อก /kvm/รูปภาพสำหรับ ดิสก์เสมือน; /kvm/iso- สำหรับภาพ ISO

การติดตั้งและการเปิดตัว

การติดตั้งจะดำเนินการจากที่เก็บด้วยคำสั่งต่อไปนี้:

yum ติดตั้ง qemu-kvm libvirt virt-install

* ที่ไหน qemu-kvm— ไฮเปอร์ไวเซอร์นั้นเอง; libvirt— ไลบรารีการจัดการการจำลองเสมือน virt-ติดตั้ง— ยูทิลิตี้สำหรับจัดการเครื่องเสมือน

อนุญาตให้เริ่มอัตโนมัติ:

systemctl เปิดใช้งาน libvirtd

เปิดตัว KVM:

systemctl เริ่ม libvirtd

การกำหนดค่าเครือข่าย

ในคู่มือนี้เราจะดูการใช้บริดจ์เครือข่าย

การตั้งค่า สะพานเครือข่ายผ่าน การเชื่อมต่อระยะไกลให้ตรวจสอบข้อมูลที่ป้อนอย่างระมัดระวัง หากเกิดข้อผิดพลาด การเชื่อมต่อจะถูกยกเลิก

ติดตั้งแพ็คเกจเพื่อทำงานกับบริดจ์:

ยำติดตั้ง Bridge-utils

ลองดูรายการอินเทอร์เฟซเครือข่ายและการตั้งค่า:

ในตัวอย่างของฉัน ฉันมีข้อมูลต่อไปนี้:

1:แท้จริง: mtu 65536 qdisc noqueue state UNKNOWN qlen 1
ลิงก์/ลูปแบ็ค 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 โฮสต์ขอบเขตแท้จริง

inet6::1/128 โฮสต์ขอบเขต
valid_lft ตลอดไปที่ต้องการ_lft ตลอดไป
2: enp4s0f0: mtu 1500 qdisc pfifo_fast สถานะ UP qlen 1,000

inet 192.168.1.24/24 brd 192.168.1.255 ขอบเขต enp4s0f0 ทั่วโลก
valid_lft ตลอดไปที่ต้องการ_lft ตลอดไป

valid_lft ตลอดไปที่ต้องการ_lft ตลอดไป
3: enp5s5:

4: virbr0:


valid_lft ตลอดไปที่ต้องการ_lft ตลอดไป
5: virbr0-nic:
ลิงค์ / อีเทอร์ 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff

* สิ่งเหล่านี้มีความสำคัญสำหรับเรา enp4s0f0- อินเทอร์เฟซเครือข่ายจริงพร้อมที่อยู่ IP ที่กำหนดค่า 192.168.1.24 ซึ่งเซิร์ฟเวอร์เชื่อมต่อผ่าน เครือข่ายท้องถิ่น(เราจะสร้างสะพานจากมัน) 00:16:76:04:26:c6— ที่อยู่ mac ของอะแดปเตอร์อีเธอร์เน็ตจริง virbr0- อะแดปเตอร์เครือข่ายเสมือน

การแก้ไขการตั้งค่าของอะแดปเตอร์จริง:

vi /etc/sysconfig/เครือข่ายสคริปต์/ifcfg-enp4s0f0

มาสร้างเป็นรูปร่างกันเถอะ:

เปิดบูต=ใช่
สะพาน=br0
TYPE=อีเทอร์เน็ต
อุปกรณ์=enp4s0f0
บูตโปรโต=ไม่มี

สร้างอินเทอร์เฟซสำหรับบริดจ์เครือข่าย:

vi /etc/sysconfig/network-scripts/ifcfg-br0

อุปกรณ์=br0
ประเภท=สะพาน
เปิดบูต=ใช่
BOOTPROTO=คงที่
IPADDR=192.168.1.24
เน็ตมาสค์=255.255.255.0
เกตเวย์=192.168.1.1
DNS1=8.8.8.8
DNS2=77.88.8.8

เริ่มบริการเครือข่ายใหม่:

systemctl รีสตาร์ทเครือข่าย

การตั้งค่าเครือข่ายจะต้องเปลี่ยน - ในกรณีของฉัน:

2: enp4s0f0: mtu 1500 qdisc pfifo_fast master br0 สถานะ UP qlen 1,000
ลิงค์ / อีเธอร์ 00:16:76:04:26:c6 brd ff:ff:ff:ff:ff:ff
3: enp5s5: mtu 1500 สถานะ qdisc pfifo_fast ลง qlen 1,000
ลิงค์ / อีเธอร์ 00:16:76:04:26:c7 brd ff:ff:ff:ff:ff:ff
4: virbr0: mtu 1500 qdisc ไม่มีสถานะคิวลง qlen 1000
ลิงค์ / อีเทอร์ 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 ขอบเขต virbr0 ทั่วโลก
valid_lft ตลอดไปที่ต้องการ_lft ตลอดไป
5: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 สถานะลง qlen 1,000
ลิงค์ / อีเทอร์ 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff
6:br0: mtu 1500 qdisc ไม่มีสถานะคิว UP qlen 1000
ลิงค์ / อีเธอร์ 00:16:76:04:26:c6 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.24/24 brd 192.168.1.255 ขอบเขต global br0
valid_lft ตลอดไปที่ต้องการ_lft ตลอดไป
ลิงก์ขอบเขต inet6 fe80::216:76ff:fe04:26c6/64
valid_lft ตลอดไปที่ต้องการ_lft ตลอดไป

เรายืนยันในการเปลี่ยนเส้นทางการรับส่งข้อมูลเครือข่าย:

vi /etc/sysctl.d/99-sysctl.conf

net.ipv4.ip_forward=1

ใช้การตั้งค่า:

sysctl -p /etc/sysctl.d/99-sysctl.conf

รีสตาร์ท libvirtd:

systemctl รีสตาร์ท libvirtd

การสร้างเครื่องเสมือน

มาดูตัวเลือกที่ใช้ได้สำหรับระบบปฏิบัติการเกสต์:

หากต้องการสร้างเครื่องเสมือนเครื่องแรก ให้ป้อนคำสั่งต่อไปนี้:

virt-ติดตั้ง -n FirstTest\
--ไม่มีคอนโซลอัตโนมัติ\
--เครือข่าย=สะพาน:br0 \
--แรม 1,024 --arch=x86_64 \
--vcpus=1 --cpu โฮสต์ --check-cpu \
--disk path=/kvm/images/FirstTest-disk1.img,size=16 \
--cdrom /kvm/iso/CentOS-7-x86_64-Minimal-1611.iso \
--graphics vnc,ฟัง=0.0.0.0,รหัสผ่าน=my_password \
--os-type linux --os-variant=rhel7 --boot cdrom,hd,menu=on

  • การทดสอบครั้งแรก -ชื่อของเครื่องที่กำลังสร้าง
  • ไม่มีออโต้คอนโซล —ไม่เชื่อมต่อกับคอนโซลเครื่องเสมือนโดยอัตโนมัติหลังจากการสร้าง
  • เครือข่าย -ประเภทเครือข่าย (ในตัวอย่างของเรา สะพานเครือข่าย)
  • แกะ -ปริมาณ หน่วยความจำเข้าถึงโดยสุ่มซึ่งจะถูกเน้น;
  • วีพัส —จำนวนโปรเซสเซอร์เสมือน
  • ดิสก์ - ดิสก์เสมือน: เส้นทาง — เส้นทางไปยังดิสก์; ขนาด — ปริมาณ;
  • ซีดีรอม -ไดรฟ์เสมือนพร้อมอิมเมจระบบ
  • กราฟิกพารามิเตอร์การเชื่อมต่อกับเครื่องเสมือนโดยใช้คอนโซลกราฟิก (ใน ในตัวอย่างนี้ใช้วีเอ็นซี); ฟัง — ที่อยู่ใดที่ได้รับคำขอ vnc (ในตัวอย่างของเราทั้งหมด) รหัสผ่าน — รหัสผ่านสำหรับการเชื่อมต่อโดยใช้ vnc;
  • ระบบปฏิบัติการตัวแปร —ระบบปฏิบัติการของแขก (เราได้รับรายการทั้งหมดพร้อมคำสั่ง osinfo-แบบสอบถามระบบปฏิบัติการในตัวอย่างนี้เราติดตั้ง Rev Hat 7 / CentOS 7)

อนุญาตให้เริ่มอัตโนมัติสำหรับ VM ที่สร้างขึ้น:

virsh เริ่มอัตโนมัติการทดสอบครั้งแรก

กำลังเชื่อมต่อกับเครื่องเสมือน

หากต้องการติดตั้งระบบปฏิบัติการเพิ่มเติม ให้ดาวน์โหลดไคลเอนต์ VNC ไปยังคอมพิวเตอร์ของผู้ดูแลระบบ เช่น TightVNC และติดตั้ง

บนเซิร์ฟเวอร์ เราจะดูว่าพอร์ตใดที่เครื่องที่สร้างขึ้นฟัง VNC บน:

virsh vncdisplay การทดสอบครั้งแรก

ในกรณีของฉันมันคือ:

ซึ่งหมายความว่าคุณต้องเพิ่ม 0 ถึง 5900 หากผลลัพธ์ของคำสั่งคือ: 1 - 5900 + 1 = 5901 เป็นต้น

เปิดพอร์ตบนไฟร์วอลล์:

ไฟร์วอลล์-cmd --ถาวร --add-port=5900-5905/tcp

ไฟร์วอลล์-cmd --reload

* ในตัวอย่างนี้ 6 พอร์ต tcp จาก 5900 ก่อน 5905 .

เราเปิดตัว TightVNC Viewer ที่ติดตั้งไว้ในหน้าต่างที่เปิดขึ้นให้ป้อนที่อยู่ IP ของเซิร์ฟเวอร์ KVM และพอร์ตที่ VM ของเรากำลังฟัง (ในตัวอย่างนี้ 5900):

คลิก เชื่อมต่อ. โปรแกรมจะถามรหัสผ่าน - ป้อนรหัสผ่านที่คุณระบุเมื่อสร้าง VM (ในตัวอย่างนี้ my_password). เราจะเชื่อมต่อกับเครื่องเสมือนราวกับว่ามีจอภาพหรือคอนโซล KVM ระยะไกลเชื่อมต่ออยู่

ผู้ดูแลระบบและรหัสผ่านที่สร้างขึ้นเมื่อดำเนินการคำสั่ง การตั้งค่าเครื่องยนต์. หลังจากเข้าสู่ระบบสำเร็จ คุณสามารถจัดการเครื่องเสมือนผ่านเว็บอินเตอร์เฟสได้

เล่นเกมต่อด้วยการจัดระเบียบ Windows เสมือนบนเซิร์ฟเวอร์เฉพาะ ฉันตัดสินใจลองใช้ KVM เพราะจนถึงขณะนั้นผลิตภัณฑ์ VMware และ VirtualBox ก็เพียงพอแล้ว จากนั้นในฟอรัมแห่งหนึ่งฉันได้อ่านคำด่าว่าด้วยความโกรธของสหายเกี่ยวกับความจริงที่ว่ามีเพียงคนโง่เท่านั้นที่ติดตั้ง VirtualBox ที่พวกเขาสามารถติดตั้ง KVM ได้

ฉันตัดสินใจลองดู ฉันต้องบอกว่าในความเข้าใจของฉัน VIrtualBox นั้นน่าเบื่อกว่าการติดตั้ง KVM เล็กน้อย แต่จัดการได้ง่ายกว่าและไม่มีโรคริดสีดวงทวารในการตั้งค่ากริดแม้ว่าฟังก์ชันการทำงานอาจด้อยกว่าก็ตาม สิ่งเดียวกันนี้ไม่สามารถพูดได้เกี่ยวกับ ESXi แต่สิ่งแรกก่อน

ฉันติดตั้งมันเป็นมาตรฐานบน CentOS 6.7 ดังนั้นเราจึงเริ่มต้นด้วยการอัปเดตระบบ:
# yum -y อัปเดต

เราดูว่าโปรเซสเซอร์รองรับการจำลองเสมือนสำหรับฮาร์ดแวร์หรือไม่ เนื่องจาก KVM ต้องการการสนับสนุน Intel VT หรือ AMD-V สำหรับการดำเนินการ
# egrep -i "vmx|svm" --color=always /proc/cpuinfo
เอาต์พุตจะต้องมี vmx หรือ svm

เราดูสถานะของการควบคุมการเข้าถึง SELinux
#เซสเตตัส
สถานะ SELinux: เปิดใช้งานแล้ว
เมานต์ SELinuxfs: /selinux
โหมดปัจจุบัน: การบังคับใช้
โหมดจากไฟล์กำหนดค่า: การบังคับใช้
เวอร์ชันนโยบาย: 24
นโยบายจากไฟล์กำหนดค่า: กำหนดเป้าหมาย

ตามทฤษฎีแล้ว มันสามารถรบกวนการเข้าถึงดิสก์ได้ ดังนั้นจึงต้องกำหนดค่าอย่างถูกต้องให้ทำงานกับโฟลเดอร์รูปภาพ หรือปิดใช้งาน ซึ่งง่ายกว่าสำหรับฉันโดยธรรมชาติ - ในไฟล์ /etc/selinux/config เราเปลี่ยนค่าของ SELINUX พารามิเตอร์เพื่อปิดใช้งานและรีบูตเครื่อง
SELINUX=ปิดการใช้งาน

การนำเข้าคีย์ GPG สำหรับแพ็คเกจ
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
เราติดตั้ง mince ทั้งหมด: kvm เอง, API การจัดการเครื่องเสมือน libvirt, เครื่องมือสร้างเครื่องเสมือน virtinst และไฮเปอร์ไวเซอร์ qemu-kvm
# yum -y ติดตั้ง kvm libvirt python-virtinst qemu-kvm

เรียกใช้ libvirt และลงทะเบียนโมดูลโหลดอัตโนมัติ
# /etc/init.d/libvirtd เริ่มต้น
# chkconfig libvirtd เปิดอยู่

เราตรวจสอบว่า KVM ติดตั้งและเริ่มต้นอย่างไร (เอาต์พุตควรมีข้อผิดพลาด 0 ข้อ)
# virsh -c qemu:///รายการระบบ
รหัส ชื่อ รัฐ
—————————————————-

เราติดตั้งบริดจ์เครือข่ายเพื่อเชื่อมต่อเครื่องของแขกเข้ากับเครือข่ายภายนอกและเอนทอร์เน็ตที่แย่มาก
# yum ติดตั้ง bridge-utils

เราสร้างการกำหนดค่าบริดจ์เครือข่ายคล้ายกับการตั้งค่าอินเทอร์เฟซเครือข่าย แต่มีความแตกต่างเล็กน้อย:
# cp /etc/sysconfig/เครือข่ายสคริปต์/ifcfg-eth0 /etc/sysconfig/เครือข่ายสคริปต์/ifcfg-br0

###### /etc/sysconfig/network-scripts/ifcfg-br0
อุปกรณ์=br0
TYPE=สะพาน
เปิดบูต=ใช่
บูตโปรโต=ไม่มี
NM_CONTROLLED=ใช่
IPADDR=SERVER_IP
คำนำหน้า=24
เกตเวย์=GW_IP
DNS1=8.8.8.8
ละลายน้ำแข็ง=ใช่
IPV4_FAILURE_FATAL=ใช่
IPV6INIT=ไม่ใช่
NAME=”ระบบ br0″
##################
จากนั้นเราจะแก้ไขการตั้งค่าอินเทอร์เฟซหลักแสดงความคิดเห็นเกี่ยวกับพารามิเตอร์ BOOTPROTO, IPADDR, PREFIX, GATEWAY, DNS1 และลงทะเบียนบริดจ์เครือข่าย
###### /etc/sysconfig/network-scripts/ifcfg-eth0
อุปกรณ์=eth0
TYPE=อีเทอร์เน็ต
เปิดบูต=ใช่
#BOOTPROTO=ไม่มี
HWADDR=01:2e:32:ab:9f:1e
#IPADDR=SERVER_IP
#คำนำหน้า=24
#เกตเวย์=GW_IP
#DNS1=8.8.8.8
ละลายน้ำแข็ง=ใช่
IPV4_FAILURE_FATAL=ใช่
IPV6INIT=ไม่ใช่
NAME=”ระบบ eth0″
สะพาน=br0
##################

ตอนนี้เรามารีสตาร์ทกริดแล้วดูว่าเกิดอะไรขึ้น เราควรแสดงอินเทอร์เฟซ 4 แบบ:
br0 พร้อม IP หลัก
eth0 ที่ไม่มี IP
แท้จริง 127.0.0.1
virbr0 พร้อม IP ภายในของเราเตอร์เสมือน

เราตรวจสอบสถานะของบริดจ์เครือข่ายของเรา:
#การแสดงbrctl
ชื่อบริดจ์ บริดจ์ id อินเตอร์เฟสที่เปิดใช้งาน STP
br0 8000.002215ab999d ไม่มี eth0
virbr0 8000.52540052c0e1 ใช่ virbr0-nic

ตามทฤษฎี คุณสามารถเร่งการทำงานของบริดจ์เครือข่ายได้โดยเพิ่มพารามิเตอร์ต่อไปนี้ลงในไฟล์ /etc/sysctl.conf:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

ตอนนี้เรามาดูการสร้างไดเร็กทอรีสำหรับจัดเก็บอิมเมจของเครื่องเสมือนและอิมเมจ dist iso กัน
# mkdir /usr/vm/iso
# mkdir /usr/vm/vm-images

ตามค่าเริ่มต้น อิมเมจเครื่องทั้งหมด อิมเมจของดิสก์ ฯลฯ จะถูกจัดเก็บไว้ใน /var/lib/libvirt/ แต่ฉันตัดสินใจที่จะอวดและตัดดิสก์ตามประเพณีการแบ่งพาร์ติชันแบบเก่าที่ดีที่สุด ดังนั้น ให้คำนึงถึงสิ่งนี้เมื่อทำการติดตั้ง เซิร์ฟเวอร์ หรือคุณจะต้องลบที่เก็บข้อมูลเดิมและลิงก์มาหาฉันที่ /usr

# rm -Rf /var/lib/libvirt/images
# ln -s usr/vm/iso /var/lib/libvirt/images

หลังจากการเตรียมการทั้งหมดนี้ เรากำลังพยายามสร้างเครื่องเสมือนบน Windows 7 พร้อมโปรเซสเซอร์เสมือน 2 ตัว, RAM 4Gb, HDD 30Gb, จัดเก็บรูปภาพในโฟลเดอร์ /usr/vm/vm-images และอิมเมจ windows7.iso ที่เราดาวน์โหลด ก่อนหน้าในโฟลเดอร์ /usr/vm /iso

# virt-install --connect=qemu:///system -n win7 -r 4096 --vcpus=2 --disk path=/usr/vm/vm-images/win7.img,size=30 -c /usr /vm/iso/windows7.iso --vnc --noautoconsole --os-type windows --os-variant win7 --accelerate --network=bridge:br0 --hvm

หากทุกอย่างเรียบร้อยดีเราจะมาดูกระบวนการสร้างดิสก์ ในบันทึกอันเคร่งขรึมนี้คุณสามารถไปยังการตั้งค่าเครื่องได้และนี่คือการซุ่มโจมตีที่แท้จริงเพราะถ้าคุณทำงานบน Windows ตัวเลือกต่างๆ จะถูกควบคุมผ่าน ming ผ่าน putty-ssh แต่ต้องใช้ X Windows บน ฝั่งเซิร์ฟเวอร์หรือเครื่องมือดูเสมือนที่เข้าใจยากซึ่งฉันไม่สามารถทำงานได้ ดังนั้นสิ่งที่ฉันพบก็คือบริการภายนอกที่ให้คุณเชื่อมต่อ KVM ของคุณกับแผงผู้ดูแลระบบ หรือติดตั้งผู้ดูแลเว็บของคุณเองโดยใช้ Webmin Cloudmin GPL

ที่นี่ควรสังเกตว่าบรรทัดการเริ่มต้นกริด –เครือข่าย=สะพาน:br0จะอนุญาตให้คุณใช้ IP สาธารณะบนเครื่องเสมือน แต่ถ้าคุณต้องการนั่งในพื้นที่ท้องถิ่นเสมือนและเข้าถึงอินเทอร์เน็ตจากนั้นคุณจะต้องติดตั้งโอเปอเรเตอร์อื่น –เครือข่าย=สะพาน:virbr0สิ่งที่ฉันพลาดระหว่างการติดตั้งจากนั้นฉันต้องเปลี่ยนด้วยตนเองในไฟล์การตั้งค่าเครื่องเสมือน /etc/libvirt/qemu/win7.xml

เครื่องถูกควบคุมใน CLI ผ่าน virsh (เชลล์เสมือน) ที่เราเข้าถึง บรรทัดคำสั่งเปลือก:
# virsh --เชื่อมต่อ qemu:///system
ยินดีต้อนรับสู่ virsh เทอร์มินัลเชิงโต้ตอบการจำลองเสมือน
พิมพ์: 'help' เพื่อขอความช่วยเหลือเกี่ยวกับคำสั่ง
'เลิก' เพื่อเลิก
virsh #list –ทั้งหมด
รหัส ชื่อ รัฐ
—————————————————-
2 win7 ทำงานอยู่
virsh # ปิดเครื่อง win7
โดเมน win7 กำลังถูกปิดตัวลง
virsh # เริ่ม win7
โดเมน win7 เริ่มต้นแล้ว

หากคุณกำลังอ่านบทความนี้ เป็นไปได้มากว่าคุณจะเข้าใจดีว่าทำไมคุณถึงต้องการเว็บเซิร์ฟเวอร์ และฉันจะไม่พูดถึงเรื่องนี้ แต่การอธิบายวิธีการติดตั้ง CentOS 7 และวิธีตั้งค่าสภาพแวดล้อมดูเหมือนจะไม่น่าสนใจสำหรับฉัน ดังนั้นเราจะใช้ Windows, VirtualBox และตั้งค่าเว็บเซิร์ฟเวอร์ในเครื่องเสมือนบนเครือข่ายเสมือน ในฐานะงานคู่ขนาน นอกเหนือจากการหาวิธีติดตั้งและกำหนดค่าเว็บเซิร์ฟเวอร์บน Linux แล้ว เราจะสร้างสภาพแวดล้อมที่สะดวกสบายคล้ายกับ OpenServer หรือ Denwer แต่ด้วยข้อดีทั้งหมดของเซิร์ฟเวอร์ nix ที่มีคุณสมบัติครบถ้วน

เราต้องการอะไร

การสร้างคอนเทนเนอร์เครื่องเสมือนสำหรับ CentOS ใน VirtualBox

เปิด VirtualBox ไปที่การตั้งค่าและดูการกำหนดค่าเครือข่ายเสมือน:

ตกลง เครือข่าย 192.168.56.0/24 DHCP กระจายที่อยู่ตั้งแต่ 101 ถึง 254 มาจำข้อมูลนี้กัน

มาดูการสร้างคอนเทนเนอร์สำหรับ CentOS 7 กันดีกว่า โดยคลิกที่ปุ่ม "สร้าง" และสลับไปที่ "โหมดผู้เชี่ยวชาญ"
ประเภทระบบปฏิบัติการ – Linux, เวอร์ชัน – RedHat (64 บิต) เราจะตั้งค่าจำนวน RAM เป็น 512 MB เราจะใช้งานได้ในคอนโซลเท่านั้นดังนั้นจึงเพียงพอสำหรับเราด้วยการสำรอง เราสร้างฮาร์ดไดรฟ์ใหม่


คลิกปุ่ม "สร้าง" และกำหนดการกำหนดค่า ฮาร์ดไดรฟ์– คุณสามารถปล่อยให้ทุกอย่างเป็นค่าเริ่มต้นได้: ขนาด 8GB (คุณสามารถเพิ่มได้ทันทีหากคุณรู้ว่ามีไม่เพียงพอ), ประเภท VDI, ไดนามิก คลิกปุ่ม "สร้าง" อีกครั้ง

สร้างคอนเทนเนอร์สำหรับเครื่องเสมือนแล้ว มาปรับการตั้งค่ากันหน่อย:

บนแท็บ "ระบบ" -> "เมนบอร์ด" ให้เปลี่ยนลำดับการบูต:


เราใส่ 2 ชิ้นใน "โปรเซสเซอร์" และทำเครื่องหมายที่ PAE/NX


ไปที่ "จอแสดงผล" และเพิ่มหน่วยความจำวิดีโอสูงสุด 16 MB การเร่งความเร็วกราฟิกไม่มีประโยชน์สำหรับเรา เพราะ... เรามีคอนโซลเท่านั้น


ไปที่สื่อแล้วระบุรูปภาพของเราด้วย CentOS 7




สุทธิ. เราจะใช้ 2 อินเทอร์เฟซ อันแรกอยู่ในโหมดบริดจ์ ในตัวเลือก "ชื่อ" ให้เลือกอินเทอร์เฟซที่คุณเชื่อมต่อกับเราเตอร์ของคุณ สิ่งนี้จะทำให้เครื่องเสมือนสามารถรับ IP จากคุณได้ เครือข่ายภายในบ้านซึ่งมักจะมีประโยชน์และจะรับอินเทอร์เน็ตจากเราเตอร์ของคุณ หากไม่เป็นเช่นนั้นสำหรับคุณ (ออนไลน์โดยไม่ต้องใช้เราเตอร์) หรือคุณวางแผนว่าเครื่องเสมือนของคุณจะต้องเชื่อมต่ออินเทอร์เน็ตตลอดเวลา ให้ใช้ NAT


สำหรับอินเทอร์เฟซที่สอง ให้เลือก “ อะแดปเตอร์เสมือนโฮสต์" เพื่อเชื่อมต่อกับเครือข่ายเสมือน ด้วยเหตุนี้ เว็บเซิร์ฟเวอร์ของคุณจะพร้อมใช้งานไม่ว่าคุณจะทำงานบนเครือข่ายใดก็ตาม หากเราจำกัดตัวเองอยู่เพียงอะแดปเตอร์ตัวแรก ทันทีที่คุณตัดการเชื่อมต่อจากเราเตอร์ คุณจะต้องกำหนดค่าใหม่ การเชื่อมต่อเครือข่ายภายใต้เงื่อนไขใหม่ ดังนั้นเว็บเซิร์ฟเวอร์จะพร้อมให้คุณใช้งานบนเครือข่ายเสมือนเสมอ


ขั้นตอนสุดท้ายคือการถอด USB ออก ไม่น่าเป็นไปได้ที่เราจะจำเป็นต้องใช้มัน


เพียงเท่านี้เรามาเปิดตัวเครื่องเสมือนกันดีกว่า

เรียกใช้ตัวติดตั้ง CentOS 7

หากคุณทำทุกอย่างถูกต้อง โปรแกรมติดตั้งจะเริ่มทำงานและการติดตั้ง CentOS 7 จะเริ่มต้นขึ้น (และหากไม่เริ่มทำงาน ให้ตรวจสอบลำดับการบูตอีกครั้ง และตรวจสอบว่ามีการระบุ ISO ที่มีการกระจาย CentOS 7 ในสื่อบันทึก) เลือกรายการแรก - ติดตั้ง CentOS 7 (โปรดทราบว่าตามค่าเริ่มต้นแล้ว รายการที่สอง "ทดสอบสื่อนี้..." จะถูกเลือก - หากคุณเลือก คุณสามารถรอจนกว่าจะตรวจสอบผลรวมรูปภาพ หรือคุณสามารถกด Esc ในระหว่างการตรวจสอบ ).

ในขั้นตอนแรก เราจะถูกขอให้เลือกภาษาของโปรแกรมติดตั้ง เราปล่อยให้ทุกอย่างเหมือนเดิมแล้วคลิกปุ่มดำเนินการต่อ


ขั้นตอนที่สองคือเมนูตัวติดตั้งหลัก


การตั้งค่าการแปลและวันที่/เวลา

เราจะคงการตั้งค่าวันที่/เวลาและภาษาไว้เหมือนเดิม จากนั้นเราจะกำหนดค่าจุดเหล่านี้ด้วยตนเอง ซึ่งเป็นประโยชน์ในการฝึกปฏิบัติ ตัวอย่างเช่น หากคุณซื้อ VDS ในเยอรมนี เป็นเรื่องยากที่จะคาดหวังว่าการตั้งค่าภาษาจะเป็นภาษารัสเซีย และเวลาจะถูกตั้งค่าตามมอสโก

การเลือกโปรไฟล์ความปลอดภัย

การตั้งค่าโปรไฟล์ความปลอดภัย - ความปลอดภัย คลิกนโยบายความปลอดภัยและเลือกโปรไฟล์ความปลอดภัยระบบมาตรฐาน คลิกปุ่ม "เลือกโปรไฟล์" จากนั้น "เสร็จสิ้น"


การเลือกดิสก์ที่จะติดตั้งและปิดใช้งาน kdump

มาดูกลุ่ม SYSTEM กันดีกว่า

มาปิดการใช้งานกลไกในการรวบรวมข้อมูลเกี่ยวกับความล้มเหลวของเคอร์เนล KDUMP ไปที่ KDUMP ยกเลิกการเลือก “เปิดใช้งาน kdump” แล้วคลิก “เสร็จสิ้น”

เราจะปล่อยให้การแบ่งพาร์ติชั่นเดิมสำหรับฮาร์ดไดรฟ์ไม่เปลี่ยนแปลง คลิก “ปลายทางการติดตั้ง” เลือกของเรา ฮาร์ดดิส. ตรวจสอบให้แน่ใจว่าได้ทำเครื่องหมายในช่อง "กำหนดค่าพาร์ติชันโดยอัตโนมัติ" แล้วคลิก "เสร็จสิ้น"


การกำหนดค่าเครือข่าย

มาดูการตั้งค่าอินเทอร์เฟซเครือข่ายกันดีกว่า คลิก NETWORK&HOST NAME และไปที่หน้าต่างการกำหนดค่า ก่อนอื่น ตั้งชื่อโฮสต์สำหรับเซิร์ฟเวอร์ของคุณ - สำหรับฉันมันคือ web.local คุณสามารถทำซ้ำตามฉันหรือเขียนอะไรก็ได้ที่คุณต้องการ

ตอนนี้เรามาดูรายการอินเทอร์เฟซเครือข่ายกัน อันแรกของเราสำหรับอินเทอร์เน็ต โดยรับการตั้งค่าจากเราเตอร์ผ่าน DHCP หรือผ่าน NAT มาเปิดใช้งานโดยตั้งสวิตช์ไปที่ ON สถานะควรเปลี่ยนเป็นเชื่อมต่อแล้วและอินเทอร์เฟซควรได้รับที่อยู่ IP


ตอนนี้คลิกปุ่ม "กำหนดค่า" และบนแท็บ "ทั่วไป" ให้เลือกช่องทำเครื่องหมาย "เชื่อมต่อกับ ... " โดยอัตโนมัติ เพื่อที่ว่าเมื่อระบบปฏิบัติการบู๊ต อินเทอร์เฟซจะถูกเปิดใช้งานทันที
ปิดการใช้งาน IPv6 (แน่นอน หากคุณไม่ได้ใช้ 😉) บนแท็บ "การตั้งค่า IPv6" ให้ตั้งค่า "วิธีการ" เป็นละเว้น คลิก "บันทึก"

มาดูอินเทอร์เฟซที่สองกันดีกว่า เราเปิดใช้งานและเราเห็นว่าเราได้รับที่อยู่ IP จากเครือข่ายเสมือน DCHP แล้ว แต่ที่อยู่อาจมีการเปลี่ยนแปลงในบางจุดไม่เหมาะกับเรา มาตั้งค่าเป็นคงที่กันดีกว่า คลิก "กำหนดค่า" และก่อนอื่นให้ตั้งค่าโดยการเปรียบเทียบกับอินเทอร์เฟซแรก เปิดอัตโนมัติและปิดการใช้งาน IPv6 จากนั้นไปที่แท็บ "การตั้งค่า IPv4" “วิธีการ” เลือกด้วยตนเอง ในรายการที่อยู่ คลิกเพิ่ม และเพิ่มที่อยู่ IP

คุณจำได้ไหมว่าเราจำการตั้งค่าเครือข่ายเสมือนด้านบนได้อย่างไร DHCP กระจายที่อยู่เริ่มต้นจาก 56.101 ดังนั้นเราจึงต้องเลือกที่อยู่ที่น้อยกว่า 101 ฉันเลือก 192.168.56.80 ตั้งค่าซับเน็ตมาสก์เป็น 24 แล้วคลิก "บันทึก" การตั้งค่าเครือข่ายเสร็จสมบูรณ์ คลิก "เสร็จสิ้น"

การติดตั้ง CentOS 7 ใกล้จะเสร็จสมบูรณ์แล้ว คลิกปุ่ม "เริ่มการติดตั้ง" และกระบวนการติดตั้งจะเริ่มขึ้น


รหัสผ่านรูทและผู้ใช้ที่จะใช้งาน

ในขณะที่การติดตั้งกำลังดำเนินอยู่ เราจะตั้งรหัสผ่านผู้ดูแลระบบ

คุณยังสามารถสร้างได้ บัญชีซึ่งเราจะทำงานจากที่นั้น คลิก "การสร้างผู้ใช้" และตั้งค่าการเข้าสู่ระบบ รหัสผ่าน และทำเครื่องหมายที่ช่อง "ทำให้ผู้ใช้นี้เป็นผู้ดูแลระบบ" เพื่อวางผู้ใช้ของเราในกลุ่มล้อ โปรดทราบว่าหากคุณตั้งรหัสผ่านที่โปรแกรมติดตั้งถือว่าไม่รัดกุม คุณจะต้องกดปุ่ม "เสร็จสิ้น" สองครั้ง แน่นอนว่ารหัสผ่านดังกล่าวไม่สามารถตั้งบนเซิร์ฟเวอร์สาธารณะได้ แต่เพื่อวัตถุประสงค์ในการทำงานของเรา ไม่จำเป็นต้องตั้งรหัสผ่านที่ชาญฉลาดเกินไป

ตอนนี้คุณเพียงแค่ต้องรอสักครู่ในขณะที่ติดตั้งแพ็คเกจทั้งหมดแล้วคลิกปุ่ม Reboot เมื่อเสร็จสิ้น ยินดีด้วย การติดตั้ง CentOS 7 ของคุณเสร็จสมบูรณ์แล้ว


ใช้งานเครื่องเสมือนด้วย CentOS 7

การใช้งานเครื่องเสมือนใน VirtualBox สามารถทำได้ในสามโหมด:

1. เปิดตัวปกติ. ในกรณีนี้ เครื่องเสมือนจะบู๊ตในหน้าต่างปกติซึ่งจะปรากฏไม่ทางใดก็ทางหนึ่งบนเดสก์ท็อปของคุณหรือย่อเล็กสุดบนทาสก์บาร์ แน่นอนว่าสิ่งนี้ไม่สะดวกนัก โดยเฉพาะเมื่อเครื่องเสมือนดักจับเมาส์
2. ทำงานในพื้นหลัง ในกรณีนี้ เครื่องเสมือนถูกเปิดใช้งานโดยกระบวนการเบื้องหลัง และหลังจากที่โหลดแล้ว เราสามารถปิดหน้าต่าง VirtualBox หลักได้อย่างปลอดภัย กระบวนการจะยังคงอยู่และเราสามารถเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน ssh ได้อย่างง่ายดาย
3. และในที่สุดก็เปิดตัวในพื้นหลังด้วยอินเทอร์เฟซ เครื่องเสมือนจะบู๊ตในหน้าต่าง แต่ถ้าจำเป็น เราสามารถส่งไปที่พื้นหลังได้

แน่นอนว่าการทำงานในพื้นหลังนั้นสะดวกมาก แต่การขาดการบ่งชี้สถานะของเครื่องเสมือนหรือข้อเท็จจริงของการเปิดตัวดังกล่าวนั้นน่ารำคาญมาก แต่โลกไม่ได้ขาดคนดีและยูทิลิตี้จะช่วยเราที่นี่ จะเปิดตัวเครื่องเสมือนที่เลือกในพื้นหลังและวางไอคอนลงในถาด

เมื่อคลิกขวาที่ไอคอนเราจะเห็นเมนูที่คุณสามารถจัดการเครื่องเสมือนที่ทำงานอยู่ได้ เห็นด้วยการทำเช่นนี้สะดวกกว่ามาก

เชื่อมต่อผ่าน ssh โดยใช้ผงสำหรับอุดรู

สะดวกกว่ามากในการทำงานกับเซิร์ฟเวอร์โดยใช้ไคลเอนต์ ssh เป็นเวลาหลายปีแล้วที่ผงสำหรับอุดรูยังคงเป็นมาตรฐานสำหรับระบบวิน ฉันจะไม่ลงรายละเอียดเกี่ยวกับการตั้งค่าทั้งหมดของไคลเอนต์นี้ มาเชื่อมต่อกับเซิร์ฟเวอร์ของเรากันดีกว่า เปิดตัวผงสำหรับอุดรูและป้อนที่อยู่ IP ของเซิร์ฟเวอร์ของเรา 192.168.56.80 ลงใน "ชื่อโฮสต์" เราจะเชื่อมต่อกับมันอย่างต่อเนื่อง ดังนั้นมาบันทึก IP นี้ในรายการกันดีกว่า ใน "เซสชันที่บันทึกไว้" ให้ป้อนชื่อแล้วคลิกปุ่ม "บันทึก" หากต้องการเชื่อมต่อให้คลิก "เปิด"


และเราเห็นบรรทัดคำเชิญของเซิร์ฟเวอร์ของเรา:

หลังจากการติดตั้ง CentOS 7 เสร็จสิ้น เราจำเป็นต้องทำการตั้งค่ามากมายเพื่อปรับแต่งเซิร์ฟเวอร์สำหรับตัวเราเอง ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ในส่วนถัดไป

KVM เป็นเฟรมเวิร์กการจำลองเสมือนสำหรับ Linux ซึ่งโปรเซสเซอร์ที่มีส่วนขยายการจำลองเสมือนสำหรับฮาร์ดแวร์สามารถโฮสต์แขกได้

KVM เป็นโซลูชันที่สะดวกสบายสำหรับการทดสอบระบบปฏิบัติการต่างๆ หากคุณไม่สามารถซื้ออุปกรณ์ทางกายภาพที่มีราคาแพงและใช้พลังงานสูงได้

คำแนะนำด้านล่างนี้แนะนำการติดตั้งและการกำหนดค่า KVM (QEMU) พร้อมกับการกำหนดค่า Linux Bridge บนระบบปฏิบัติการ CentOS7/RedHat7

1. ตรวจสอบการสนับสนุนการจำลองเสมือนฮาร์ดแวร์ CPU

โปรเซสเซอร์ของเราต้องรองรับการจำลองเสมือนสำหรับฮาร์ดแวร์ (VT-x) เพื่อให้กลายเป็น Hypervisor KVM และโฮสต์เครื่องเสมือน (แขก) ระบบปฏิบัติการ):

# lscpu สถาปัตยกรรม: x86_64 โหมดการทำงานของ CPU: 32 บิต, 64 บิต ลำดับไบต์: Little Endian CPU: 4 รายการ CPU ออนไลน์: 0-3 เธรดต่อคอร์: 2 คอร์ต่อซ็อกเก็ต: 2 ซ็อกเก็ต: 1 โหนด NUMA: 1 รหัสผู้จำหน่าย: ของแท้ตระกูล CPU Intel: 6 รุ่น: 42 ชื่อรุ่น: Intel(R) Core(TM) i5-2520M CPU @ 2.50 GHz Stepping: 7 CPU MHz: 800.000 BogoMIPS: 4988.58 การจำลองเสมือน: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K NUMA node0 CPU(s): 0-3

2. ปิดการใช้งานและหยุด NetworkManager

เป็นที่ทราบกันว่า NetworkManager ทำให้เกิดปัญหาเมื่อใช้ Linux Bridge ดังนั้นจึงเป็นการดีที่สุดสำหรับเราที่จะปิดการใช้งาน:

# systemctl หยุด NetworkManager # systemctl ปิดการใช้งาน NetworkManager ลบ symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service ลบ symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service แล้ว ลบ symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service แล้ว

3. ติดตั้งแพ็คเกจที่เกี่ยวข้องกับ KVM

# yum ติดตั้ง qemu-kvm qemu-img libvirt libvirt-python libvirt-client virt-install virt-viewer virt-manager

4. เริ่มต้นและเปิดใช้งาน libvirtd daemon

# systemctl เปิดใช้งาน libvirtd # systemctl เริ่ม libvirtd

5. ตั้งค่าสิทธิ์ทั้งระบบสำหรับ KVM

เราจำเป็นต้องเพิ่ม tuxfixer ผู้ใช้ทั่วไปของเราในกลุ่ม kvm เพื่อให้เขาสามารถเรียกใช้ virt-manager

# usermod -a -G kvm tuxfixer

เรายังจำเป็นต้องติดตั้งกฎ polkit (ชุดนโยบาย) สำหรับ KVM
แก้ไขไฟล์ 49-polkit-pkla-compat.rules:

# กลุ่ม /etc/polkit-1/rules.d/49-polkit-pkla-compat.rules

และเพิ่มสิ่งต่อไปนี้:

Polkit.addRule(function(action, subject) ( if (action.id == "org.libvirt.unix.manage" && subject.isInGroup("kvm")) ( return polkit.Result.YES; ) ));

6. สร้าง KVM Linux Bridge (อินเทอร์เฟซเครือข่ายโมเด็มไฮเปอร์ไวเซอร์ KVM ไปยังอินเทอร์เฟซเครือข่าย VM)

ในบทช่วยสอนนี้เราต้องการ เครื่องเสมือนได้รับที่อยู่ IP จากเครือข่ายเดียวกันกับที่โฮสต์ KVM Hypervisor เชื่อมต่ออยู่ ดังนั้นเราจะเชื่อมต่ออินเทอร์เฟซเครือข่ายหลัก (em1) เข้ากับอินเทอร์เฟซเครือข่าย VM

ในการดำเนินการนี้ เราจำเป็นต้องสร้าง Linux Bridge จากอินเทอร์เฟซ em1 บนโฮสต์ KVM Hypervisor

การกำหนดค่าเครือข่าย Hypervisor ปัจจุบัน (ทันทีหลังจากติดตั้ง KVM):

# ip a 1: แท้จริง: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 ขอบเขตโฮสต์ แท้จริง valid_lft ตลอดไป ที่ต้องการ _lft ตลอดไป inet6::1/128 โฮสต์ขอบเขต valid_lft ตลอดไปที่ต้องการ_lft ตลอดไป 2: em1: mtu 1500 qdisc pfifo_fast สถานะ UP ลิงก์ qlen 1000 / อีเธอร์ d0:67:e5:33:15:3f brd ff:ff:ff:ff:ff :ff inet 192.168.2.3/24 brd 192.168.2.255 ขอบเขตไดนามิกระดับโลก em1 valid_lft 73193sec ที่ต้องการ_lft 73193sec inet6 fe80::d267:e5ff:fe33:153f/64 ขอบเขตลิงก์ valid_lft ตลอดไปที่ต้องการ_lft ตลอดไป 3: wlp3s0: mtu 1500 qdis c noop สถานะ DOWN qlen 1,000 ลิงก์ / อีเธอร์ 00:24:d7:f4:dc:e8 brd ff:ff:ff:ff:ff:ff 4: virbr0: mtu 1500 qdisc noqueue state ลิงก์ลง / อีเทอร์ 52:54:00:b7:22: b3 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 ขอบเขต global virbr0 valid_lft ตลอดไปที่ต้องการ_lft ตลอดไป 5: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 500 link/ether 52 :54:00:b7:22:b3 brd ff:ff:ff:ff:ff:ff

ไฟล์การกำหนดค่า Ifcfg-em1 (ก่อนสร้าง KVM Linux Bridge):

# cat /etc/sysconfig/network-scripts/ifcfg-em1 DEVICE = "em1" TYPE = "Ethernet" BOOTPROTO = "ไม่มี" NAME = "em1" ONBOOT = "ใช่" HWADDR = "D0:67:E5:33: 15:3F" IPADDR=192.168.2.3 คำนำหน้า=24 GATEWAY=192.168.2.1 PEERDNS="ไม่" NM_CONTROLLED="ไม่"

ในการกำหนดค่าเครือข่าย KVM เราจะใช้แอปพลิเคชัน virt-manager ซึ่งก็คือ ส่วนต่อประสานที่ใช้งานง่าย GUI สำหรับอินเทอร์เฟซบรรทัดคำสั่ง KVM

บันทึก. อินเทอร์เฟซ virbr0 ถูกสร้างขึ้นโดยอัตโนมัติด้วยการติดตั้ง KVM และเป็นตัวแทน เครือข่ายเสมือนที่มีอยู่ "ภายใน" สภาพแวดล้อม KVM ด้วย NAT (การแปลที่อยู่เครือข่าย)

เนื่องจากเราไม่ต้องการ NAT ในสภาพแวดล้อม KVM (เราต้องการซ่อนอินเทอร์เฟซ Hypervisor) เราจึงสามารถลบเครือข่ายเสมือน KVM ที่มีอยู่ตามอินเทอร์เฟซ virbr0 ได้

รัน virt-manager ในฐานะผู้ใช้รูท:

#virt-ผู้จัดการ

... หน้าต่าง virt-manager ควรปรากฏขึ้น:

คลิกขวาที่ คิวอีมู/เควีเอ็ม -> รายละเอียด -> เครือข่ายเสมือน -> ปิดการใช้งานเครือข่าย: “ค่าเริ่มต้น” -> ลบเครือข่าย: “ค่าเริ่มต้น” ตาม virbr0

ตอนนี้เราสามารถเชื่อมต่ออินเทอร์เฟซ Hypervisor KVM (em1):

คลิกขวา: คิวอีมู/เควีเอ็ม -> รายละเอียด -> อินเทอร์เฟซเครือข่าย -> เพิ่มอินเทอร์เฟซ:

  • ประเภทอินเทอร์เฟซ: สะพาน
  • ชื่ออินเทอร์เฟซ: br-em1
  • โหมดเริ่มต้น: ขณะบู๊ต
  • เปิดใช้งานทันที: เปิดใช้งานแล้ว
  • การตั้งค่า IP: คัดลอกการกำหนดค่าจาก 'em1'
  • การตั้งค่าบริดจ์: เปิด STP, ดีเลย์ 0.00 วินาที

...คลิก เสร็จสิ้น เพื่อแทนที่การกำหนดค่าที่มีอยู่และสร้าง KVM Linux Bridge

ตอนนี้เราสามารถทดสอบ Linux Bridge ที่สร้างขึ้นใหม่ (br-em1):

ตรวจสอบการกำหนดค่า IP ปัจจุบัน (ตอนนี้ IP ถูกกำหนดให้กับ br-em1 และ em1 ตอนนี้ทำหน้าที่เป็นอินเทอร์เฟซเท่านั้น):

# ip a 1: แท้จริง: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 ขอบเขตโฮสต์ แท้จริง valid_lft ตลอดไป ที่ต้องการ _lft ตลอดไป inet6::1/128 โฮสต์ขอบเขต valid_lft ตลอดไปที่ต้องการ_lft ตลอดไป 2: em1: mtu 1500 qdisc pfifo_fast master br-em1 สถานะ UP ลิงก์ qlen 1,000 / อีเธอร์ d0:67:e5:33:15:3f brd ff:ff:ff :ff:ff:ff 3: wlp3s0: mtu 1500 สถานะ qdisc noop ลงลิงก์ qlen 1,000 / อีเทอร์ 00:24:d7:f4:dc:e8 brd ff:ff:ff:ff:ff:ff 6: br-em1: mtu 1500 qdisc noqueue state UP link/ether d0:67:e5:33:15:3f brd ff:ff:ff:ff:ff:ff inet 192.168.2.3/24 brd 192.168.2.255 ขอบเขต global br-em1 valid_lft ที่ต้องการตลอดไป_lft ตลอดกาล inet6 fe80::d267:e5ff:fe33:153f/64 ลิงก์ขอบเขต valid_lft ตลอดไปที่ต้องการ_lft ตลอดไป

ตรวจสอบการตั้งค่าบริดจ์:

# brctl แสดงชื่อบริดจ์ สะพาน id อินเทอร์เฟซที่เปิดใช้งาน STP br-em1 8000.d067e533153f ใช่ em1

ตอนนี้บริดจ์ KVM Linux ได้รับการกำหนดค่าแล้ว และเราสามารถติดตั้งเครื่องเสมือนต่อไปได้