使用XenCenter创建半虚拟化CentOS模板

一:搭建nfs server

1.      在Ubuntu机器上使用sudospt-get install nfs-kernel-server来安装nfs服务器端;

2.      创建一个nfs目录,比如/home/dff/nfs,并赋予nfs目录777的权限,将需要使用到的iso文件放进去,并同样赋予iso文件777的权限;

3.      修改/etc/exports文件,添加权限,格式如下:

   NFS共享目录路径    客户机IP或者名称(参数1,参数2,...,参数n)

  ----》

  NFS共享目录路径:即第二步中创建的nfs目录,如/home/dff/nfs;

   客户机IP或者名称:此处填写连接此server的client端主机的ip地址或者是hostname,

                     如使用IP地址则可以使用通配符*,如192.168.1.*,只填写*则表示

                     为任何IP地址均可访问,此处也可以使用多个IP或者hostname,

                     用空格隔开,参数不共用;

   参数:各参数含义如下所示,均顺序书写:

参数

说明

ro

只读访问

rw

读写访问

sync

所有数据在请求时写入共享

async

nfs在写入数据前可以响应请求

secure

nfs通过1024以下的安全TCP/IP端口发送

insecure

nfs通过1024以上的端口发送

wdelay

如果多个用户要写入nfs目录,则归组写入(默认)

no_wdelay

如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置

hide

在nfs共享目录中不共享其子目录

no_hide

共享nfs目录的子目录

subtree_check

如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)

no_subtree_check

不检查父目录权限

all_squash

共享文件的UID和GID映射匿名用户anonymous,适合公用目录

no_all_squash

保留共享文件的UID和GID(默认)

root_squash

root用户的所有请求映射成如anonymous用户一样的权限(默认)

no_root_squash

root用户具有根目录的完全管理访问权限

anonuid=xxx

指定nfs服务器/etc/passwd文件中匿名用户的UID

anongid=xxx

指定nfs服务器/etc/passwd文件中匿名用户的GID

       举例如下:

如允许所有主机访问,则可以写成:

/home/dff/nfs*(rw,sync,no_subtree_check, no_root_squash) (本例中即使用此种模式)

备注:共享目录可以有多个,需要分行书写;由于本例中的XenServer自带nfs客户端

功能,故不叙述客户端的安装,windows系统或者其他linux发行版均可以安装

nfs server,安装方法请自行在网上查找。

4.NFS server为自动开启,exports文件修改完成后使用命令exportfs –ra来重新载入exports配置文件,而后在NFS Server本机上使用如下命令来检查Server的共享功能十分正常:

dff@ubuntu:~$ ls /home/dff/nfs/

CentOS-5.8-x86_64-bin-DVD-1of2.iso  CentOS-6.4-x86_64-bin-DVD1.iso

CentOS-5.8-x86_64-bin-DVD-2of2.iso

dff@ubuntu:~$ sudo mount -t nfs127.0.0.1:/home/dff/nfs /mnt

dff@ubuntu:~$ ls /mnt

CentOS-5.8-x86_64-bin-DVD-1of2.iso  CentOS-6.4-x86_64-bin-DVD1.iso

CentOS-5.8-x86_64-bin-DVD-2of2.iso

dff@ubuntu:~$ sudo umount /mnt/

(备注:其他机器mount此目录的命令为mount  -t nfs 192.168.1.3:/home/ky/nfs /mnt -onolock,不适用于本例)

5.NFSClient端检查此NFS Server十分正常的方法为使用如下命令:

  Showmount –e “IP:/directory”(引号内填写NFS server的IP地址和nfs共享目录)

  如能显示出NFS共享目录下的内容则表示Server配置正常;

6.检查防火墙和nfs目录的权限,请关闭防火墙并且赋予nfs共享目录内的文件以777的权限,否则会出现无法连接的问题;

二.在XenCenter中添加ISOlibrary

1.在XenCenter中点击New Storage按钮新增磁盘;

2.选择NFS ISO并确定;

3.输入一个词磁盘的名称,依个人爱好而定;

4.在location输入NFS Server的地址和nfs共享目录,规则为IP地址:/nfs共享目录,

  在本例中地址为192.168.1.145:/home/dff/nfs;

5.等待添加完成后在Storage页点击scan按钮刷新,如能刷新出该共享目录下的iso文件

则表示此Storage添加成功;

使用XenCenter创建半虚拟化CentOS模板_第1张图片

 

三.创建PV类型虚拟机

1.点击New VM添加虚拟机,并从非snapshot中选择一个(即XenServer自带的),本例中

  为创建CentOS5.8(64bit)的虚拟机,故选择CentOS 5(64-bit),并点击Next;

使用XenCenter创建半虚拟化CentOS模板_第2张图片

2.VM的name可以任意输入;

3.在Install media中选择刚刚穿件的NFS ISO中扫描出来的CentOS5.8的iso安装光盘:

  使用XenCenter创建半虚拟化CentOS模板_第3张图片

4.   随后的Home Server选择默认的XenServer,CPU&Memory,Storage,Networking则可以按照需要选择合适的选项;

5.   Create完成后则进入此VM的Console界面,进行此VM的初始化工作;

6.   接下来则是正常的CentOS系统的安装流程,其中的一步为安装方式的选择,

如图所示选择NFS image:

使用XenCenter创建半虚拟化CentOS模板_第4张图片

7.   而后为NFS server的输入界面,如图所示,分别在NFS server name和CentOS directory处输入前面所设置的NFS server的IP地址和nfs共享目录,而后点击OK即可:

使用XenCenter创建半虚拟化CentOS模板_第5张图片

(此处有可能会有错误提示,为“that directory could notbe mounted from the server nfs”,如出现此提示则选中第二步中添加的NFS ISOstorage重新scan一下,并重新创建VM)

8.其他的步骤则为标准的CentOS的创建步骤,需要注意的是需要在类型上选择Text模式而非GUI模式,成功后使用命令uname –r可以看到起内核版本为xen版本,如2.6.18-308.el5xen,则本VM为半虚拟化的VM;

(由于重要的几个参数在本例中均为正确的值,故第9步与第10步无需执行,可以作为了解之用)

9.关闭此VM,进入XenServer的控制台,使用命令xe vm-list name-label=centos params=uuid来获取刚刚创建的VM的uuid,centos需要修改为所创建的VM 的名称,当然也可以在此VM的General页面中看到其uuid;

10.VM参数查看使用xe vm-param-listuuid=来查看此VM的参数,有如下几个参数需要重点关注:

@1.检查半虚拟化启动类型PV-bootloader,此值需要为pygrub,如非此值则用如下命令来修改:

   xe vm-param-set uuid=PV-bootloader=pygrub,如下:

使用XenCenter创建半虚拟化CentOS模板_第6张图片

     (在本例中此处默认已经为pygrub,故无需修改);

   @2.检查全虚拟化启动参数HVM-boot-policy,此值需为空,如下图所示:

使用XenCenter创建半虚拟化CentOS模板_第7张图片

      如非此值则使用如下命令修改:

      xe vm-param-set uuid= HVM_boot_policy=””将其设为空值(在本例中无需修改);

  @3.修改其显示参数,使用如下命令:

     xe vm-param-set uuid= PV-args=”console=hvc0”,

(此处也可以不修改);

  @4.检查起磁盘启动是否设置为true,参数名称为bootable,检查方法如下:

      首先使用命令 xe vm-disk-list uuid=来获取其磁盘uuid,白色标识处即为获取的磁盘uuid:

     使用XenCenter创建半虚拟化CentOS模板_第8张图片

      而后使用命令xevbd-param-list uuid=来列出此磁盘的参数列表,

          查看bootable是否为true,如为false则用如下命令来设置:

xe vbd-param-set uuid= bootable=true

使用XenCenter创建半虚拟化CentOS模板_第9张图片

        (本例亦无需修改)

11.安装xenserver-tools(此工具可提高虚拟机的磁盘和网络性能,必备),

在VM的general界面点击蓝色的XenServer tools not installed链接来从xs-tools.iso启动,并用如下命令来安装

[root@localhost ~]# mount/dev/xvdd /mnt

mount: block device /dev/xvdd iswrite-protected, mounting read-only

You have new mail in/var/spool/mail/root

[root@localhost ~]# cd /mnt

[root@localhost mnt]# ls

AUTORUN.INFcitrixxendriversx86.msi     installwizard.msi

citrixguestagentx64.msi  copyright.txt      Linux

citrixguestagentx86.msi  dotNetFx40_Full_x86_x64.exe  README.txt

citrixxendriversx64.msi  EULA_DRIVERS      xenlegacy.exe

[root@localhost mnt]# cd Linux

[root@localhost Linux]#./install.sh

Detected `CentOS release 5.8(Final)' (centos version 5).

 

The following changes will bemade to this Virtual Machine:

 * packages to beinstalled/upgraded:

   - xe-guest-utilities-6.1.0-1029.x86_64.rpm

   - xe-guest-utilities-xenstore-6.1.0-1029.x86_64.rpm

 

Continue? [y/n] y

Preparing...               

###########################################[100%]

  1:xe-guest-utilities-xens########################################### [50%]

2:xe-guest-utilities    ########################################### [100%]

 

You should now reboot thisVirtual Machine.

而后重启VM,再次打开General页面会发现蓝色提示消失则表明安装成功;

12.到此则半虚拟化的VM创建完成,之后则可以用此VM来制作xva类型的模板;

 

其他

1.   需要注意的是由于在使用中有可能会在此VM上安装驱动,那么由于VM缺少相应的header文件和devel文件(查看/usr/src/kernels会发现此路径下无文件),会导致驱动安装失败,故需要安装此两个文件,文件获取方法为,找到安装此VM使用的iso文件,将其挂载并在其CentOS目录下可以发现三个分别以kernel-headers,kernel-xen和kernel-xen-devel的文件,这三个文件的版本名称相同,与VM的uname –r显示相同,而后将开头为kernel-headers和开头为kernel-xen-devel的文件导出并安装在创建的VM上,即可保证驱动安装无异常(请勿使用不带xen的devel文件和与本VM内核版本不符的devel文件);

2.   当然也可以升级内核,但是同样的,需要升级带xen的内核版本,可在如下网站下载内核文件http://vault.centos.org/5.8/updates/x86_64/RPMS/(同样的,三个kernel文件的版本需要一致,headers文件不带xen,其他两个文件需为kernel-xen和kernel-xen-devel开头)

3.   同样的也有将现有的全虚拟化VM更改为半虚拟化的方式和其他文档,可参考如下链接:

  http://support.citrix.com/article/CTX121875

   http://zconkle.blogspot.hk/2012/04/xenserver-converting-centos-from-hvm-to.html


你可能感兴趣的:(虚拟化)