在封装虚拟机之前,我们应当先了解下面几个概念。
1.什么是封装系统
系统封装是将一个完整的系统以拷贝的形式打包,然后用粘贴的形式安装在另外一个系统盘上,而正常安装则是通过Setup程序进行安装。它的好处是可以大大地节约时间并且可以在里面加入自己喜欢的软件等操作。
2.什么是虚拟机?
虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响 ,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。
封装系统为什么要使用虚拟机?
使用虚拟机封装系统对实体机不会造成任何损害,因为系统封装会对母系统进行 封包 压缩 安装 重启,多项操作都可以在虚拟机里面实现。
###############虚拟机封装
我们使用的镜像是RHEL6.5的镜像,我们就应用此镜像安装虚拟机并进行封装。下面是安装与封装的具体步骤:
(1)在真机上准备好redhat发行版本之rhel6.5的镜像
(2)真机终端输入命令:virt-manager(进入虚拟机管理界面)
(3)点击左上角的显示器图标,进入创建虚拟机界面,选择本地镜像安装,并添加镜像路径。
(4)设置内存,默认内存为1GB(1024MB)。我们将内存变为512MB。
注意:虚拟机的内存过大,会过多占用物理机(真实主机)的内存,当有多个虚拟机同时存在时,消耗过度,会拖慢真机运行速度。
512MB为创建虚拟机的最小内存,798MB是界线内存,即内存大于798MB,就会自动创建图形界面。
(5)设置虚拟硬盘的大小,默认为9GB,我们可以多分配一点,例如20GB.
(6)设置虚拟主机名称
(7)这时就会进入到环境中,选择第一个选项。
(8)disc检查界面,选择跳过。
(9)这时就进入了欢迎界面
(10)选择自己要使用的操作语言(English)和键盘(美式键盘)
(11)进入警告界面,选择初始化所有(Re-initialize all)
(12)选择时区为亚洲上海
(13)输入超级用户密码(用户名默认为:root),密码太简单会有提示,忽视并应用即可。
(14)磁盘分区,选择ok即可。
(15)选择 Write changes to disk (写入改变)
(16)选择reboot
至此,就是我们用RHEL6.5安装虚拟机的所有步骤了。安装结束我们开始封装。
步骤:
(1)紧接上面的reboot后,会进入我们没有图形界面的终端(俗称黑框框),登陆系统。
(2)删除/etc/udev/rules.d下面的所有70-*开头的文件,以保证子快照虚拟机的eth0网卡能够正常使用。
(3)更改主机名
(1)hostname server(临时修改)
(2)vi /etc/sysconfig/network(永久修改,重启后才会有效。
(4)配置网络参数
vi /etc/sysconfig/network-scripts/ifcfg-eth0
(5)配置yum源
(1)在真机上将RHEL6.5的镜像使用mount命令挂载到/var/www/html下的source6.5目录中,也可vim /etc/rc.d/rc.local永久挂载。
(2)修改虚拟机的yum源。
(3)虚拟机输入yum repolist查看yum源是否配置成功。
(6)yum源配置好了之后,就可以安装一些没有的软件,命令,服务等。
例如:yum install vim lftp httpd openssh-clients -y
注意:如果yum repolist出来的是0个安装包
1.写入的yum源有问题
2.在物理主机上开启httpd,关闭火墙
3.物理主机镜像没有挂载
(7)进行本地域名解析:vim /etc/hosts
(8)关闭防火墙
[[email protected] ~]# chkconfig iptables off
[[email protected] ~]# /etc/init.d/iptables stop
(9)关闭selinux(注意这里的enforcing—>disabled修改不需要reboot使生效,封装即可)
(10)poweroff该虚拟机或者在真机安装虚拟机界面forceoff该虚拟机。
至此虚拟机的封装就结束了,ckd即为封装完毕的虚拟机(ckd虚拟机生成的.qcow2即为母盘)
注意:封装好的虚拟机不能再打开,不然所有用此虚拟机的母盘创建的虚拟机都会挂掉,又要重新封装,建议删除掉母盘虚拟机的快捷方式,但不删除母盘(记住:不要勾选对号)。
##################用封装好的虚拟机母盘创建新虚拟机
在物理主机上:
(1)查看被删除快捷方式的虚拟机的母盘是否存在并查看大小
cd /var/lib/libvirt/images/
ls
du -h rhel6.5.qcow2 #查看母本大小
(2)压缩母本并清除母本的缓存
[[email protected] images]# yum provides */virt-sysprep #查询软件包
[[email protected] images]# yum install libguestfs-tools-c-1.32.7-3.el7.x86_64
[[email protected] images]# virt-sparsify –compress rhel6.5.qcow2 new.qcow #压缩母本(压缩后可以便于拷贝)
[[email protected] images]# virt-sysprep -d base # 清空母本的缓存
注意:在删除母本虚拟机的快捷方式前就应清除母本的缓存。
(3)用母盘创建子镜像(快照)并查看快照信息
(4)用生成的快照创建虚拟机
(1)选择使用快照安装。
(2)选择刚才生成的快照
(3)选择LINUX操作系统及其版本
(4)选择内存及主机名
(5)生成虚拟机成功(输入用户名及密码进入系统)
(6)需要对虚拟机主机名,IP地址。