Linux下利用Xen创建虚拟机


随着硬件性能越来越高,虚拟化技术的应用也越来越普及。

虚拟化类型分为三种,全虚拟化,半虚拟化,硬件虚拟化,全虚拟化产品的典型代表是Vmware workstation产品,今天尝试用Linux系统自带的XEN搭建虚拟化环境创建虚拟机。

本身也没有空闲的机器,还是选择用VirtualBox创建个Xen虚拟机,这里我用的是CentOS 5.5版本的安装盘进行安装的,安装的组件包括

Editors
legacy software development
development libraries
development tools
administration tools
system tools
base
virtualization

系统装好以后可以使用xm list查看现有虚拟机状态
默认存在一个名为Domain-0的虚拟机可以认为是宿主机,因为并不是安装在真实机器上的,环境是半虚拟化的,在硬件虚拟机化环境中,可以通过ISO文件、CD-ROM来安装虚拟机,在半虚拟化环境里,可以通过下面3中方法安装虚拟机:

1、用nfs,http,ftp的方式安装系统。
2、直接挂载被虚拟的磁盘,然后像创建LFS一样将系统文件、引导文件都存入虚拟磁盘中。
3、从网上下载他人制作好的迷你系统镜像。
这里我选择ftp的方式安装。

用vsftp软件搭建ftp环境,ip地址:192.168.56.111
开启匿名登录,挂载光盘或镜像文件mount /dev/cdrom /mnt/cdrom
将光盘中的文件全部拷贝到/var/ftp/pub目录
cp -r /mnt/cdrom/* /var/ftp/pub/

虚拟磁盘可以由“未使用的物理分区”、“映像文件”、“nfs共享”来担任。
创建映像文件的命令如下
dd if=/dev/zero of=/mnt/xen/vm01.img bs=1M count=20480
bs=1M表示块大小为1M,count=20480代表分配2048块,www.bkjia.com 即创建一个大小为20G的虚拟磁盘文件。文件名vm01.img

这里我选择一个未使用的磁盘分区
/dev/sdb1

创建虚拟机的命令
virt-install -n vm001 -b xenbr0 -r 384 -f /dev/sdb1 -l ftp://192.168.56.111/pub

-n创建的虚拟机名,-b用于指定桥接到那块网卡,“xenbr”是桥接模式的网卡,如果启用的网卡为eth0,则桥接模式的网卡为xenbr0,如启用的网卡是eth1,则桥接模式的网卡为xenbr1.
-r用于指定内存大小,
-f用于指定磁盘、分区、块设备文件。
--nographics表示安装虚拟机的系统时采用文本模式。
-l表示安装源。
安装过程和正常安装系统类似,安装完成后,使用xm list命令查看

常用命令:xm list列出所有已知的虚拟机列表。
xm console打开控制台管理虚拟机。
快捷键Ctrl + ]切回到主机界面中。

遇到的问题:本来是想将光盘直接挂载到/opt/ftp/pub目录下,不用在拷贝到该目录,但挂载后ftp访问不了,不清楚原因出在哪里?

参考书籍:构建高可用Linux服务器。

相关内容