Fedora16 上安装 Xen 4.1.2

CentOS 6.2 虽然已经发布了,但她上面默认的虚拟化管理器是KVM,本人之前一直在使用XEN,所以还是有点感情的,当然我觉得KVM和XEN都不错,但是XEN用起来还是顺手一点。

在CentOS上安装XEN 4.1.2 还是有点复杂的,大家可以参考XEN的官方WIKI 这里就不再赘述了。下面我们就开始Fedora 16 (简称 F16 ) 的XEN 之旅吧。

已知问题:

内核必须是64位的或是32位的PAE内核。

1.安装Fedora 16 和以前的版本没什么区别

这里就是有一点需要注意的是:

在分区的时候,建立一个大小为 2MB 的BIOS Boot 分区,如下图:

然后再进行 /boot 分区,根分区,SWAP 分区,因为 F16 使用了 GPT 分区表 <!-- more -->

2.升级 Fedora 16 和 修改网卡名为 eth0

升级F16 很方便

yum update -y

#使用 systemctl 禁用 NetworkManager 和启用 network 服务
systemctl disable NetworkManager.service || systemctl enable network.service
#关闭SELINUX
sed -i 's:SELINUX=enforcing:SELINUX=disabled:g' /etc/selinux/config
reboot

修改网卡名 p3p1 为 eth0

3.安装XEN 4.1.2

yum -y install xen libvirt python-virtinst

grub2-set-default "0"

vim /boot/grub2/grub.cfg

#找到submenu "Xen xen"这一行把紧跟下面的一段 COPY 到 ### BEGIN /etc/grub.d/10_linux ### 下面,如下:
menuentry 'Fedora Linux, with Xen xen and Linux 3.1.5-6.fc16.x86_64' --class fedora --class gnu-linux --class gnu --class os --class xen {
        insmod part_gpt
        insmod ext2
        set root='(hd0,gpt2)'
        search --no-floppy --fs-uuid --set=root 90a7ac83-2fa8-4007-b07f-1b2b48cc12d6
        echo    'Loading Xen xen ...'
        multiboot       /xen.gz placeholder
        echo    'Loading Linux 3.1.5-6.fc16.x86_64 ...'
        module  /vmlinuz-3.1.5-6.fc16.x86_64 placeholder root=/dev/mapper/VolGroup-LogVol01 ro rd.lvm.lv=VolGroup/LogVol01 rd.lvm.lv=VolGroup/LogVol00 rd.dm=0 LANG=zh_CN.UTF-8  KEYTABLE=us quiet rhgb rd.md=0 rd.luks=0 biosdevname=0
        echo    'Loading initial ramdisk ...'
        module  /initramfs-3.1.5-6.fc16.x86_64.img
}

reboot

4.确认 xen 4.12  信息,添加网卡桥接

xm dmesg | less
 __  __            _  _    _   ____    ____     __      _  __
 \ \/ /___ _ __   | || |  / | |___ \  |___ \   / _| ___/ |/ /_
  \  // _ \ '_ \  | || |_ | |   __) |__ __) | | |_ / __| | '_ \
  /  \  __/ | | | |__   _|| |_ / __/|__/ __/ _|  _| (__| | (_) |
 /_/\_\___|_| |_|    |_|(_)_(_)_____| |_____(_)_|  \___|_|\___/ 

(XEN) Xen version 4.1.2 (mockbuild@phx2.fedoraproject.org) (gcc version 4.6.2 20111027 (Red Hat 4.6.2-1) (GCC) ) Mon Nov 21 17:06:26 UTC 2011
(XEN) Latest ChangeSet: unavailable
(XEN) Bootloader: GRUB 1.99
(XEN) Command line: placeholder
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009fc00 (usable)
(XEN)  000000000009fc00 - 00000000000a0000 (reserved)
(XEN)  00000000000e0000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000bdda0000 (usable)
(XEN)  00000000bdda0000 - 00000000bddae000 (ACPI data)

#修改ifcfg-eth0和添加ifcfg-br0文件
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-br0

vim ifcfg-eth0
#添加以下内容
DEVICE="eth0"
ONBOOT="yes"
NM_CONTROLLED="no"
HWADDR=XX:XX:XX:XX:XX:XX
TYPE=Ethernet
BRIDGE=br0

vim ifcfg-br0
#添加以下内容
DEVICE="br0"
BOOTPROTO=static
ONBOOT="yes"
NM_CONTROLLED="no"
TYPE=Bridge
IPADDR=XXX.XXX.XXX.XXX
NETMASK=255.255.255.0
GATEWAY=XXX.XXX.XXX.XXX
DNS1=8.8.8.8
IPV6INIT=no
DELAY=0

systemctl restart network.service

5.安装 xen pv 或者 xen hvm

#xen pv
virt-install \
  --paravirt \
  --name=testpv \
  --ram=512 \
  --network bridge=br0
  --file /dev/vmstorage/testvm \
  --graphics vnc,port=5905 --noautoconsole \
  --autostart \
  --location=http://mirrors.ustc.edu.cn/centos/6.2/os/x86_64/

#xen hvm
virt-install -n test-node1 -v -r 512 --vnc --network bridge=br0 -f /dev/mapper/VolGroup-c--node1 -l nfs://192.168.1.1:/media/iso1