linux 虚拟机封装

linux 7.6 虚拟机的封装

在封装虚拟机时我们首先应该明白,什么是封装?封装的目的是为了什么?

  • 封装就是将一个完整的系统以拷贝的形式打包,然后用粘贴的形式安装在另外一个系统盘上,而正常安装则是通过 Setup 程序进行安装。它的好处是可以大大地节约时间并且可以在里面加入自己喜欢的软件等操作;
  • 虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,但不会对真正的系统产生任何影响 ,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统;
  • 使用虚拟机封装系统对实体机不会造成任何损害,因为系统封装会对母系统进行封包 、压缩 、安装和重启,多项操作都可以在虚拟机里面实现。

虚拟机封装

  1. 此处我们封装一个 7.6 版本的虚拟机,首先在官网下载一个 7.6 版本的镜像文件;下载完成之后,就可以开始封装虚拟机;

首先在超级用户下输入命令 virt-manager 命令来打开虚拟机管理界面,也可以用图形的方式打开;然后点击如图圈出的位置;

linux 虚拟机封装_第1张图片
然后点击选择本地镜像的方式安装;

linux 虚拟机封装_第2张图片
点击 Browse… 来选择自己的景象文件;

linux 虚拟机封装_第3张图片
然后设定内存为 1024 M,由于后面的使用不需要开启图形,可以最小安装就可以,如果需要开启图形,至少需要 2948M ,否则虚拟机会比较卡;

linux 虚拟机封装_第4张图片
内存设定为 20G ,方便后面虚拟机中做实验;
linux 虚拟机封装_第5张图片
为当前安装的虚拟机七个名称 ,此处命名为 rhel7.6-new ;
linux 虚拟机封装_第6张图片
此处选择默认,然后开始安装;表示安装时的语言默认是英文;

linux 虚拟机封装_第7张图片
安装时需要设定以下几个选项;

linux 虚拟机封装_第8张图片
设定时区为亚洲的上海;

linux 虚拟机封装_第9张图片

此处取消选择 kdump ,kdump 是内存载量恢复,当内核突然出问题时,会将数据存在这里面,由于内存只有1G,所以不要选择这个;

linux 虚拟机封装_第10张图片

选择自动划分磁盘大小,手动设置建议设定为 lvm 形式, lvm 是可以拉伸的类型。

linux 虚拟机封装_第11张图片

完成以上操作之后便可以开始安装虚拟机;设定超级用户的密码;

linux 虚拟机封装_第12张图片
等待安装完成,然后点击 reboor 重启系统;

linux 虚拟机封装_第13张图片
在重启系统进入系统时,按 e 进入编辑模式;

linux 虚拟机封装_第14张图片
在该模式中写入 selinux=0 ,然后按 ctrl+x 开启系统;selinux =0 表示关闭加强型火墙;

linux 虚拟机封装_第15张图片
进入系统之后,用超级用户登陆,此前在建立用户时也只默认了超级用户,并没有添加别的用户;查看当前主机名和 selinux 的状态;

linux 虚拟机封装_第16张图片
/etc/sysconfig/network-scripts/目录下编辑网卡文件 ifcfg-eth0 ,内容如图所示,此处编辑的过程默认没有安装 vim ;需要用 vi 来编辑文件内容;设定该主机的工作模式为静态网络的模式, IP 为172.25.25.1 ,网关为真实主机的 IP 172.25.25.250 ,DNS 为 114.114.114.114 ;
然后输入命令systemctl disable --now NetworkManager,虚拟机不使用 wifi ,可以选择关闭 NetworkManager;
然后输入命令 systemctl restart network重启网络;
输入命令 ip addr 来查看 IP 是否设定成功;

linux 虚拟机封装_第17张图片

在 /etc/yum.repo.d/ 目录中编辑软件仓库文件 dvd.repo ;内容如图所示,使用真实主机上搭建的网络软件仓库;

:真实主机上软件库的搭建可参考https://editor.csdn.net/md/?articleId=113775860

完成之后输入命令 yum repolist 来列出库中的所有软件软件包,当出现数字时,表示网络和软件库的文件都编辑成功;
然后输入yum install -y vim bash-* lftp来安装相关的几个软件,为以后的饰演奠定基础;

linux 虚拟机封装_第18张图片
编辑本地解析文件,当别的主机连接该主机时有解析的时候就比较快;此处可以多写几个,方便在后面增加虚拟机数量时备用;第一个 250 为真实主机的 IP 对应真实主机的主机名;

linux 虚拟机封装_第19张图片
设定万成之后,便可以在真实主机上来连接虚拟机;设定虚拟机的名称为 server1 ;

linux 虚拟机封装_第20张图片
由于开机设定 selinux 只是临时的,需要编辑 /etc/selinuc/config文件,内容如下所示,将SELINUX修改为 disbaled ;(如果 selinux 开启对后期的服务组件有很大的影响);CE 中必须开启selinux,到了生产环境必须关闭,开启了selinux,就会有很多的安全策略,后期部署的服务都是开源软件,源码需要编译的,在系统上根本不存在相匹配的 selinux 的安全策略,因此,默认全部禁用的。
然后输入命令 systemctl disable --now firewalld关闭火墙;然后输入命令 poweroff来关闭这个母镜像,此后不需要再开启。

linux 虚拟机封装_第21张图片

  1. 生成母盘,创建子盘
    完成以上操作之后, 7.6 版本的虚拟机就已经封装完毕;但是封装的虚拟机的大小却有 21G ,对于实际中需要多个时,主机的性能要求就非常高了,所以接下来就需要进行压缩生成母镜像。

输入命令 virt-sysprep -d rhel7.6-new来删除所有缓存;根据提示需要安装闭 bug 的指令,依次安装完毕即可删除所有缓存;

:rhel7.6-new 是虚拟机的真实名字,如果不记得要打开虚拟机管理界面来查看。

linux 虚拟机封装_第22张图片清理完成之后的母镜像还是 21G ,此时输入命令 virt-sparsify --compress rhrl7.6-new.qcow2 new.qcow2
将母镜像压缩为 new.qcow2 ;

linux 虚拟机封装_第23张图片
如图所示压缩之后的大小只有 558M,此时便可以删除未压缩的母镜像来缓解内存压力;还需要用在虚拟机管理界面中删除 21G 的虚拟机;

linux 虚拟机封装_第24张图片

根据压缩后的母镜像来创建虚拟机的快照,需要几个就可以照几个;

linux 虚拟机封装_第25张图片
输入命令 qemu-img info demo2便可以查看快照信息,可以看到其是来源是 new.qcow2 ;此时查看其大小只有 196k;
:用 qemu-img info demo2便可以查看快照信息时,虚拟机不能开启。

linux 虚拟机封装_第26张图片
此时在安装虚拟机时,就可以导入已经存在的快照;

linux 虚拟机封装_第27张图片
选择要安装的快照文件;依次选择 demo1 和 demo2 ;

linux 虚拟机封装_第28张图片

由于快照后安装的虚拟机的信息都是和母镜像内容一致的存在,所以此处只为 demo 2 做修改;用超级用户登陆,修改主机名为 server2;linux 虚拟机封装_第29张图片
修改 IP 为172.25.25.2 ,和之前在封装虚拟机时写入 /etc/hosts中的内容相对应;
然后输入命令 systemctl restart network来重启网络。
至此,虚拟机的封装完毕,根据压缩后的母镜像安装了两台虚拟机,后面根据需要可以继续根据母镜像做快照,来满足需求。

linux 虚拟机封装_第30张图片

你可能感兴趣的:(运维,linux)