Xen on Ubuntu
实验环境
ubuntu-14.04.1-desktop-amd64.iso
Recommended reference:
https://help.ubuntu.com/community/Xen
http://www.xenproject.org/downloads/xen-archives.html
http://www.xenproject.org/downloads/xen-archives/xen-44-series/xen-441.html
Xen的安装
sudo apt-get install xen-hypervisor
apt-get将提示选择合适的版本,如在本次实验的64位ubuntu-14.04.1上,则应安装xen-hypervisor-4.4-amd64。If you do this on a 32-bits Ubuntu14.04, it can only get amd64-version too. So it is recommended to install a 64-bits Ubuntu.
由于现在Linux内核完全支持Xen以及安装Xen的时候自动修改启动菜单,所以用上面的命令安装完成之后重启即可,不需要像以前那样去下载内核、手动更改启动菜单等。
重启之后,在启动菜单上将会显示多了2个启动项,是从原来的Ubuntu正常启动和修复启动两个模式上增加Xen得到的,我们选择带有Xen hypervisor的正常启动模式,进入系统后在终端输入sudo xl list,如果能看到Domain-0则说明Xen安装成功并能正常运行。另外,使用以下命令将后续需要的工具一并安装。
sudo apt-get install virtinst virt-viewer virt-manager
xl list #查看各个域状态
xl shutdown xentest #关闭xentest这个虚拟机
xl start xentest #启动xentest这个虚拟机
xl console xentest 连接xentest控制台,连接到虚拟机上面可以用组合键 ctrl + ] 键切换到物理机
xl destroy - Stop a virtual machine immediately without shutting it down. It's as if you switch off the power button.
网络配置
网络配置容易忽略,起初就因此而造成安装客户机失败。配置过程比较简单,就是做一个桥接。
sudo stop network-manager sudo gedit /etc/network/interfaces
将其中的内容修改为如下:
auto lo iface lo inet loopback auto xenbr0 iface xenbr0 inet dhcp bridge_ports eth0 auto eth0 iface eth0 inet manual
修改完成以后,用以下命令停用、启用网卡使得刚才的配置立即生效。
sudo start network-manager sudo ifdown eth0 && sudo ifup xenbr0 && sudo ifup eth0
命令brctl show 可以查看所有网桥状态
本地Http站点搭建和系统安装镜像的挂载
在Ubuntu上搭建Http站点只需要一条命令:sudo apt-get install apache2,安装完成后即可访问localhost。
要挂载系统安装镜像,使用以下命令,然后访问localhost/os即可看到所挂载的镜像内的文件。
sudo mkdir /var/www/os sudo mount -o loop '/media/manhua/Backup/OS/Ubuntu/CentOS-6.5-x86_64-bin-DVD1.iso' /var/www/html/os/
创建客户机
1. 使用配置文件和已有镜像创建
在http://stacklet.com/ or http://jailtime.org/ 上提供了多种虚拟器的操作系统镜像,比如我下载了ubuntu.10-04.x86-64.20141003.img.tar.bz2,解压后可以得到两个文件,一个是img镜像文件,另一个是cfg启动配置文件:
将配置文件复制到/etc/xen下,并进行修改,指定bootloader和disk文件所在位置
配置好配置文件以后就可以创建客户机create -f ***.cfg,创建成功后将会自动启动,在xl list下可以看到除了Domain-0外还列出了新创建的客户机,而客户机的状态是b,即正在启动。使用xl console <客户机名>可以接入客户机。
启动完成后,就可以看到熟悉的登录提示,成功登录后就可以进行操作,比如列出文件、查看当前操作系统等。
从 http://stacklet.com/ 下载的镜像文件的初始用户名和密码为:root/passwords
当客户机使用完毕后,可以直接在客户机使用poweroff命令关机,也可以通过Xen来控制
#再次启动则使用下面的代码 sudo xl create -f /etc/xen/ubuntu10.04.cfg sudo xl list sudo xl console ubuntu.10-04.x86-64.20141003
2. 使用命令创建
创建镜像文件 dd if=/dev/zero of=test.img bs=1M count=10(if/of=input/output file bs一次读写多大 count多少次)
首先要挂载系统安装镜像,接着就可以使用命令进行安装
sudo mount -o loop '/media/manhua/Backup/OS/Ubuntu/CentOS-6.5-x86_64-bin-DVD1.iso' /var/www/html/os/ sudo virt-install -n cent65-min2 -r 1024 --vcpus 4 -f cent65-min.img -s 4 -l http://localhost/os
-n 指定创建虚拟机的名称
-f 作为磁盘映像使用的文件
-s 磁盘映像的大小,单位为G
-r 指定内存的大小,单位为M
--nographics 表示不安装图形控制台
-l 安装的源
系统安装完成后,其他内容和用挂载方式创建的客户机类似,不再叙述。
3. 使用virt-manager创建
虚拟客户机关闭后内存不能自动回收
sudo xl mem-set 0 mem-value #其中mem-value为大于或等于实际空余内存的值,此时,系统将回收全部可用的内存
something:
1、耐心阅读官方文档
2、有条件尽量要用真机,虚拟机性能太低
3、记得要配置好网桥,这是一个容易忽略的步骤,因为一般习惯装好系统再配置网络
4、不要盲目追求最新版本,次新版本由于经历了一段时间的磨练会更易使用
a little about xen on cent
http://mirrors.163.com/centos/6.5/isos/x86_64/
http://www.vpsee.com/2009/07/install-xen-on-centos/
http://www.centoscn.com/image-text/install/2014/0914/3744.html
加入 CentOS 官方 Xen 源: yum install centos-release-xen
安装Xen: yum install xen
执行在/usr/bin/目录下的 “/usr/bin/grub-bootxen.sh”命令,将新条目加到grub.conf中,以便系统能默认启动带有Xen的Linux内核,然后重启系统
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0
vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="xen-br0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO="none"
IPADDR="192.168.0.50" # Inherited from your current active interface.
PREFIX="24"
GATEWAY="192.168.0.1" # Inherited from your current active interface.
DNS1="8.8.8.8"
DNS2="8.8.4.4"
DEFROUTE="yes"
NAME="Bridge Network br0"
service network restart
[root@localhost xen]# yum install httpd
[root@localhost ~]# service httpd start
[root@localhost xen]# cd /var/www/html/
[root@localhost html]# mkdir tree
[root@localhost ~]# mkdir /data
$ sudo dd if=/dev/zero of=CentOS.img oflag=direct bs=1M count=10240