Fedora16 上安装 Xen 4.1.2
21 Dec 2011CentOS 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
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