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/

wpsE838.tmp

创建客户机

1. 使用配置文件和已有镜像创建

http://stacklet.com/ or http://jailtime.org/ 上提供了多种虚拟器的操作系统镜像,比如我下载了ubuntu.10-04.x86-64.20141003.img.tar.bz2,解压后可以得到两个文件,一个是img镜像文件,另一个是cfg启动配置文件:

wps8CA7.tmp

将配置文件复制到/etc/xen下,并进行修改,指定bootloader和disk文件所在位置

wps8CA8.tmp

wps8CB8.tmp

配置好配置文件以后就可以创建客户机create -f ***.cfg,创建成功后将会自动启动,在xl list下可以看到除了Domain-0外还列出了新创建的客户机,而客户机的状态是b,即正在启动。使用xl console <客户机名>可以接入客户机。

wps8CC9.tmp

启动完成后,就可以看到熟悉的登录提示,成功登录后就可以进行操作,比如列出文件、查看当前操作系统等。

从 http://stacklet.com/ 下载的镜像文件的初始用户名和密码为:root/passwords

wps8CDA.tmp

当客户机使用完毕后,可以直接在客户机使用poweroff命令关机,也可以通过Xen来控制

wps8CEA.tmp

#再次启动则使用下面的代码
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 安装的源

  

wps8CEB.tmp

wps8CFC.tmp

wps8CFD.tmp

wps8D0D.tmp

wps8D1E.tmp

wps8D40.tmp

系统安装完成后,其他内容和用挂载方式创建的客户机类似,不再叙述。

3. 使用virt-manager创建

wps8D51.tmp

wps8D52.tmp

wps8D63.tmp


虚拟客户机关闭后内存不能自动回收
sudo xl mem-set 0 mem-value #其中mem-value为大于或等于实际空余内存的值,此时,系统将回收全部可用的内存 

 
something: 
1、耐心阅读官方文档
2、有条件尽量要用真机,虚拟机性能太低
3、记得要配置好网桥,这是一个容易忽略的步骤,因为一般习惯装好系统再配置网络
4、不要盲目追求最新版本,次新版本由于经历了一段时间的磨练会更易使用 
 
 

a little about xen on cent
install:

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

原文地址:https://www.cnblogs.com/manhua/p/4025177.html