RHEV平台上可以通过多种方法创建虚拟机,本篇我们先结合ISO镜像创建第一台虚拟机,并通过该虚拟机介绍下如何创建模板,并介绍下如何通过外部模板文件导入到RHEV平台,并转化为RHEV模板文件。

一、通过ISO镜像创建VM

1、上传ISO镜像

在我的测试环境中的classroom主机中已经存在了相应的ISO镜像,如果在测试时没有可以从网上download一个来用,上传完成后在ISO域的img域会看到相应的ISO文件:

 1下载ISO镜像
 2[root@rhevm ~]# wget http://classroom.example.com/content/rhel7.1/x86_64/isos/rhel-server-7.1-x86_64-boot.iso
 3列出当前的ISO域名
 4[root@rhevm ~]# engine-iso-uploader  list
 5Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
 6ISO Storage Domain Name   | Datacenter                | ISO Domain Status
 7isoa                      | center0                   | active
 8上传ISO镜像
 9[root@rhevm ~]# engine-iso-uploader  -i isoa upload rhel-server-7.1-x86_64-boot.iso
10Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
11Uploading, please wait...
12INFO: Start uploading rhel-server-7.1-x86_64-boot.iso
13INFO: rhel-server-7.1-x86_64-boot.iso uploaded successfully

注:本示例中我会使用ks 的方式去安装,所以我这里只下载一个boot镜像,如果没有ks环境,请下载DVD镜像安装。

2、新建vm主机

先切换到virtual machines项,选择new vm

新建时选择相应的数据中心和集群,如果有模板的话,可以通过模板新建(这里没有,选择空模板),单个模板下可以有多个子模板。instance type类型可以选择自定义设置,也可以使用系统预定义的small 、large等(如果用过AWS就知道这个和它的主机类型类似),optimized可以选择服务器或桌面。

这里将高级选项部分也显示出来了,后面的篇幅会提到一部分高级设置。

上面的配置确认后,会出现配置磁盘选项,如下。可以当前配置,也可以以后配置

这里我们为磁盘分配5G大小,模式选择Thin瘦模式,瘦模式会按需慢慢的增大磁盘大小。对应默认模式是Preallocated模式 ,会直接分配完上面配置的5G 。有多个存储域的可以选择相应的存储域。

主机配置完成后,右键选择Run once 选择启动顺序

我们附加上刚刚上传的ISO镜像文件,并在启动顺序中选择cd-rom ,将其up到首位。

通过刚刚的boot镜像引导到安装界面时,按tab项在安装项中,输入ks文件的路径,在ks中会配置有远程包所在的位置。具体small.cfg的内容可以点此查看

至此虚拟机会按照ks配置文件的内容完成安装。

安装进度及主机当前的情况都可以通过console进行查看,使用console口查看时,需要主机上安装有spice-xpi 插件,该插件是firefox浏览器的一个插件---不过当前该插件仅支持类linux操作系统,不支持windows主机。

二、通过VM创建模板

创建模板的方式主要有两种,一种是通过新建的虚拟机创建模板文件;另一种方法是通过外部导入的通用格式模板文件OVA,并将该导入文件import为模板。这里先看下前者。

1、删除或修改相关文件

在通过已存在的虚拟机创建模板时,需要将重启后可能存在重复的地方进行删除或编辑,针对不同的系统需要不同的操作方法也不同,vm为redhat6系统的需要删除或修改以下文件:

 1/etc/sysconfig/network-scripts/ifcfg-*
 2--修改将IP设置为自动获取BOOTPROTO=dhcp,ifcfg-lo文件除外;
 3--删除其中的HWADDR项和UUID项;
 4/etc/sysconfig/network
 5--将主机名改为HOSTNAME=localhost.localdomain
 6/etc/udev/rules.d/*-persistent-*.rules
 7/etc/ssh/ssh_host*
 8/etc/ssh/moduli
 9/etc/sysconfig/rhn/systemid
10/var/log/*
11--删除以上几个文件
12/etc/pki/tls/certs/
13/etc/pki/tls/private/
14--移除上述目录中非默认的文件
15/etc/krb5.keytab
16--默认安装不存在,只存在使用过kerberos认证过的主机上,有则移除

RHEL7上相对简单此,除也要像上面检查网络、处理ssh文件、老的日志外,主机名可以通过hostnamectl set-hostname “localhost” 直接搞定,在红帽站点注册过的,通过subscription-manager unregister命令去除相关信息。

如果害怕手动处理的不彻底,也可以用红帽提供的工具在主机关机前运行sys-unconfig帮助移除udev相关信息、关机后使用virt-sysprep移除各种信息,后者可以移除的内容可以通过virt-sysrep --list-operations命令查看。

如果想让主机像新安装的一样,可以在关机前安装firstboot包,配置后,主机会出现初次安装后的向导配置界面。该服务的配置方法如下:

1# yum -y install firstboot
2# chkconfig firstboot on
3# sed -i 's/^RUN_FIRSTBOOT=.*/RUN_FIRSTBOOT=YES' /etc/sysconfig/firstboot
4# touch /etc/reconfigSys

上面部分配置完成后,关机该虚拟机---创建模板主机需先关机 ,右键选择创建模板。

rhevm-make-template
rhevm-make-template

填写相关信息后,点击OK,等待一会儿模板就创建好,后面就可以通过该模板创建新的虚拟机。

三、导入OVA文件并创建模板

在使用OVA文件之前,需要了解下OVF(Open Virtualization Format:开放虚拟化格式 )和OVA(Open Virtualization Appliance:开放虚拟化设备)两个概念。OVF是一个描述文件,他的存在是保证了镜像文件vmdk,资源文件iso与虚拟机domain配置之间的正确对应,作用就如同vmware中的vmx格式、以及Xen、kvm中的xml 配置文件。而OVA文件则采用.tar文件扩展名,包含了一个OVF 包中所有文件类型。这样OVA单一的文件格式使得它非常便携 。如果还是不明白,就理解其为某组织定义的一种虚拟化的通用标准格式即可。

1、查看当前可用的导入域:

1[root@rhevm ~]# engine-image-uploader list
2Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
3Export Storage Domain Name     | Datacenter                | Export Domain Status
4exp                            | center0                   | active

2、上传OVA文件到exp导入导出域

1[root@rhevm ~]# engine-image-uploader -e exp upload cfme-rhevm-5.ova
2Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):

3、该img导入为模板

文件上传完成后在导入域的template import项中可以看到该上传的文件,同时在导出域存储上也可以使用tree命令查看。此时选择improt导入

导入时可以选择直接使用该模板文件,也可以clone一个新文件,并以新文件为模板文件。在点选该文件时也会显示该文件的配置、网络、磁盘等信息:

四、使用模板创建虚拟机

在创建新的虚拟机时,可以选择上面刚刚创建的模板,快速创建一个新的虚拟机出来。如下图:

时间太晚了,而且由于篇幅所限,本篇并没有提到windows主机的安装和模板的创建,这个后面会单独作为一篇介绍下。也没有提到使用cloud-init功能自定义新创建的虚拟机 ,后面也单独篇幅介绍吧。