Linux封装虚拟机
封装
在日常实验以及练习中,如果在真机进行操作,当有些错误操作或者要一个纯净的系统的话,就要将系统格式化或者重新安装系统,这样不仅浪费时间,还会对硬件造成不必要的损坏。这时,就可以使用虚拟机,在虚拟机中进行实验,这样在错误操作导致系统奔溃以至于无法修复时,可以直接使用其他的虚拟机。
但是,一台新安装的虚拟机,我们要对他进行许多配置才能使用,这同样很浪费时间。所以我们可以使用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以及主机名之后,就可正常使用了。
#在使用时,如果想要新的虚拟机,可以直接删除这个虚拟机,然后重新照相创建。
#需要注意的是,一个镜像只能创建一个虚拟机,不能用一个镜像创建多个虚拟机。