封装

在日常实验以及练习中,如果在真机进行操作,当有些错误操作或者要一个纯净的系统的话,就要将系统格式化或者重新安装系统,这样不仅浪费时间,还会对硬件造成不必要的损坏。这时,就可以使用虚拟机,在虚拟机中进行实验,这样在错误操作导致系统奔溃以至于无法修复时,可以直接使用其他的虚拟机。
但是,一台新安装的虚拟机,我们要对他进行许多配置才能使用,这同样很浪费时间。所以我们可以使用Linux的快照功能,通过对模板虚拟机的硬盘进行快照,快速创建虚拟机。

环境准备

  • redhat7.2的Virtual Machine Manager虚拟机管理器
  • redhat6.5的.iso镜像包
  • 主机名 zhang.example.com
  • 主机桥接IP172.25.133.250
  • 主机配置的redhat6.5yum源位置 /var/www/html/6.5

安装虚拟机

在虚拟机管理器中,通过iso安装方法安装事先准备好的redhat6.5的.iso镜像包。
需要注意的是,在选择内存大小时,如果设置为512M,那么redhat会默认进行最小化安装而不会安装图形界面,这样的好处在于可以节约主机的资源。
创建虚拟机之后,系统会自动打开该虚拟机引导安装。
第一个页面是询问是否检查镜像,可以直接跳过。然后是语言选择,因为只是用于做实验,所以可以直接选择英文而非中文,因为选择中文字符模式不同,比较麻烦。
第二个是选择键盘类型,默认即可。
第三个是硬盘的设置,选择最后一个,全部重新初始化。因为我们用的是虚拟机,所以硬盘也是在物理硬盘上通过虚拟化技术获得的虚拟硬盘,所以本身是没有数据的,可以直接初始化。但是在正常安装系统时,有时物理硬盘上是有需要保留的数据的。不同的情况需要不同对待。
之后的页面时选择时区,我们可以自己选择所在时区比如Asia/Shanghia或者使用UTC。
然后需要为root账户创建一个密码。如果密码过于简单(因为是虚拟机,为了方便链接也不推荐使用过于繁琐的密码,但是密码长度不能小于六)会有提示,选择use anyway继续使用即可。
之后是引导分区,如果在创建虚拟机时没有进行设置,那么这里只会有一块硬盘。选择Replase即可。
之后会提示是否进行硬盘操作,选择Write changes to disk。
然后系统会开始安装。因为是最小化安装,只有243个包,所以安装速度比较快。

对虚拟机进行封装

在虚拟机安装好之后,选择reboot进行重启,登录之后就有了一个全新的系统。
然后就可以进行统一的配置以将当前虚拟机作为模板。

vi /etc/sysconfig/selinux
    SELINUX=disabled 
    #关闭selinux,因为许多软件都是第三方软件,所以selinux会对软件的运行产生影响。在正常的生产环境中,所使用的防火墙也并不是系统自带的防火墙。    
chkconfig iptables off   #同样是关闭防火墙   
chkconfig --list iptables   
#查看防火墙的自启动状态,要确保都是off
cd ~
rm -fr *  #删除垃圾文件,节约资源
cd /etc/udev/rules.d
rm -fr 70*  
#删除网卡配置的垃圾文件。如果不删除,在添加网卡时,会造成网卡名的不一致。
vi /etc/sysconfig/network-scripts/ifcfg-eth0  #配置网络
    DEVICE=eth0
    #如果上一步中的rules.d目录下的文件未删除,开机时的网卡名称可能是eth0,也可能是eth1,这样网卡的配置文件就不好被识别。
    BOOTPROTO=none    
    #网络模式,如果主机有DHCP,这里可以选择DHCP模式,但是推荐固定IP,这样更加方便。
    ONBOOT=yes   #开机启用
    #IPADDR=172.25.133.1    
    #提前写好IP,这样之后虚拟机配置的时候直接更改IP就可以。
    #NETMASK=255.255.255.0   #同上

vi /etc/yum.repos.d/name.repo   #配置yum源
    [name]
    name=name
    baseurl=http://172.25.133.250/6.5
    gpgcheck=0

vi /etc/sysconfig/network  #更改主机名
    server1.example.com

vi /etc/hosts   #添加解析
    172.25.133.250 zhang.example.com
    172.25.133.1   server1.example.com
    172.25.133.2   server2.example.com
    172.25.133.3   server3.example.com
    172.25.133.4   server4.example.com
    172.25.133.5   server5.example.com

poweroff

#然后在虚拟机管理器中删除这个虚拟机。**注意,不要删除硬盘文件**     

这样,一个模板虚拟机就封装好了。

快照以及使用。

真机

cd /var/lib/libvirt/images/
qemu-img create -f qcow2 -b rhel6.5.qcow2 server1  #创建快照

#然后在虚拟机管理器中添加新的虚拟机。   
#选择安装方式时,选择最后一个加载镜像。   
#然后选择要命名的名字,在下方选择redhat6.5。    
#之后的cpu大小可以根据需要调整。
#安装成功之后,虚拟机会自动启动。   
#更改IP以及主机名之后,就可正常使用了。   
#在使用时,如果想要新的虚拟机,可以直接删除这个虚拟机,然后重新照相创建。   
#需要注意的是,一个镜像只能创建一个虚拟机,不能用一个镜像创建多个虚拟机。