debian: ทดลองติดตั้ง OpenVZ บน lenny
OpenVZ เป็นซอฟต์แวร์ที่ใช้ทำ virtualization ที่ใช้กับลินุกซ์เท่านั้น
มีข้อแตกต่างจาก xen ตรงที่ใช้เพียงเคอร์เนลเดียว
ข้อดีคือ เร็วและพร้อมใช้
ข้อเสียคือ ไม่มีการ swap หน่วยความจำ ถ้าหน่วยความจำเต็ม โปรเซสที่มาทีหลังจะตายหมด
(แต่ก็ยังมีข้อดีในข้อเสีย คือ openvz จะบริหารการสลับหน่วยความจำระหว่าง guest os อย่างมีประสิทธิภาพ และโปรเซสที่รันอยู่ก่อนที่หน่วยความจำจะเต็ม จะยังคงได้ความเร็วที่เกือบคงที่)
กำหนด
cpu: Intel E2140
mb: ECS P4M890T-M V2.0
ram: 4GB
debian: Lenny
host: server1.example.com, 192.168.1.31, 2.6.26-2-openvz-686
guest-101: test.example.com, 192.168.1.131
vz-partition: /dev/sda9
ติดตั้ง
เริ่มบน lenny
# aptitude install linux-image-2.6.26-2-openvz-686 vzctl vzquota
แก้ไขระบบตามคู่มือ
# vi /etc/sysctl.conf
... #openvz net.ipv4.conf.all.rp_filter=1 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.conf.default.forwarding=1 net.ipv4.conf.default.proxy_arp = 0 net.ipv4.ip_forward=1 kernel.sysrq = 1 net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.eth0.proxy_arp=1 ...
สั่งปรับให้มีผลทันที
# sysctl -p
แก้ระบบเน็ตเวิร์คสำหรับ guest ตามคำแนะนำ
# vi /etc/vz/vz.conf
... # Controls which interfaces to send ARP requests and modify APR tables on. #NEIGHBOUR_DEVS=detect NEIGHBOUR_DEVS=all ...
บูตใหม่
# shutdown -r now
ตรวจผลหลังการบูต
# uname -r
2.6.26-2-openvz-686
สมมุติว่าจะติดตั้งระบบ openvz container ไว้ที่ /dev/sda9 ที่ฟอร์แมตเป็น ext3 ไว้เรียบร้อยแล้ว
สั่งหยุดเพิ่อปรับระบบ
# /etc/init.d/vz stop
แก้ไข fstab เพื่อให้เมานต์ที่ /var/lib/vz อัตโนมัติ
# vi /etc/fstab
... /dev/sda9 /var/lib/vz ext3 defaults 0 2 ...
ย้ายไฟล์ที่ติดตั้งแล้วมาที่ /dev/sda9 แล้วเริ่ม openvz ใหม่
# mkdir /mnt/tmp # mount /dev/sda9 /mnt/tmp # mv /var/lib/vz/* /mnt/tmp # umount /mnt/tmp # mount -a # /etc/init.d/vz start
เนื่องจากค่าไฟล์คอนฟิกของ openvz นั้น ปรับต้้งยากมาก เราเลยจะเอา util ของเขามาใช้เป็นตัวอย่าง
ไปที่ที่เก็บไฟล์คอนฟิก
# cd /etc/vz/conf
สร้างตัวอย่างไฟล์คอนฟิก โดยสมมุติว่าเราจะแบ่งให้เซิร์ฟเวอร์เครื่องนี้มี 4 guest os โดยให้ชื่อไอดี (ของอันแรก) ว่า 101
# vzsplit -n 4 > 101.conf
ปรับแต่งค่าอื่น ๆ ของ guest ตามการกำหนดข้างต้น
# vzctl set 101 --onboot yes --save # vzctl set 101 --hostname test.example.com --save # vzctl set 101 --ipadd 192.168.1.131 --save # vzctl set 101 --nameserver ns1.example.com --save
ติดตั้ง guest os โดยไปดาวน์โหลด template มาจาก debian.systs.org
# cd /var/lib/vz/template/cache/ # wget http://debian.systs.org/ostemplates/debian-5.0-i386-minimal.tar.gz
ติดตั้ง
# vzctl create 101 --ostemplate debian-5.0-i386-minimal
หากต้องการคัดลอก apt source-list ก็สามารถคัดลอกจาก host ไปใช้ได้
# cp /etc/apt/sources.list /var/lib/vz/private/101/etc/apt
เริ่มระบบ
# vzctl start 101
ตั้งรหัสผ่านของ guest ให้ root
# vzctl exec 101 passwd
ใช้งานผ่าน vzctl
# vzctl enter 102
(ออกด้วย exit)
หรือใช้งานผ่าน ssh
# ssh root@test.example.com
ติดตั้งส่วนของ guest ที่ยังเหลืออยู่
# aptitude update # aptitude install console-data locales # dpkg-reconfigure locales # aptitude upgrade
เสร็จแล้วครับ
ที่มา
- Printer-friendly version
- Log in or register to post comments
- 6220 reads
Recent comments