การโฆษณา

บ้าน - ซอฟต์แวร์
การติดตั้ง qemu kvm centos 7. การติดตั้ง CentOS ใน VirtualBox

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 มีการเปลี่ยนแปลงบางอย่างเมื่อเทียบกับเวอร์ชันก่อนหน้า

  1. การแนะนำ
  2. การตั้งค่าเริ่มต้นของ CentOS 7
  3. การระบุพารามิเตอร์เครือข่าย
  4. การตั้งค่าไฟร์วอลล์
  5. การตั้งค่า SSH บน CentOS 7
  6. การตั้งเวลา
  7. การเพิ่มที่เก็บข้อมูล
  8. บทสรุป
  9. วิดีโอการตั้งค่า 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 ระยะไกลเชื่อมต่ออยู่

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



 


อ่าน:


ใหม่

วิธีฟื้นฟูรอบประจำเดือนหลังคลอดบุตร:

วิธียกเลิกการสมัครสมาชิก Megogo บนทีวี: คำแนะนำโดยละเอียด วิธียกเลิกการสมัครสมาชิก Megogo

วิธียกเลิกการสมัครสมาชิก Megogo บนทีวี: คำแนะนำโดยละเอียด วิธียกเลิกการสมัครสมาชิก Megogo

ลักษณะและข้อดีของบริการ Megogo หนึ่งในบริการวิดีโอที่ใหญ่ที่สุดในยุโรปตะวันออกและ CIS คือ Megogo แค็ตตาล็อกประกอบด้วยมากกว่า 80,000...

วิธีแบ่งพาร์ติชันดิสก์โดยติดตั้ง Windows โดยไม่สูญเสียข้อมูล แบ่งพาร์ติชันดิสก์ 7

วิธีแบ่งพาร์ติชันดิสก์โดยติดตั้ง Windows โดยไม่สูญเสียข้อมูล แบ่งพาร์ติชันดิสก์ 7

การแบ่งฮาร์ดไดรฟ์ออกเป็นพาร์ติชั่นโดยใช้ Windows7 การแบ่งพาร์ติชั่นไดรฟ์ C:\ ใน Win7 เมื่อซื้อคอมพิวเตอร์หรือแล็ปท็อปเครื่องใหม่ที่มี...

เหตุใดผู้จัดพิมพ์จึงไม่สามารถแก้ไขทุกหน้าได้

เหตุใดผู้จัดพิมพ์จึงไม่สามารถแก้ไขทุกหน้าได้

ผู้ใช้ที่ทำงานใน Microsoft Word บ่อยครั้งอาจประสบปัญหาบางอย่างเป็นครั้งคราว เราได้หารือเกี่ยวกับวิธีแก้ปัญหากับหลายๆ คนแล้ว...

รหัสโปรโมชั่น Pandao สำหรับคะแนน

รหัสโปรโมชั่น Pandao สำหรับคะแนน

บางครั้งเมื่อคุณพยายามเข้าสู่ร้านค้าอย่างเป็นทางการของยักษ์ใหญ่ดิจิทัล Play Market จะเขียนเพื่อเปิดใช้งานรหัสส่งเสริมการขาย เพื่อให้ได้ความครอบคลุม...

ฟีดรูปภาพ อาร์เอสเอส