Xen PV DomU 的安装方法:rsync和xen-tools

12 篇文章 0 订阅
7 篇文章 0 订阅

Xen的半虚拟化(PV)虚拟机的安装是比较麻烦的,因为不能像平时安装系统一样,使用GUI来安装(我不了解怎样用命令行安装一个linux系统。唉……)。所以得用一些其他的办法。这里记录一下我使用的两种方法:rsync和xen-tools。


  • 使用xen-tools(推荐)

使用xen-tools来安装DomU,好处是方便省事不折腾。推荐使用这种办法。

apt-get安装依赖包:

debootstrap
libtext-template-perl
config-inifiles-perl

安装xen-tools。因为我的xen是自己安装的,用不了apt-get里的老版本tools,所以我用源码安装。下载源码后直接make install即可。(脚本嘛)

使用xen-create-image安装DomU命令行:

xen-create-image
  --hostname=debian-pv      # 虚拟机名字
  --lvm=vg0                 # lvm卷组
  --memory=512M
  --image-dev=/dev/vg0/PV  # lvm主分区
  --swap-dev=/dev/vg0/swap # swap分区
  --dist=squeeze           # 新鲜的大便系统
  --ip=10.0.0.1 --nameserver=*****   # 网络设定(nat方式)
  --passwd --keep --verbose # 其他的选项

耐心地等待下载完成。对应的虚拟机配置文件(debian-pv.cfg)会生成在/etc/xen/下。可以烤到方便的位置。然后就可以xm create 亨受安装好的虚拟机了!


note:

不要使用xl(XenLight)启动虚拟机,因为xl不会载入/etc/xen/scripts里的脚本,网络配置会有问题。

xen-create-image坏处是只能安装debian(和centos),版本有限定,而且网速要快。DomU是全新的系统,需要安装各种软件。

其实还有别的安装方式:比如可以下载好压缩包然后本地安装。或者类似下面的rsync的安装:把 --dist=squeeze换成--install-method=copy --install-source=/。当然,没有测试。


  • 使用rsync或者cp同步Dom0文件,手动配置config

这种办法可以复制一个和Dom0一模一样的DomU,因为内核版本/安装的软件都是一样的,所以非常好用,当然是配置好以后。比如我在Dom0里配好了一个apache服务器,rsync同步过去之后启动domu,domu上会激活一个一模一样的web服务器!


1. 拷贝文件。

首先挂载虚拟机镜像。

sudo mount -o loop /dev/vg0/pv ~/virt/pv

然后同步。

sudo rsync -avH --exclude=/home/viktor/src --exclude=/home/viktor/virt --exclude=/media --exclude=/mnt --exclude=/proc --exclude=/tmp --exclude=/usr/src \
        --exclude=/var / ~/virt/pv
cd ~/virt/pv
mkdir {media,mnt,proc,tmp,usr/src}

这时要小心的调整rsync的--exclude选项,确保把文件系统里以下的内容,全部用--exclude排除:(建议存成脚本)

  • 所有的动态文件夹(例如/proc)。其中/sys和/dev可能要保留
  • 不需要的数据文件夹(例如/usr/src,经常数G的代码,还有自己的主目录)
  • 镜像文件自身挂载的位置(这里是~/virt/pv)

同步的时候在/sys和/dev里会有一些错误,不用理会。

mkdir把刚才没有同步的文件夹重新建立。


2. 修改镜像

修改镜像里的etc/fstab文件:

修改pv/etc/fstab文件
# 原主分区改成/dev/xvda1
/dev/xvda1 /               ext4    errors=remount-ro 0       1
# 原swap分区改成/dev/xvda2
/dev/xvda2 none            swap    sw              0       0
# 其他的删掉
检查etc/securetty文件,如果hvc0被注释掉了,把它加上。否则会出现 虚拟机不显示登陆提示 不能登录 的问题

3. 编辑虚拟机配置文件pv.cfg

config文件:(ref: http://www.virtuatopia.com/index.php/Building_a_Xen_Virtual_Guest_Filesystem_using_Logical_Volume_Management_(LVM))

kernel="/boot/vmlinuz-3.2.6"
ramdisk="/boot/initrd.img-3.2.6"
name="mint-pv"
memory="512"

disk=['phy:Group0/PV,xvda1,w', 'phy:Group0/Swap,xvda2,w']  # lvm卷使用phy前缀。镜像文件使用file前缀。
root='/dev/xvda1 ro'

vif=['ip=10.0.0.1']
dhcp="dhcp"

vfb = [ 'type=vnc' ]
vnclisten = '127.0.0.1'
extra='xencons=hvc0'  # 如果需要runlevel 3可以在xencons前面加上。
on_poweroff='destroy'


其中extra部分:xen4.1版本的控制台配置是:xencons=hvc0。用其他的(比如console=tty之类的)会出现xm console(或者vnc)不显示登陆提示 不能登录

这时把镜像卸载。就可以尝试启动虚拟机了。Hope you good luck!


note:

不要使用xl(XenLight)启动虚拟机,因为xl不会载入/etc/xen/scripts里的脚本,网络配置会有问题。

自己使用的时候,domu启动时总是提示挂载ext4分区失败等等各种不稳定情况。出现这些意外,就很难解决了。

另外,PV DomU是没有图形界面的(Dom0和Domu只有一方可以使用pci显卡设备)。所以把Dom0克隆到DomU,把GUI的部分也克隆过去了,其实有些浪费,而且会带来一些问题。如果Domu出现GUI相关的问题,请在配置文件里加入 extra=3


ps:

使用dd生成img镜像文件:

dd if=/dev/zero of=ubuntu.img bs=1M count=0 seek=8K

使用dd命令。这里count=0 seek=8K是把文件大小直接调整到1M*8K=8GB,并不写入任何数据。如果是count=8K那就会真正地填上0,很耗时间。(note:ext3文件系统只支持4GB单个文件。更大的就需要ext4了……)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值