Solaris, Haiku, REACT OS และอื่นๆ อีกมากมาย
KVM สามารถจัดการได้โดยใช้บรรทัดคำสั่งหรือเครื่องมือกราฟิกที่มีอยู่ Virt-Manager (Virtual Machine Manager) เป็นแอปพลิเคชั่นที่ใช้กันอย่างแพร่หลายที่สุดสำหรับการจัดการเครื่องเสมือนที่ใช้ KVM รองรับการสร้าง แก้ไข เริ่มต้น และการหยุดเครื่องเสมือนที่ใช้ KVM รวมถึงการโยกย้ายเครื่องเสมือนแบบสดหรือแบบ Cold ระหว่างโฮสต์
ข้อกำหนดเบื้องต้น
ติดตั้ง KVM บน CentOS 7
ออกคำสั่งต่อไปนี้เพื่อติดตั้งแพ็คเกจ qemu ล่าสุดและ virt-manager ซึ่งมีอินเทอร์เฟซแบบกราฟิกเพื่อจัดการเครื่องเสมือน ยำติดตั้ง -y qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer - qemu-kvm= โปรแกรมจำลอง QEMU
- qemu-img= ตัวจัดการอิมเมจดิสก์ QEMU
- virt-ติดตั้ง= เครื่องมือบรรทัดคำสั่งเพื่อสร้างเครื่องเสมือน
- ลิบเวียร์ต= จัดเตรียม libvirtd daemon ที่จัดการเครื่องเสมือนและควบคุมไฮเปอร์ไวเซอร์
- libvirt-ไคลเอนต์= จัดเตรียม API ฝั่งไคลเอ็นต์สำหรับการเข้าถึงเซิร์ฟเวอร์และยังมียูทิลิตี้ virsh ซึ่งมีเครื่องมือบรรทัดคำสั่งเพื่อจัดการเครื่องเสมือน
- virt-viewer– คอนโซลกราฟิก
สร้างเครื่องเสมือน
เมื่อคุณติดตั้ง KVM และเครื่องมืออื่น ๆ แล้ว ทุกอย่างก็พร้อมที่จะเริ่มสร้างเครื่องเสมือน เราจะดูที่การสร้างเครื่องเสมือนทั้งในโหมดบรรทัดคำสั่งและโหมดกราฟิก
โหมดบรรทัดคำสั่ง
virt-install ใช้เพื่อสร้างเครื่องเสมือนโดยใช้โหมดบรรทัดคำสั่ง และคำสั่งนี้ต้องการอินพุตหลายรายการจากเราเพื่อสร้างเครื่องเสมือน เช่น CPU, หน่วยความจำ, ดิสก์, เครือข่าย, ตำแหน่งสื่อการติดตั้ง, ตัวแปรระบบปฏิบัติการ และอื่นๆ ติดตั้ง Virt --name=itzgeekguest --ram=1024 --vcpus=1 --cdrom=/tmp/CentOS-6.5-x86_64-minimal.iso --os-type=linux --os-variant=rhel6 -- สะพานเครือข่าย = br0 --graphics=spice --disk path=/var/lib/libvirt/images/itzgeekguest.dsk,size=4 บันทึก:คำสั่งด้านบนใช้ Bridged Networking “br0” เพื่ออนุญาตให้เครื่องเสมือนสื่อสารกับเครือข่ายภายนอก คุณสามารถดูบทช่วยสอนเกี่ยวกับการสร้าง Bridged Networking ด้วย Virt Manager
-ชื่อ– ชื่อของเครื่องเสมือน
–ราม– ขนาดหน่วยความจำเป็น MB
–vcpus– CPU เสมือนเป็นตัวเลข
–ซีดีรอม– ตำแหน่งของอิมเมจ ISO
–ประเภทระบบปฏิบัติการ– ประเภทของ OS เช่น Linux, Windows เป็นต้น
–os-ตัวแปร– ตัวแปร OS เช่น RHEL 6, Solaris
–เครือข่าย– เครือข่าย
–กราฟิก– การตั้งค่าการแสดงแขก
–เส้นทางดิสก์– ตำแหน่งของดิสก์ที่มีขนาด 4 GB
เมื่อคุณออกคำสั่งข้างต้นแล้ว virt-install จะสร้างเครื่องเสมือนและเริ่มคอนโซล virt viewer สำหรับการติดตั้งระบบปฏิบัติการ
ติดตั้ง KVM (QEMU) บน CentOS 7 - บรรทัดคำสั่งการติดตั้งแขก Virt Viewer โหมดกราฟิก
พิมพ์คำสั่งต่อไปนี้ในเทอร์มินัลในโหมด GUI Virt-ผู้จัดการ แอปพลิเคชัน>> เครื่องมือระบบ>> ผู้จัดการเครื่องเสมือน
คุณอาจถูกขอให้ป้อนรหัสผ่านหากคุณไม่มีสิทธิ์การเข้าถึงรูท
เมื่อเปิดขึ้นแล้ว ให้คลิกขวาที่ localhost (QEMU) และคลิกที่ New Virtual Machine Manager จะเริ่มตัวช่วยสร้างใหม่สำหรับการสร้างเครื่องเสมือน คุณจะพบว่าไม่มีปัญหาในการใช้โหมดกราฟิกนี้
ขั้นตอนที่ 1: คุณจะต้องตั้งชื่อเครื่องเสมือนของคุณ ในหน้าต่างเดียวกัน คุณจะถูกขอให้เลือกวิธีที่คุณต้องการติดตั้ง ระบบปฏิบัติการ- ที่นี่ฉันเลือกที่จะติดตั้งจากอิมเมจ ISO หรือซีดีรอม
ติดตั้ง KVM (QEMU) บน CentOS 7 – Virt Manager – สร้าง VM ขั้นตอนที่ 2: ป้อนตำแหน่งของอิมเมจ ISO เนื่องจากไฮเปอร์ไวเซอร์ไม่รองรับซีดีรอมจริงที่ส่งผ่าน อย่าลืมเลือกประเภทและเวอร์ชันของระบบปฏิบัติการ
ติดตั้ง KVM (QEMU) บน CentOS 7 – Virt Manager – สื่อการติดตั้ง ขั้นตอนที่ 3: กำหนดค่า CPU และหน่วยความจำสำหรับเครื่องเสมือน
ติดตั้ง KVM (QEMU) บน CentOS 7 – Virt Manager – หน่วยความจำและ CPU ขั้นตอนที่ 4: คุณต้องระบุจำนวนพื้นที่เก็บข้อมูลที่คุณต้องการกำหนดให้กับเครื่องเสมือน ยกเลิกการเลือกที่ “ จัดสรรดิสก์ทั้งหมดทันที“ ซึ่งจะป้องกันการจัดสรรดิสก์เต็มเมื่อสร้าง VM
ขนาดดิสก์จะถูกจัดสรรแบบไดนามิกขึ้นอยู่กับการใช้งานเครื่องเสมือน
ติดตั้ง KVM (QEMU) บน CentOS 7 – Virt Manager – การจัดสรรพื้นที่เก็บข้อมูล ขั้นตอนที่ 5: สรุปการตั้งค่าทั้งหมด คลิกที่การตั้งค่าขั้นสูงเพื่อเลือกการเชื่อมต่อเครือข่ายแบบบริดจ์เพื่อให้เครื่องเสมือนสามารถสื่อสารภายนอกเครือข่ายได้
คลิกที่เสร็จสิ้น
ติดตั้ง KVM (QEMU) บน CentOS 7 – Virt Manager – สรุป ขั้นตอนที่ 6: KVM จะเริ่มสร้างเครื่องเสมือนขึ้นอยู่กับอินพุตของเรา เมื่อสร้าง VM แล้ว Virt manager จะเริ่มคอนโซลสำหรับการติดตั้งระบบปฏิบัติการ
หน้าจอต่อไปนี้จะแสดงหน้าจอการติดตั้งของ
ติดตั้ง KVM (QEMU) บน CentOS 7 – Virt Manager – คอนโซล VM จัดการเครื่องเสมือน
ด้วย Virtual Machine Manager คุณสามารถดำเนินการวงจรชีวิตของ VM เช่น การเริ่มต้น ปิดเครื่อง รีเซ็ต โคลน และการย้ายข้อมูลได้โดยการคลิกขวาที่เครื่องเสมือนที่เลือก
ติดตั้ง KVM (QEMU) บน CentOS 7 – Virt Manager การจัดการเครื่องเสมือนโดยใช้ virt manager นั้นง่ายมาก เพียงคลิกที่ไอคอน “bulb” ในคอนโซล VM ที่นี่คุณสามารถเพิ่ม แก้ไข และลบอุปกรณ์ได้
ติดตั้ง KVM (QEMU) บน CentOS 7 – Virt Manager – การจัดการ VM ฉันมีเซิร์ฟเวอร์ที่ติดตั้งใหม่ซึ่งใช้ CentOS 7 บน VDS ที่มีการจำลองเสมือน KVM
ฉันจะพูดถึงวิธีการตั้งค่าเซิร์ฟเวอร์ขั้นพื้นฐานเพื่อใช้งานตามดุลยพินิจของคุณ มันอาจจะเป็นเช่นนั้น เว็บเซิร์ฟเวอร์
, เซิร์ฟเวอร์ VPN, การตรวจสอบเซิร์ฟเวอร์ก.
ฉันจะพูดถึงการตั้งค่าเริ่มต้นของระบบ CentOS ซึ่งเพิ่มความปลอดภัยและความสะดวกในการทำงานกับเซิร์ฟเวอร์ ฉันทราบว่าในระบบเวอร์ชันที่ 7 มีการเปลี่ยนแปลงบางอย่างเมื่อเทียบกับเวอร์ชันก่อนหน้า
- การแนะนำ
- การตั้งค่าเริ่มต้นของ CentOS 7
- การระบุพารามิเตอร์เครือข่าย
- การตั้งค่าไฟร์วอลล์
- การตั้งค่า SSH บน CentOS 7
- การตั้งเวลา
- การเพิ่มที่เก็บข้อมูล
- บทสรุป
- วิดีโอการตั้งค่า CentOS 7
การแนะนำ
การตั้งค่าเริ่มต้นของ CentOS 7
ดังนั้นเราจึงมี:
#อูเนม-ก Linux zeroxzed.ru 3.10.0-123.20.1.el7.x86_64 #1 SMP พฤหัสบดีที่ 29 มกราคม 18:05:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux ก่อนอื่น มาอัพเดตระบบฐานกันก่อน: # yum -y อัปเดต เพื่อความสะดวกในการดูแลระบบ ฉันมักจะติดตั้ง Midnight Commander หรือเพียง mc: #ifconfig แล้วคุณจะเห็นคำตอบ: Bash: ifconfig: ไม่พบคำสั่ง อย่างน้อยเมื่อฉันเห็นมันครั้งแรกฉันก็ค่อนข้างประหลาดใจ ฉันคิดว่าฉันทำผิดพลาดในการเขียนคำสั่ง ฉันตรวจสอบทุกอย่างซ้ำหลายครั้ง แต่ก็ไม่มีประโยชน์ ปรากฎว่าฉันต้องติดตั้งแพ็กเกจแยกต่างหากเพื่อเรียกใช้ ifconfig และยูทิลิตี้เครือข่ายอื่นๆ
แทนที่จะใช้ ifconfig ใน CentOS 7 ตอนนี้มียูทิลิตี้แล้ว ไอพี- ฉันไม่เข้าใจว่าทำไมถึงมีโปรแกรมควบคุมแยกต่างหาก การตั้งค่าเครือข่ายถ้า ifconfig จัดการกับงานได้อย่างสมบูรณ์แบบแล้ว นอกจากนี้ฉันชอบเสมอว่าในลีนุกซ์รุ่นต่างๆทุกอย่างจะใกล้เคียงกัน การใช้ ifconfig คุณสามารถกำหนดค่าเครือข่ายได้ไม่เฉพาะใน Linux เท่านั้น แต่ยังรวมถึงใน freebsd ด้วย สะดวกครับ. และเมื่อแต่ละการแจกแจงมีเครื่องมือของตัวเอง มันก็ไม่สะดวก ดังนั้นฉันขอแนะนำให้ติดตั้ง ifconfig ปกติ
มาทำสิ่งนี้กัน: # yum -y ติดตั้ง net-tools.x86_64 ตอนนี้สำหรับเราในการทำงาน คำสั่ง nslookupหรือตัวอย่างเช่น โฮสต์ที่คุณต้องติดตั้งแพ็คเกจ bind-utils หากยังไม่เสร็จสิ้น ให้ใช้คำสั่ง: #nslookup ผลลัพธ์จะเป็น: Bash: nslookup: ไม่พบคำสั่ง ดังนั้นเรามาติดตั้งbind-utils: # yum -y ติดตั้ง bind-utils ปิดการใช้งาน SELinux การใช้และการกำหนดค่าเป็นเรื่องแยกต่างหาก ฉันจะไม่ทำสิ่งนี้ตอนนี้ ลองปิดมันดู: # mcedit /etc/sysconfig/selinux เปลี่ยนค่า SELINUX=disabled
เพื่อให้การเปลี่ยนแปลงมีผล ให้รีบูต: # รีบูต การระบุพารามิเตอร์เครือข่าย
ตอนนี้เรามากำหนดค่าเครือข่ายใน CentOS กันดีกว่า เมื่อต้องการทำเช่นนี้ ให้เปิดไฟล์ /etc/sysconfig/network-scripts/ifcfg-eth0 # mcedit /etc/sysconfig/เครือข่ายสคริปต์/ifcfg-eth0 ในฟิลด์ IPADDR เราป้อนที่อยู่ของคุณใน NETMASK มาสก์เครือข่าย ใน GATEWAY เกตเวย์ ที่อยู่ DNS1 ของเซิร์ฟเวอร์ DNS บันทึกไฟล์และรีสตาร์ทเครือข่ายเพื่อใช้การตั้งค่า: # /etc/init.d/network รีสตาร์ท การกำหนดค่าไฟร์วอลล์ ฉันพิจารณาปัญหาการตั้งค่า iptables ใน CentOS 7 อย่างละเอียดแยกกัน ตอนนี้เราจะตั้งค่าไฟร์วอลล์ได้อย่างรวดเร็วและง่ายดาย ใน CentOS 7 นั้น iptables ทำหน้าที่เป็นไฟร์วอลล์ โดยค่าเริ่มต้น มันกำลังทำงานอยู่ หากต้องการดูกฎปัจจุบัน คุณต้องป้อนคำสั่ง: # iptables -L -v -n ฉันต้องการเตือนคุณทันทีว่าหากไม่มีการเข้าถึงคอนโซลเซิร์ฟเวอร์ การตั้งค่าไฟร์วอลล์ถือเป็นความคิดที่ไม่ดี แม้ว่าคุณจะเข้าใจดีว่าคุณกำลังทำอะไรอยู่และทำมาหลายครั้งแล้ว แต่ก็ยังมีโอกาสที่จะถูกทิ้งไว้โดยไม่สามารถเข้าถึงเซิร์ฟเวอร์ได้ ดังนั้นสิ่งแรกก่อนที่จะตั้งค่า iptables คือการตรวจสอบการเข้าถึงคอนโซลผ่าน KVM หรือทางกายภาพ
ใน CentOS เวอร์ชัน 7 เครื่องมือใหม่ที่เรียกว่า firewalld ได้รับการพัฒนาเพื่อจัดการ iptables และการจัดการทั้งหมดเสร็จสิ้นผ่านเครื่องมือดังกล่าว ฉันไม่เข้าใจว่าทำไมพวกเขาถึงทำและฉันไม่สามารถพูดได้ว่ามันสะดวกกว่าหรือไม่ สำหรับฉัน การใช้การพัฒนา iptables เดียวกันจะสะดวกกว่า เมื่อย้ายจากเซิร์ฟเวอร์หนึ่งไปอีกเซิร์ฟเวอร์และจากการแจกจ่ายไปยังการแจกจ่าย ฉันเพียงแค่แก้ไขสคริปต์การตั้งค่าไฟร์วอลล์
แต่ด้วยเหตุผลบางอย่าง CentOS จึงมาพร้อมกับไฟร์วอลล์ Ubuntu มี ufw แต่สาระสำคัญก็เหมือนกัน - นี่คือยูทิลิตี้สำหรับการกำหนดค่า iptables ซึ่งเหมือนกันในทุกการกระจาย ฉันคุ้นเคยกับการจัดการ iptables ผ่านสคริปต์ที่เขียนขึ้นเอง ซึ่งฉันถ่ายโอนจากเซิร์ฟเวอร์หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่งและแก้ไขให้เหมาะกับความต้องการเฉพาะ ฉันจะแบ่งปันสคริปต์นี้ ก่อนอื่น เรามาหยุดและปิดการใช้งานไฟร์วอลล์กันก่อน: # systemctl หยุดไฟร์วอลล์ # systemctl ปิดการใช้งานไฟร์วอลล์ rm "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service" rm "/etc/systemd/system/basic.target.wants/firewalld.service" มาติดตั้งยูทิลิตี้สำหรับ iptables:# yum -y ติดตั้ง iptables-services มาเปิดใช้งาน iptables autostart กัน: # systemctl เปิดใช้งาน iptables ตอนนี้เรามาสร้างไฟล์ /etc/iptables_rules.sh โดยมีเนื้อหาดังต่อไปนี้: #!/bin/bash
# #การประกาศตัวแปร ส่งออก IPT = "iptables" # อินเทอร์เฟซที่ดูอินเทอร์เน็ต ส่งออก WAN=eth0 ส่งออก WAN_IP=149.154.71.205
# ล้างเครือข่าย iptables ทั้งหมด $IPT -F $IPT -F -t แนท $IPT -F -t ยุ่งเหยิง $IPT -X $IPT -t nat -X $IPT -t ยุ่งเหยิง -X
# กำหนดนโยบายเริ่มต้นสำหรับการรับส่งข้อมูลที่ไม่ตรงกับกฎใด ๆ $IPT -P อินพุตลดลง $IPT -P เอาต์พุตลดลง $IPT -P ส่งต่อลดลง
# อนุญาตการรับส่งข้อมูลในท้องถิ่นสำหรับลูปแบ็ค $IPT -A อินพุต -i lo -j ยอมรับ $IPT -A เอาต์พุต -o lo -j ยอมรับ
# อนุญาตการเชื่อมต่อขาออกจากเซิร์ฟเวอร์เอง $IPT -A เอาต์พุต -o $WAN -j ยอมรับ
# สถานะ ESTABLISHED ระบุว่านี่ไม่ใช่แพ็กเก็ตแรกในการเชื่อมต่อ # ข้ามการเชื่อมต่อที่เริ่มต้นแล้วทั้งหมด รวมถึงลูก ๆ ของพวกเขาด้วย $IPT -A INPUT -p ทั้งหมด -m state - สถานะที่จัดตั้งขึ้นที่เกี่ยวข้อง -j ยอมรับ # ข้ามการเชื่อมต่อใหม่รวมถึงการเชื่อมต่อที่เริ่มต้นแล้วและลูกของพวกเขา $IPT -A OUTPUT -p ทั้งหมด -m state - สถานะที่จัดตั้งขึ้นที่เกี่ยวข้อง -j ยอมรับ # อนุญาตการส่งต่อสำหรับการเริ่มต้นแล้วและการเชื่อมต่อลูกของพวกเขา $IPT -A FORWARD -p ทั้งหมด -m state - สถานะที่จัดตั้งขึ้นที่เกี่ยวข้อง -j ยอมรับ
# เปิดใช้งานการกระจายตัวของแพ็กเก็ต จำเป็นเนื่องจากค่า MTU ที่แตกต่างกัน $IPT -I ส่งต่อ -p tcp --tcp-flags SYN, RST SYN -j TCPMSS --clamp-mss-to-pmtu
# วางแพ็กเก็ตทั้งหมดที่ไม่สามารถระบุได้ # จึงไม่สามารถมีสถานะเฉพาะได้ $IPT -A INPUT -m state --state ไม่ถูกต้อง -j DROP $IPT -A ส่งต่อ -m สถานะ - สถานะไม่ถูกต้อง -j DROP
# ทำให้ทรัพยากรระบบเชื่อมโยงกันจริง ๆ #การแลกเปลี่ยนข้อมูลเป็นไปไม่ได้ เราตัดมันทิ้งไป $IPT -A อินพุต -p tcp ! --syn -m รัฐ --state ใหม่ -j DROP $IPT -A เอาต์พุต -p tcp ! --syn -m state --state ใหม่ -j DROP
# เปิดพอร์ตสำหรับ ssh $IPT -A อินพุต -i $WAN -p tcp --dport 22 -j ยอมรับ # เปิดพอร์ตสำหรับ DNS $IPT -A อินพุต -i $WAN -p udp --dport 53 -j ยอมรับ # เปิดพอร์ตสำหรับ NTP $IPT -A อินพุต -i $WAN -p udp --dport 123 -j ยอมรับ
# การบันทึก # ทุกสิ่งที่ไม่ได้รับอนุญาต แต่พังจะถูกส่งไปยังห่วงโซ่ที่ไม่แน่นอน
$IPT -N undef_in $IPT -N undef_out $IPT -N undef_fw $IPT -A อินพุต -j undef_in $IPT -A เอาต์พุต -j undef_out $IPT -A ส่งต่อ -j undef_fw
# บันทึกทุกอย่างจาก undef
$IPT -A undef_in -j LOG --ข้อมูลระดับบันทึก --log-prefix "-- IN -- DROP" $IPT -A undef_in -j DROP $IPT -A undef_out -j LOG --ข้อมูลระดับบันทึก --log-prefix "-- OUT -- DROP " $IPT -A undef_out -j DROP $IPT -A undef_fw -j LOG --ข้อมูลระดับบันทึก --log-คำนำหน้า "-- FW -- DROP" $IPT -A undef_fw -j DROP
#เขียนกติกาให้เรียบร้อย /sbin/iptables-save > /etc/sysconfig/iptables
โดยหลักการแล้ว ไม่มีอะไรจะเพิ่มเติม ความคิดเห็นทั้งหมดอยู่ในไฟล์ ในรูปแบบนี้ บันทึกของทุกสิ่งที่ถูกบล็อกจะถูกเขียนลงในไฟล์ /var/log/messages และจะมีรายการจำนวนมากอยู่ที่นั่น ดังนั้นในการทำงานปกติ บรรทัดเหล่านี้ควรถูกใส่เครื่องหมายความคิดเห็น และใช้เฉพาะในระหว่างการดีบักเท่านั้น มากกว่า คำอธิบายโดยละเอียดกฎและตัวอย่าง การตั้งค่าไฟร์วอลล์ในกรณีที่เซิร์ฟเวอร์ของคุณเป็นเกตเวย์ เครือข่ายท้องถิ่นระบุไว้ในลิงก์ที่จุดเริ่มต้นของส่วน
ทำให้ไฟล์ที่มีกฎสามารถเรียกใช้งานได้และเรียกใช้: # chmod 0740 /etc/iptables_rules.sh # /etc/iptables_rules.sh ตรวจสอบว่ามีการใช้กฎหรือไม่: # iptables -L -v -n แต่ละครั้งที่คุณรันไฟล์กฎ iptables การเปลี่ยนแปลงทั้งหมดจะถูกเขียนลงในไฟล์ /etc/sysconfig/iptables และนำไปใช้เมื่อระบบบู๊ต
การตั้งค่า SSH บน CentOS 7
ต่อไปเราจะทำการเปลี่ยนแปลงวิธีการทำงานของ ssh เพื่อเพิ่มความปลอดภัย ตามค่าเริ่มต้น บริการจะทำงานบนพอร์ต 22 และหากเราปล่อยทุกอย่างไว้ตามเดิม เราจะพยายามเข้าสู่ระบบเป็นจำนวนมาก บอทจะสแกนอินเทอร์เน็ตและเลือกรหัสผ่าน ssh อย่างต่อเนื่อง เพื่อป้องกันตัวคุณเองจากการสแกนด้วยบอทธรรมดา เรามาเปลี่ยนพอร์ตที่ ssh ทำงานกันดีกว่า คุณสามารถเลือกตัวเลขห้าหลักใดก็ได้ไม่สำคัญ วิธีนี้จะปกป้องคุณจากการสแกนอัตโนมัติ
มาแขวน ssh daemon ไว้ที่พอร์ต 25333 เมื่อต้องการทำเช่นนี้ ให้แก้ไขไฟล์ /etc/ssh/sshd_config.php # mcedit /etc/ssh/sshd_config เรามายกเลิกหมายเหตุบรรทัด Port 22 และแทนที่ค่า 22 ด้วย 25333
ฉันมักจะอนุญาตให้ผู้ใช้รูทเชื่อมต่อผ่าน ssh ด้วย มันสะดวกกว่าสำหรับฉัน ฉันไม่เคยมีปัญหาใด ๆ กับเรื่องนี้ หากคุณคิดว่าไม่ปลอดภัย อย่าแตะต้องการตั้งค่านี้ หากต้องการอนุญาตให้ผู้ใช้รูทเชื่อมต่อผ่าน ssh ให้ยกเลิกการใส่เครื่องหมายบรรทัด PermitRootLogin yes
บันทึกไฟล์. ตอนนี้เราแน่ใจว่าจะเปลี่ยนการตั้งค่า iptables เพิ่มพอร์ต 25333 ลงในการเชื่อมต่อที่อนุญาตแทน 22 หากเราไม่ทำเช่นนี้ หลังจากรีสตาร์ท sshd เราจะสูญเสีย การเข้าถึงระยะไกลไปยังเซิร์ฟเวอร์ ดังนั้นให้เปิด /etc/iptables_rules.sh และเปลี่ยนแปลงในบรรทัด $IPT -A อินพุต -i $WAN -p tcp --dport 22 -j ยอมรับ 22 ถึง 25333 และรันไฟล์
การเชื่อมต่อปัจจุบันของเราจะไม่ถูกขัดจังหวะ เนื่องจากได้ถูกสร้างขึ้นแล้ว แต่จะไม่สามารถเชื่อมต่อใหม่ผ่าน ssh ไปยังพอร์ต 22 ได้
รีสตาร์ท sshd: # systemctl รีสตาร์ท sshd ตรวจสอบว่าพอร์ต sshd ใดกำลังฟังอยู่: # netstat -tulpn | grep sshd TCP 0 0 0.0.0.0:25333 0.0.0.0:* ฟัง 1799/sshd tcp6 0 0:::25333:::* ฟัง 1799/sshd หากเอาต์พุตเหมือนกับของฉัน ทุกอย่างเรียบร้อยดี ตอนนี้คุณสามารถเชื่อมต่อกับ ssh ผ่านพอร์ต 25333 ได้
การตั้งเวลา
คุณสามารถดูเวลาบนเซิร์ฟเวอร์ได้โดยใช้คำสั่ง date: หากต้องการเปลี่ยนเขตเวลา คุณต้องเลือกไฟล์โซนเวลาที่เหมาะสมใน /usr/share/zoneinfo หากเขตเวลาของคุณคือมอสโก ให้ทำดังต่อไปนี้: # mv /etc/localtime /etc/localtime.bak # ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime ติดตั้งยูทิลิตี้การซิงโครไนซ์เวลาใน CentOS:# ยำติดตั้ง -y ntp มาซิงโครไนซ์เวลากันหนึ่งครั้ง:# /usr/sbin/ntpdate pool.ntp.org หาก ntpdate ใช้งานไม่ได้ ให้ดูที่เนื้อหา อาจเป็นกรณีของคุณ มาเริ่ม synchronization daemon และบันทึกการเปิดตัวเมื่อเริ่มต้น: # systemctl เริ่ม ntpd # systemctl เปิดใช้งาน ntpd ln -s "/usr/lib/systemd/system/ntpd.service" "/etc/systemd/system/multi-user.target.wants/ntpd.service" ตอนนี้นาฬิกาของเราจะซิงโครไนซ์กับเซิร์ฟเวอร์เวลาโดยอัตโนมัติ
รายละเอียดเพิ่มเติมเกี่ยวกับหัวข้อนี้เขียนแยกต่างหากในเนื้อหาของฉัน - การติดตั้งการกำหนดค่าและการซิงโครไนซ์เวลาใน CentOS
การเพิ่มที่เก็บข้อมูล
หากต้องการติดตั้งซอฟต์แวร์ต่างๆ คุณต้องเชื่อมต่อที่เก็บข้อมูลใน CentOS ที่ได้รับความนิยมมากที่สุดคือ EPEL และ rpmforge ดังนั้นมาเพิ่มกัน ก่อนอื่นเราติดตั้ง EPEL ทุกอย่างง่ายดายด้วยมันถูกเพิ่มจากแหล่งเก็บข้อมูลมาตรฐาน: # yum -y ติดตั้ง epel-release ติดตั้ง rpmforge: # รอบต่อนาที -- นำเข้า http://apt.sw.be/RPM-GPG-KEY.dag.txt # yum -y ติดตั้ง http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm การติดตั้ง iftop, atop, htop บน CentOS 7
และสุดท้าย เรามาเพิ่มยูทิลิตี้ที่มีประโยชน์บางอย่างที่อาจมีประโยชน์ระหว่างการทำงานของเซิร์ฟเวอร์
iftop แสดงการโหลดอินเทอร์เฟซเครือข่ายแบบเรียลไทม์สามารถเปิดใช้งานได้ด้วยปุ่มต่าง ๆ ฉันจะไม่เน้นรายละเอียดนี้โดยละเอียดมีข้อมูลในหัวข้อนี้บนอินเทอร์เน็ต เราใส่: # yum -y ติดตั้ง iftop และตัวจัดการงานที่น่าสนใจสองตัว ฉันมักใช้ htop บ่อยที่สุด แต่บางครั้งบนยอดก็มีประโยชน์ มาติดตั้งทั้งสองอย่าง ดูด้วยตัวคุณเอง ค้นหาว่าคุณชอบอะไรมากที่สุด อะไรที่เหมาะกับคุณ: # yum -y ติดตั้ง htop # yum -y ติดตั้งบนยอด นี่คือลักษณะของ htop:
นั่นคือทั้งหมดสำหรับฉัน การตั้งค่าพื้นฐาน CentOS 7 เสร็จสิ้น คุณสามารถเริ่มการติดตั้งและกำหนดค่าฟังก์ชันการทำงานหลักได้
วิดีโอการตั้งค่า CentOS 7
บทสรุป
เราได้ทำตามขั้นตอนการตั้งค่าเริ่มต้นบางอย่างที่ฉันมักจะทำเมื่อเตรียมเซิร์ฟเวอร์แล้ว ฉันไม่เสแสร้งว่าเป็นความจริงแท้ บางทีฉันอาจพลาดบางสิ่งบางอย่างหรือทำบางอย่างที่ไม่ถูกต้องทั้งหมด ฉันยินดีที่จะแสดงความคิดเห็นและข้อเสนอแนะที่สมเหตุสมผลและมีความหมาย
จะมีประโยชน์ในการเชื่อมต่อเซิร์ฟเวอร์กับระบบตรวจสอบทันทีหลังการกำหนดค่า หรือตั้งค่าหากคุณยังไม่มี
ขอบคุณสำหรับข้อมูล: http://serveradmin.ru
เมื่อเร็ว ๆ นี้ การใช้ระบบเสมือนจริงทุกที่กลายเป็นกระแสนิยม เรามีเซิร์ฟเวอร์พร้อมติดตั้ง CentOS 7 ขั้นต่ำ x64และเราวางแผนที่จะใช้ เควีเอ็ม .
แน่นอนว่า คงจะดีไม่น้อยหากเซิร์ฟเวอร์ของเรารองรับระบบเสมือนจริง (แต่ถ้าคุณมีเซิร์ฟเวอร์ธรรมดาที่ทันสมัยฉันคิดว่ามันรองรับได้ 100%). Egrep "(vmx|svm)" /proc/cpuinfo ติดตั้ง KVM บนเซิร์ฟเวอร์ของเรา:
ติดตั้งแพ็คเกจและเครื่องมือที่จำเป็น: ยำติดตั้ง qemu-kvm libvirt libvirt-python libguestfs-tools virt-install –y อย่าลืมเพิ่มในการเริ่มต้น: Systemctl เปิดใช้งาน libvirtd && systemctl เริ่ม libvirtd มาสร้างไดเร็กทอรีสำหรับจัดเก็บอิมเมจเครื่องเสมือน: Mkdir /var/vm เรามีสองวิธีที่นี่ หรือเราเพิ่มบริบทที่เหมาะสมสำหรับไดเร็กทอรีของเรา เพื่อที่ SElinux จะไม่สาบาน: จัดการ fcontext --add -t virt_image_t "/var/vm(/.*)?" Restorecon -R -v /var/vm หรือเพียงแค่ปิดการใช้งาน โดยทั่วไปแล้วก็พร้อมแล้ว สิ่งที่เหลืออยู่คือทำการเปลี่ยนแปลงการตั้งค่าเครือข่ายหากจำเป็น ดูรายการเครือข่ายที่เป็นไปได้ คุณสามารถใช้คำสั่ง "»
รายการสุทธิ virsh โดยค่าเริ่มต้น เรามีเครือข่ายภายในหนึ่งเครือข่าย ซึ่งสามารถแก้ไขได้ด้วยคำสั่ง “ virsh net-edit เป็นค่าเริ่มต้น " โดยที่ "ค่าเริ่มต้น" คือชื่อของเครือข่าย
มาสร้างเครื่องเสมือนกันเถอะ ตัวอย่างเช่น (ตรวจสอบ) มาสร้างเครื่องเสมือนเครื่องแรกด้วยการตั้งค่าง่ายๆ และการเชื่อมต่อกับเครือข่าย "เริ่มต้น" ขั้นแรก มาดาวน์โหลดอิมเมจ OS ที่เราจะติดตั้งบนเซิร์ฟเวอร์กันก่อน Virt-install --network network=default --name vm1 --ram=2048 --vcpus=1 --disk path=/var/vm/vm1.img,size=20,format=qcow2 --graphics vnc,password =123 --cdrom /home/iso/CentOS-7-x86_64-Minimal-1503-01.iso --boot cdrom,hd,menu=on - --เครือข่ายเครือข่าย=ค่าเริ่มต้นเชื่อมต่อเครื่องเสมือนกับเครือข่ายเสมือนชื่อค่าเริ่มต้น
- --ชื่อระบุชื่อของเครื่องเสมือน
- --แรม=ระบุขนาด แรมที่เราเน้น
- --vcpus=เราระบุจำนวนโปรเซสเซอร์ที่เราจัดสรร
- --ดิสก์ระบุตำแหน่ง รูปแบบ และขนาดของดิสก์เสมือน
- --graphics vnc,รหัสผ่าน=123ระบุรหัสผ่านและความสามารถในการเชื่อมต่อกับเทอร์มินัลเครื่องเสมือนผ่าน VNC
- --cdromเราระบุตำแหน่งของภาพที่เราจะติดตั้งระบบ
- --บูตสิ่งที่เชื่อมต่อระหว่างการบู๊ต
คำสั่งข้างต้นสามารถป้อนในหนึ่งบรรทัด: virt-install --network network=default --name vm1 --ram=2048 --vcpus=1 --disk path=/var/vm/vm1.img,size=20 , format=qcow2 --graphics vnc,password=123 --cdrom /home/iso/CentOS-7-x86_64-Minimal-1503-01.iso --boot cdrom,hd,menu=on และเราจะเห็น: กำลังดำเนินการติดตั้ง... กำลังจัดสรรทรัพยากร "vm1.img"... | 10 GB 00:00:00 การสร้างโดเมน... | 0 B 00:00:00 การติดตั้งโดเมนดำเนินต่อไป กำลังรอการติดตั้งให้เสร็จสิ้น... การเชื่อมต่อกับเครื่องเสมือนผ่าน VNC
เนื่องจากเซิร์ฟเวอร์ของเราไม่ได้ ผู้จัดการหน้าต่างจากนั้นเพื่อที่จะติดตั้งและกำหนดค่าเราจำเป็นต้องเชื่อมต่อ ในการตั้งค่าเมื่อสร้างเครื่องเสมือน “--graphics vnc,password=123” เราระบุว่าเราสามารถเชื่อมต่อกับเทอร์มินัลผ่าน VNC ได้
เครื่องเสมือนของเราได้รับการกำหนดพอร์ต VNC คุณสามารถดูได้ว่าพอร์ตใดถูกกำหนดให้กับเครื่องเสมือนเฉพาะด้วยคำสั่ง (โดยที่ "vm1" คือชื่อของเครื่องเสมือน): Virsh vncdisplay vm1 127.0.0.1:0 ซึ่งหมายความว่าพอร์ต VNC คือ 5900+0=5900 หากผลลัพธ์เป็น "127.0.0.1:1" พอร์ต VNC จะเป็น 5901 เป็นต้น คุณต้องเชื่อมต่อกับพอร์ตบนโฮสต์ (เซิร์ฟเวอร์ของเราที่เรากำหนดค่าไว้) ของเครื่องเสมือน
ตามค่าเริ่มต้น โฮสต์เครื่องเสมือน (ของเราคือ CentOS 7 ขั้นต่ำ) ไม่ควรอนุญาตให้เชื่อมต่อกับพอร์ตอื่นใดนอกเหนือจาก ssh (22/tcp) ฉันไม่แนะนำให้คุณเปิดการเข้าถึงพอร์ต VNC จากภายนอก มันไม่ปลอดภัย เพื่อเข้าถึงหน้าจอเครื่องเสมือนจากเวิร์กสเตชัน Windows ที่ฉันกำหนดค่าทุกอย่าง ฉันได้ทำการพอร์ตทันเนลใน Putty: 5900 -> 127.0.0.1:5900
หลังจากเข้าสู่ระบบผ่าน ssh สำเร็จแล้ว คุณสามารถเปิด TightVNC และระบุพอร์ต 127.0.0.1::5900 (สังเกตเครื่องหมายโคลอนคู่)
ด้วยการเชื่อมต่อกับเครื่องเสมือน เราสามารถติดตั้งระบบปฏิบัติการและดำเนินการกำหนดค่าในภายหลังได้
การจัดการเครื่องเสมือน:
กำลังเปิดเครื่องเสมือน Virsh เริ่มต้น vm1 การปิดเครื่องเสมือน Virsh ปิดระบบ vm1.1 การถอดสายไฟ: Virsh ทำลาย vm1 ระบบกันสะเทือน: Virsh ระงับ vm1 เชื่อมต่ออิมเมจ ISO เข้ากับเครื่องเสมือนเป็นซีดีรอม Virsh ไฟล์แนบดิสก์ vm1 /home/iso/CentOS-7-x86_64-Minimal-1503-01.iso hda --type cdrom --mode อ่านอย่างเดียว Virsh ไฟล์แนบดิสก์ vm1 "" hda --type cdrom --mode อ่านได้อย่างเดียว เพื่อให้แน่ใจว่าเมื่อรีสตาร์ทโฮสต์ เครื่องเสมือน vm1 จะเริ่มทำงานโดยอัตโนมัติ: Virsh เริ่มอัตโนมัติ vm1.1 ปิดการใช้งานการเริ่มอัตโนมัติสำหรับ vm1: ปิดการใช้งานอิมเมจ ISO (อย่าถอดอุปกรณ์ออกจากแขก แต่เพียง "ลบซีดีออกจากไดรฟ์"): Virsh ไฟล์แนบดิสก์ vm1 "" hda --type cdrom --mode อ่านได้อย่างเดียว
มีบทความที่คล้ายกันค่อนข้างมาก แต่เนื่องจากฉันได้เตรียมบทความเกี่ยวกับการตั้งค่าที่เกี่ยวข้องกับ CentOS เพิ่มเติมแล้ว ดังนั้น ฉันจะยังคงอธิบายกระบวนการติดตั้งต่อไป นอกจากนี้มันจะไม่คงอยู่นาน ดังนั้นไปที่เว็บไซต์อย่างเป็นทางการในส่วนดาวน์โหลดและดาวน์โหลดในกรณีของฉัน DVD ISO:
หากทันใดความเร็วไม่ทำให้คุณพอใจด้านล่างก็มีโอกาสที่จะดาวน์โหลดผ่านทอร์เรนต์เช่น - ฉันกำลังแจกจ่ายการแจกจ่ายนี้ด้วย คนอื่นกำลังแจกจ่าย... และดังนั้นคุณจะประสบความสำเร็จ ความเร็วสูงสุดกำลังดาวน์โหลดภายในความสามารถของช่องทางอินเทอร์เน็ตของคุณ ฉันจะยังคงดาวน์โหลด เวอร์ชันเต็ม CentOS และไม่ใช่ขั้นต่ำอย่างที่ฉันเผยแพร่ก่อนหน้านี้
หลังจากดาวน์โหลด เราจะสร้างเครื่องเสมือนและเชื่อมต่ออิมเมจที่ดาวน์โหลดใหม่เข้ากับเครื่องนั้น ในกรณีของฉันมันจะเป็น Oracle VM VirtualBox คลิกสร้าง ให้ชื่อเป็น “centos” ประเภทคือ Linux และเนื่องจากน่าเสียดายที่ไม่มี CentOS อยู่ในรายการเวอร์ชัน เราจึงเลือก หมวกแดง 64 บิต (แม้ว่าเครื่องเสมือนของคุณจะมี RAM น้อยกว่า 2 GB ให้ติดตั้ง 64 บิต แต่บ่อยครั้งที่การติดตั้งระบบปฏิบัติการไม่ทำงาน):
คลิก "ถัดไป" และหลังจากนั้น - "สร้างเสมือนใหม่ ฮาร์ดไดรฟ์»:
และเลือกดิสก์เริ่มต้น “VDI”:
คลิก "ถัดไป" และปล่อยให้ฝาปิดอยู่ที่ "Dynamic virtual hard disk":
คลิก “ถัดไป” จากนั้นระบุขนาด ฮาร์ดไดรฟ์เพื่อไม่ให้กังวลเกี่ยวกับพื้นที่ว่างเราระบุประมาณ 40 GB เนื่องจากดิสก์ของเราเป็นไดนามิกพื้นที่จะถูกใช้บนฮาร์ดไดรฟ์จริงตามต้องการนั่นคือ 40 GB ทั้งหมดจะไม่ถูกจองไว้ในฮาร์ดไดรฟ์ของเรา ทันที:
จากนั้นคลิกที่ปุ่ม "สร้าง" หลังจากนั้นคลิกที่ปุ่ม "กำหนดค่า" ไปที่เมนู "ระบบ" และในแท็บ "ตัวประมวลผล" หากจำเป็นให้เลือก CPU 2-3 ตัว (ในกรณีของฉันคือการติดตั้ง อยู่บน Core i7 - 8 คอร์ ดังนั้นฉันจึงสามารถซื้อได้):
หลังจากเลือกภาพแล้ว เราก็จะได้ภาพดังนี้:
ไปที่เมนู "เครือข่าย" เนื่องจากในกรณีของฉันฉันมีเราเตอร์ที่บ้านซึ่งออกที่อยู่ IP (เซิร์ฟเวอร์ DHCP) จากนั้นฉันจะเลือกประเภทการเชื่อมต่อ "Network Bridge" ด้วยการเลือกการ์ดเครือข่ายของฉันบนเครื่องทำงาน ใน "ขั้นสูง" ฉันแน่ใจว่าประเภทอะแดปเตอร์เป็นแบบมาตรฐาน การ์ดเครือข่ายอินเทลโปร/1000MT:
หลังจากนั้นคลิกที่ปุ่ม "ตกลง"
อย่างไรก็ตาม หากคุณใช้ VmWare คุณจะต้องแก้ไขไฟล์ vmx ของเครื่องเสมือนของเรา (หลังการสร้าง) คลิกขวาที่ไฟล์ vmx แล้วเปิดเช่นใน notepad หรือ Notepad++:
และที่ด้านล่างสุดให้เพิ่ม:
|
อีเธอร์เน็ต0. virtualDev = "e1000"
|
และบันทึกไฟล์ vmx ของเรา นี่เป็นสิ่งจำเป็นสำหรับ CentOS 7 เพื่อดูการ์ดเครือข่ายเสมือนของคุณใน VmWare
กลับไปที่ VirtualBox ของเราแล้วเปิดเครื่องเสมือนโดยใช้ปุ่ม "Run":
หลังจากนั้นเลือก “ติดตั้ง CentOS 7”:
กระบวนการติดตั้งจะเริ่มขึ้น เลือกภาษารัสเซีย:
หลังจากนั้นคลิกปุ่ม "ดำเนินการต่อ" และเลือกโปรแกรมที่จะติดตั้ง:
หลังจากนั้นที่มุมซ้ายบนให้คลิกที่ปุ่ม "เสร็จสิ้น" หลังจากนั้นไปที่ "ตำแหน่งการติดตั้ง":
เลือกฮาร์ดไดรฟ์ของเราแล้วคลิกปุ่ม "เสร็จสิ้น":
คลิกที่ของเรา อะแดปเตอร์เครือข่ายและเปิดใช้งานโดยคลิกที่ปุ่มนี้:
หลังจากนี้คลิกที่ปุ่ม "เสร็จสิ้น" ณ จุดนี้ การตั้งค่าในเมนูใกล้จะเสร็จสมบูรณ์แล้ว และคลิกที่ปุ่ม "เริ่มการติดตั้ง":
ระหว่างการติดตั้ง เราจะต้องตั้งรหัสผ่านสำหรับผู้ใช้รูทและสร้างผู้ใช้ ในการเริ่มต้นคลิกที่ "รหัสผ่าน ROOT" และตั้งค่าของเรา รหัสผ่านที่ซับซ้อนตรวจสอบให้แน่ใจว่ามีการติดตั้งแล้ว ภาษาอังกฤษ(ที่มุมขวาบน "พวกเรา"):
หากรหัสผ่านไม่ซับซ้อนพอ ระบบจะแจ้งให้คุณทราบ คุณเพียงแค่คลิกที่ปุ่ม "เสร็จสิ้น" สองครั้งและรหัสผ่านก็จะได้รับการยอมรับ
หลังจากนั้นให้สร้างผู้ใช้:
ทุกอย่างเรียบง่ายเหมือนกันที่นี่ - ชื่อเต็ม- ชื่อนามสกุลของคุณ จากนั้นชื่อผู้ใช้ (ในกรณีของฉัน sergey) จากนั้นเราสามารถให้สิทธิ์ผู้ดูแลระบบแก่ผู้ใช้ได้ทันที โดยทำเครื่องหมายที่ช่อง “ทำให้ผู้ใช้รายนี้เป็นผู้ดูแลระบบ” และป้อน “รหัสผ่าน” ด้านล่างและยืนยันของเรา รหัสผ่านด้านล่าง:
หากรหัสผ่านไม่ซับซ้อนเพียงพอ ให้คลิกที่ปุ่ม "เสร็จสิ้น" สองครั้ง ต่อไปเราจะรอจนกว่าระบบปฏิบัติการของเราจะได้รับการติดตั้งและกำหนดค่า:
หลังการติดตั้ง คลิกที่ปุ่ม “รีบูต” ด้านล่าง และรอจนกว่าระบบปฏิบัติการที่ติดตั้งใหม่จะรีบูต:
หลังจากรีบูตเราจำเป็นต้องยอมรับใบอนุญาต โดยคลิกที่ "ข้อมูลใบอนุญาต"
และยอมรับ (อย่าลืมอ่าน นี่เป็นข้อตกลงใบอนุญาตที่สั้นที่สุดข้อหนึ่ง :)):
และคลิกที่ปุ่ม "เสร็จสิ้นการตั้งค่า":
หลังจากนี้คุณจะได้รับแจ้งให้กำหนดค่า Kdump ที่นี่เราไม่สามารถแตะสิ่งใดได้เลยและคลิกที่ "ส่งต่อ":
หลังจากนี้มาเข้าสู่โปรไฟล์ผู้ใช้กัน อย่าลืมเปลี่ยนภาษาในการป้อนรหัสผ่านของคุณ:
Voila ทุกอย่างได้รับการติดตั้งแล้ว:
หลังจากนั้นให้เชื่อมต่อดิสก์อิมเมจของ Guest OS เพิ่มเติม:
หลังจากนั้นคลิกที่ไฟล์ autorun.sh ป้อนรหัสผ่านของเราพร้อมสิทธิ์และดูว่าติดตั้งทุกอย่างแล้ว:
หลังการติดตั้ง ให้กดปุ่ม Enter บนคอนโซลและรีบูตระบบของเรา หลังจากนั้นเราจะใช้การเพิ่มเติมทั้งหมด นั่นคือทั้งหมดที่
การติดตั้งบนเครื่องเสมือนอื่นทำได้โดยการเปรียบเทียบ ฉันคิดว่าการติดตั้งบนเครื่องเสมือนอื่นๆ ไม่ใช่เรื่องยาก
กำลังเตรียมเซิร์ฟเวอร์ การตรวจสอบการสนับสนุนจากโปรเซสเซอร์:
แมว /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— ไฮเปอร์ไวเซอร์นั้นเอง; ลิบเวียร์ต— ไลบรารีการจัดการการจำลองเสมือน 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 ขอบเขต global 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
- การทดสอบครั้งแรก -ชื่อของเครื่องที่กำลังสร้าง
- ไม่มีออโต้คอนโซล —ไม่เชื่อมต่อกับคอนโซลเครื่องเสมือนโดยอัตโนมัติหลังจากการสร้าง
- เครือข่าย -ประเภทเครือข่าย (ในตัวอย่างของเรา สะพานเครือข่าย)
- ราม -จำนวน RAM ที่จะจัดสรร
- วีพัส —จำนวนโปรเซสเซอร์เสมือน
- ดิสก์ -ดิสก์เสมือน: เส้นทาง — เส้นทางไปยังดิสก์; ขนาด — ปริมาณ;
- ซีดีรอม - ไดรฟ์เสมือนด้วยอิมเมจระบบ
- กราฟิกพารามิเตอร์การเชื่อมต่อกับเครื่องเสมือนโดยใช้ คอนโซลกราฟิก(วี ในตัวอย่างนี้ใช้วีเอ็นซี); ฟัง — ที่อยู่ใดที่ได้รับคำขอ 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 ในหน้าต่างที่เปิดขึ้น เซิร์ฟเวอร์เควีเอ็มและพอร์ตที่ VM ของเรากำลังฟังอยู่ (ในตัวอย่างนี้ 5900):
คลิก เชื่อมต่อ- โปรแกรมจะถามรหัสผ่าน - ป้อนรหัสผ่านที่คุณระบุเมื่อสร้าง VM (ในตัวอย่างนี้ my_password- เราจะเชื่อมต่อกับเครื่องเสมือนราวกับว่ามีจอภาพหรือคอนโซล KVM ระยะไกลเชื่อมต่ออยู่ ผู้ดูแลระบบและรหัสผ่านที่สร้างขึ้นเมื่อดำเนินการคำสั่ง การตั้งค่าเครื่องยนต์- หลังจากเข้าสู่ระบบสำเร็จ คุณสามารถจัดการเครื่องเสมือนผ่านเว็บอินเตอร์เฟสได้
|