วิธีลง Centos 6 domU บน Xen ที่ใช้ Debian Squeeze dom0

[b]วิธีลง Centos 6 domU บน Xen ที่ใช้ dom0 เป็น Debian Squeeze

[/b]

[color="#8B0000"]ขอออกตัวก่อนนะครับว่าไม่ได้มีความรู้ Xen หรือ Centos มาก เพราะเพิ่งลง Xen ครั้งแรกไปได้เมื่อสองสามวันก่อน ส่วน Centos ก็เป็นการลงครั้งแรกในชีวิต (ปกติใช้ Debian) ที่อยากลอง Centos เพราะอยากลองเล่นพวก Control Panel ดูแล้วเห็นจะ support Centos ซะเยอะ แล้วพอดีกับ Centos 6 เพิ่งออกมาเลยอยากลองของดู :smiley:

[/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 ครับ :smiley:

[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]

มีรูปมาฝากด้วยครับ

ขอบคุณครับ +1

centos 6 support kvm full virtualize ครับ

ส่วนถ้า Dom0 เป็น xen ต้องปรับ mode ของ xen เป็น full virtualize ด้วยครับถึงจะใช้งานได้สมบูรณ์ โดยที่ centos 6 ไม่ต้องลง kernel xen แต่อย่างใด

แวะมา +1 ให้กับ “มือใหม่” ครับ น่าจะใหม่เฉพาะในนี้

อ่อ เข้าใจแล้วครับ ขอบคุณมากครับ เดี๋ยวจะลองกลับไปเช็คดู :smiley:

CentOS ในรูปแบบของ Full Virtualize … Bandwidth speed ที่ได้ รู้สึกเหมือนจะโดนอั้นที่ 10Mbit/s ครับ ที่วิ่งไม่เต็มเพราะว่า PV driver ไม่ Support จะต้องย้ายเปลี่ยนเป็น Para-Virt แทนครับ แต่รายละเอียดจริงยังไม่ได้ตามแกะ เพราะตอนนี้ชุลมุนหลายอย่างครับ