linux 虚拟机封装

linux 7.6 虚拟机的封装

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

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

虚拟机封装

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

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

在这里插入图片描述
然后点击选择本地镜像的方式安装;

在这里插入图片描述
点击 Browse… 来选择自己的景象文件;

在这里插入图片描述
然后设定内存为 1024 M,由于后面的使用不需要开启图形,可以最小安装就可以,如果需要开启图形,至少需要 2948M ,否则虚拟机会比较卡;

在这里插入图片描述
内存设定为 20G ,方便后面虚拟机中做实验;
在这里插入图片描述
为当前安装的虚拟机七个名称 ,此处命名为 rhel7.6-new ;
在这里插入图片描述
此处选择默认,然后开始安装;表示安装时的语言默认是英文;

在这里插入图片描述
安装时需要设定以下几个选项;

在这里插入图片描述
设定时区为亚洲的上海;

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
等待安装完成,然后点击 reboor 重启系统;

在这里插入图片描述
在重启系统进入系统时,按 e 进入编辑模式;

在这里插入图片描述
在该模式中写入 selinux=0 ,然后按 ctrl+x 开启系统;selinux =0 表示关闭加强型火墙;

在这里插入图片描述
进入系统之后,用超级用户登陆,此前在建立用户时也只默认了超级用户,并没有添加别的用户;查看当前主机名和 selinux 的状态;

在这里插入图片描述
/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 是否设定成功;

在这里插入图片描述

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

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

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

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

在这里插入图片描述
设定万成之后,便可以在真实主机上来连接虚拟机;设定虚拟机的名称为 server1 ;

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

在这里插入图片描述

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

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

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

在这里插入图片描述清理完成之后的母镜像还是 21G ,此时输入命令 virt-sparsify --compress rhrl7.6-new.qcow2 new.qcow2
将母镜像压缩为 new.qcow2 ;

在这里插入图片描述
如图所示压缩之后的大小只有 558M,此时便可以删除未压缩的母镜像来缓解内存压力;还需要用在虚拟机管理界面中删除 21G 的虚拟机;

在这里插入图片描述

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

在这里插入图片描述
输入命令 qemu-img info demo2便可以查看快照信息,可以看到其是来源是 new.qcow2 ;此时查看其大小只有 196k;
:用 qemu-img info demo2便可以查看快照信息时,虚拟机不能开启。

在这里插入图片描述
此时在安装虚拟机时,就可以导入已经存在的快照;

在这里插入图片描述
选择要安装的快照文件;依次选择 demo1 和 demo2 ;

在这里插入图片描述

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

在这里插入图片描述

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值