xen之domU的安装尝试
以前版本的xen对Dom0和DomU的内核是有区分的:Dom0中只有后端驱动,DomU中只有前端驱动。而现在xen编译出的内核既含后端驱动又含前端驱动,对Dom0和DomU来说都是通用的,再加上内核只是被读取到内存而无写操作,所以一个系统中的所有Dom都可以共用一个内核文件而不冲突。
BTW:xen.org上提供的Archives的下载对Dom0和DomU进行了区分,都是经过裁剪的内核,注意,DomU的下载提供的仅仅是一个内核和相关文档或源码。
基于以上原因,内核就没自己安装了,干脆用Dom0的。
下一步就是制作磁盘镜像,包括一个ext3的和一个swap的。有3中方式:一种是直接建立镜像文件,另一种是直接利用物理磁盘,最后一种是压缩的方式(没仔细研究,Running Xen一书上有讲解)。这里采用的方法是建立磁盘镜像文件。
注意,swap在Xen的manual上没提到,不要忘记自己做一个!
按照Xen的manual,首先用命令
dd if=/dev/zero of=vmd01 bs=1k seek=40M count=1
建一个40G大小的空文件:这一步很快,用ll看其属性则为40G而du -sh看则为16K
第二步再用命令mkfs -t ext3 vmd01将其格式化为ext3格式(mkfs.ext3也一样)(swap格式用mkswap命令后面加上待格式化文件的文件名),这一步要慢一点,用ll看其属性仍为40G,而du -sh看其属性则为778M
BTW:由此可见,这里的dd命令建立的磁盘镜像文件的大小是随着其内容增加而动态增长的;后来用命令dd if=/dev/zero of=./vmdisk count=4000 bs=1M,则建立的文件大小在开始就固定了,里面不管有没有东西都把空间占着!
按照同样的方法建立swap文件
注意:jailtime.org上有很多已经做好的镜像文件,而且都是经过裁剪的,很小,可以直接下载拿来用。
第三步,把镜像文件挂载上来,往里面拷东西。命令:
mount -o loop vmd01 /mnt
cp -ax /{root,dev,var,etc,usr,bin,sbin,lib} /mnt
mkdir /mnt/{proc,sys,home,tmp}
umount /mnt
注意:
1. 以上操作后文件的属性,尤其是所有者。根目录下的文件所有者都是root,如果用普通用户去执行以上操作会使镜像中文件的所有者不为root,所以操作时要加上sudo。如果不加也可以,那么进入系统后相应文件夹的所有者就为那个普通用户,不安全!
2. 在我们的服务器上还有个lib64文件夹(系统是64位的),没有拷,启动时报错:
exec of init (/sbin/init) failed!!!: No such file or directory
后来把/lib64和/selinux一起拷进去再启动就OK了
接下来就是写配置文件了,里面把相关配置写好,用命令
xm create -c test.cfg
就可以启动了
xm list列出所有虚拟机的信息
xm shutdown关闭虚拟机(在虚拟机内部用shutdown now并不能关机)
xm destroy强行关机
注:
1. 配置文件中设置的IP是实际启动后的IP,镜像文件中的配置不管用!镜像文件中的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0和/etc/sysconfig/network-scripts/ifcfg-eth1都被加上了一个后缀".bak"!
2. 配置文件中的disk选项只是把相应的镜像文件挂到像/dev/sda1这样的设备上,而系统中的配置文件/etc/fstab则是把/dev/中的设备映射到相应目录中。
下面来show一下我的配置文件(从jailtime.org下载的Debian的配置修改后所得,后来做了一个rhel5的和这个类似):
kernel = "/boot/vmlinuz-2.6-xen"
ramdisk = "/boot/initrd-2.6.18.8-xen.img"
memory = 256
name = "debian.3-1"
vif = [ '' ]
#dhcp = "dhcp"
ip = "192.168.205.45"
netmask = "255.255.255.0"
gateway = "192.168.205.1"
disk = ['file:/home/cs/xen/images/debian/debian.3-1.img,sda1,w', 'file:/home/cs/xen/images/debian/debian.swap,sda2,w']
root = "/dev/sda1 ro"
以上是PV方式的磁盘文件镜像方式,而VT虚拟机的配置据说是把一个安装文件的iso往磁盘镜像文件里一扔,启动时就自动从光驱启动,把iso加载上,直接安装就可以了。VT我自己还没尝试,而且利用物理磁盘的方式和压缩方式都还没有尝试过,有时间亲手安装一次再把详细过程贴出来。
后记1:
用du -sh和ls -sh看所占空间大小是准确的,二者是一致的,而用ls -l是不准的
后记2:
以上是对于单个文件来说的
而对于文件夹来说,du -sh是看所占空间的,而ls -sh 和 ls -l 只是显示文件夹大小16K
Labels: Linux, Operation and Maintenance
2 Comments:
用du -sh和ls -sh看所占空间大小是准确的,二者是一致的,而用ls -l是不准的
以上是对于单个文件来说的
而对于文件夹来说,du -sh是看所占空间的,而ls -sh 和 ls -l 只是显示文件夹大小16K
Post a Comment
Subscribe to Post Comments [Atom]
<< Home