[b]วิธีลง Centos 6 domU บน Xen ที่ใช้ dom0 เป็น Debian Squeeze
[/b]
[color="#8B0000"]ขอออกตัวก่อนนะครับว่าไม่ได้มีความรู้ Xen หรือ Centos มาก เพราะเพิ่งลง Xen ครั้งแรกไปได้เมื่อสองสามวันก่อน ส่วน Centos ก็เป็นการลงครั้งแรกในชีวิต (ปกติใช้ Debian) ที่อยากลอง Centos เพราะอยากลองเล่นพวก Control Panel ดูแล้วเห็นจะ support Centos ซะเยอะ แล้วพอดีกับ Centos 6 เพิ่งออกมาเลยอยากลองของดู
[/color]
ยังไม่ได้ลองเทสมากนะครับ เลยยังไม่รู้ว่ามันเสถียรแค่ไหน… อ่อแล้วนี่ก็เป็น howto แรกที่เขียนครับ ผิดพลาดประการใดก็ขออภัยด้วยครับ
** วิธีการลงก็คล้ายกับ Wiki ของ Centos 5 แหละครับแต่ต่างกันตรงที่
-
ผมใช้ LVM แทนที่จะเป็นไฟล์
-
Install แบบ interactive แทนที่จะเป็นแบบ kickstart
-
ต้องแก้ MAC address ของ eth0 เพิ่มเติมเพื่อจะทำให้ใช้ได้
สมมุติว่าได้มีการติดตั้ง Xen ลงบนเครื่อง Debian เรียบร้อยแล้ว
1. ใช้ LVM เพื่อสร้าง Logical Volume
# lvmcreate -n hostname-disk -L100G /dev/doms
2. โหลด installation image จาก mirror
http://mirror.centos.org/centos/6/os/i386/isolinux/vmlinuz
http://mirror.centos.org/centos/6/os/i386/isolinux/initrd.img
หรือ
http://mirror.centos.org/centos/6/os/x86_64/isolinux/vmlinuz
http://mirror.centos.org/centos/6/os/x86_64/isolinux/initrd.img
3. สร้าง configuration ไฟล์สำหรับ guest ตัวใหม่
# vi /etc/xen/hostname.cfg
kernel = "/tmp/vmlinuz"
ramdisk = "/tmp/initrd.img"
name = "hostname"
memory = "2048"
disk = [
'phy:/dev/doms/hostname-disk,xvda,w,
]
vif = [ 'bridge=xenbr0',]
vcpus = 1
on_reboot = 'destroy'
on_crash = 'destroy'
4. เริ่มการ install
# xm create /etc/xen/hostname.cfg -c
ตัว guest จะถูก boot ขึ้นมาเพื่อเริ่มการ install ให้ลงตามปกติ
5. เปลี่ยน configuration เพื่อ boot guest
ลบบรรทัด kernel กับ ramdisk แล้วเพิ่มบรรทัด
bootloader="/usr/bin/pygrub"
# vi /etc/xen/hostname.cfg
name = "hostname"
memory = "2048"
disk = [
'phy:/dev/doms/hostname-disk,xvda,w,
]
vif = [ 'bridge=xenbr0',]
vcpus = 2
bootloader="/usr/bin/pygrub"
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
6. บู๊ท guest
# xm create -c /etc/xen/hostname.cfg
ถ้าไม่มีปัญหาอะไร guest ก็จะถูกบู๊ทขึ้นมา
7. แก้ network card ใช้ไม่ได้
จากการใช้คำสั่ง
ifup eth0 จะทำให้เกิด error
Device eth0 has different MAC address than expected, ignoring.
เมื่อลองไปเปิดดูไฟล์ /etc/sysconfig/network-scripts/ifcfg-eth0 จะเห็นว่าได้มีการ config ค่า HWADDR เอาไว้ซึ่งดูเหมือนว่าจะไม่ถูกต้อง วิธีการดูว่าต้องใช้ค่าอะไร ให้กลับไปที่ dom0 แล้วใช้คำสั่ง xm network-list เพื่อหา MAC address ที่ถูกต้องพร้อมทั้งแก้ไฟล์ ifcfg-eth0
ใช้คำสั่ง ifup eth0 เพื่อ bring up interface eth0 ขึ้นมา
8. Update Xen kernel
ท่าน icez บอกมาว่า Centos 6 support อยู่แล้ว จึงไม่ต้องลง Xen kernel ครับ
[s]เข้าใจว่าเนื่องจาก Centos 6 ยังใหม่อยู่จึงอาจจะไม่มี xen kernel นะครับ ผมได้ลองใช้คำสั่ง yum install kernel-xen ดู แต่รู้สึกว่าตัวที่ download มายังไม่ได้เป็นตัว optimize อยู่ดี
ผลที่ได้จากการใช้คำสั่ง
rpm -qa kernel\*
kernel-2.6.32-71.el6.x86_64
kernel-firmware-2.6.32-71.29.1.el6.noarch
kernel-2.6.32-71.29.1.el6.x86_64
และ
uname -a
Linux gamont 2.6.32-71.el6.x86_64 #1 SMP Fri May 20 03:51:51 BST 2011 x86_64 x86_64 x86_64 GNU/Linux
[/s]
มีรูปมาฝากด้วยครับ