一、全虚拟方式(hvm)安装
1、打开硬件支持:进入BIOS设置Configuratio >ntel Virtual Technology > Enabled。
2、创建映像
# 你希望在文件增长时才配置数据块,可以用迟缓的方式来配置
dd if=/dev/zero of=/etc/xen/Ubuntu.img oflag=direct bs=1M seek=20479 count=1
# 如果你想立即配置所有数据块,你亦可以这样做:
dd if=/dev/zero of=/etc/xen/Ubuntu.img oflag=direct bs=1M count=20480
3、创建配置文件Ubuntu-hvm.cfg
builder='hvm'
memory="4096"
vcpus=4
name="ubuntu-16.10"
vif = ['mac=00:16:3e:40:dd:11, bridge=br0']
disk=["file:/home/xiaojiatian/xen/img/ubuntu-16.10.img,hda,w","file:/home/xiaojiatian/ubuntu-16.10-server-amd64.iso,hdc:cdrom,r"]
boot="dc"
vnc=1
vnclisten="0.0.0.0"
vncconsole=1
4、安装虚拟机
xm create /etc/xen/ubuntu-hvm.cfg
vncviewer localhost:0
修改Ubuntu-hvm.cfg
builder='hvm'
memory="4096"
vcpus=4
name="ubuntu-16.10"
vif = ['mac=00:16:3e:40:dd:11, bridge=br0']
#disk=["file:/home/xiaojiatian/xen/img/ubuntu-16.10.img,hda,w","file:/home/xiaojiatian/ubuntu-16.10-server-amd64.iso,hdc:cdrom,r"]
disk=["file:/home/xiaojiatian/xen/img/ubuntu-16.10.img,hda,w"]
#boot="dc"
boot="c"
vnc=1
vnclisten="0.0.0.0"
vncconsole=1
注意:
1、配置网桥
2、安装vnc,安装net-tools,安装netstat(查看vnc端口启动)
3、关闭防火墙 sudo systemctl stop firewalld.service、sudo systemctl disable firewalld.service
二、半虚拟方式(pv)安装
2、创建映像
# 你希望在文件增长时才配置数据块,可以用迟缓的方式来配置
dd if=/dev/zero of=/etc/xen/Ubuntu.img oflag=direct bs=1M seek=20479 count=1
# 如果你想立即配置所有数据块,你亦可以这样做:
dd if=/dev/zero of=/etc/xen/Ubuntu.img oflag=direct bs=1M count=20480
3、创建配置文件Ubuntu-pv.cfg
choose an archive mirror https://launchpad.net/ubuntu/+archivemirrors
sudo mkdir -p /var/lib/xen/images/ubuntu-netboot
cd /var/lib/xen/images/ubuntu-netboot
sudo wget <mirror>/ubuntu/dists/precise/main/installer-amd64/current/images/netboot/xen/initrd.gz
sudo wget <mirror>/ubuntu/dists/precise/main/installer-amd64/current/images/netboot/xen/vmlinuz
With a specific mirror chosen:
sudo mkdir -p /var/lib/xen/images/ubuntu-netboot cd /var/lib/xen/images/ubuntu-netboot sudo wget
http://mirror.xtom.com.hk/ubuntu/dists/precise/main/installer-amd64/current/images/netboot/xen/vmlinuzsudo wget
http://mirror.xtom.com.hk/ubuntu/dists/precise/main/installer-amd64/current/images/netboot/xen/initrd.gz
(PS:把Ubuntu镜像文件.iso挂载到/var/www/html上面)
name = "ubuntu-pv"
memory = 1024
disk =['file:/home/xiaojiatian/xen/ubuntu-16.img,xvda,w']
vif = ['mac=00:16:3E:63:34:21,bridge=br0']
vcpus = 1
kernel = "/var/www/html/ubuntu/install/vmlinuz"
ramdisk = "/var/www/html/ubuntu/install/netboot/ubuntu-installer/amd64/initrd.gz"
extra = "debian-installer/exit/always_halt=true -- console=hvc0"
#bootloader = "/usr/local/lib/xen/bin/pygrub"
#bootloader = "pygrub"
xl create -c ubuntu-pv.cfg
安装完成,关闭虚拟机。修改配置文件
ln -s /usr/lib/xen-4.1/bin/pygrub /usr/bin/pygrub
name = "ubuntu-16-pv"
memory = 1024
disk =['file:/home/xiaojiatian/xen/ubuntu-16.img,xvda,w']
vif = ['mac=00:16:3E:63:34:21,bridge=br0']
vcpus = 1
#kernel = "/var/www/html/ubuntu/install/vmlinuz"
#ramdisk = "/var/www/html/ubuntu/install/netboot/ubuntu-installer/amd64/initrd.gz"
#extra = "debian-installer/exit/always_halt=true -- console=hvc0"
#bootloader = "/usr/local/lib/xen/bin/pygrub"
bootloader = "pygrub"
xl create -c ubuntu-pv.cfg进入虚拟机
注意:
make dist PYTHON_PREFIX_ARG=
make install PYTHON_PREFIX_ARG=
Try to find file libpython2.7.so.1.0:
locate libpython2.7.so.1.0
In my case, it show out put:
/opt/rh/python27/root/usr/lib64/libpython2.7.so.1.0
Then add dir /opt/rh/python27/root/usr/lib64 to file /etc/ld.so.conf
And run ldconfig
参考:https://help.ubuntu.com/community/XenProposed
http://www.cnblogs.com/liuyikang/p/3878583.html
pygrub启动失败,查看它的日志,报no module named xen.lowlevel.xc错误,可以修改pygrub,注释掉import xen.lowlevel.xc即可,详细参见https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=588811里面的解释。
pygrub启动失败,查看它的日志,报no module named fsimage错误,可以locate一下fsimage,看到它在/usr/local/lib64/python2.6/site-packages目录下,所以修改pygrub,在import fsimage前面添加sys.path = ['/usr/local/lib64/python2.6/site-packages'] + sys.path 即可,详细参见http://blog.csdn.net/jcwkyl/article/details/6324140里面的解释。