Linux (redhat)封装虚拟机镜像
命令行工具可用于重置或取消配置客户机虚拟机,以便从中克隆。这个过程涉及删除 SSH 主机密钥、删除持久网络 MAC 配置和删除用户帐户。virt-sysprep 还可以通过添加 SSH 密钥、用户或徽标来自定义虚拟机。根据需要,可以启用或禁用每个步骤。命令可以处理大多数文件系统,如 ext2、ext3、ext4、btrfs、NTFS。virt-sparsify 可以针对任何磁盘镜像操作,而不只是虚
Linux (redhat)封装虚拟机镜像
一、修改主机名
- 虚拟机
[root@localhost ~]# hostnamectl set-hostname server1
[root@localhost ~]# vi /etc/selinux/config
"SELINUX=enforcing -> SELINUX=disabled"
[root@localhost ~]#
二、配置网络
- 虚拟机
[root@server1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
[root@server1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
NAME=eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.0.1
NETMASK=255.255.255.0
GATEWAY=192.168.0.250
[root@server1 ~]# vi /etc/resolv.conf
[root@server1 ~]# cat /etc/resolv.conf
nameserver 114.114.114.114
[root@server1 ~]# echo "server1 192.168.0.1" >> /etc/hosts
[root@server1 ~]# systemctl disable --now firewalld
[root@server1 ~]# systemctl restart network
[root@server1 ~]#
三、配置 yum 源
- 真实主机
[root@localhost ~]# yum install -y httpd
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# mkdir /var/www/html/repo-local/
[root@localhost ~]# mount /iso/rhel-7.6.iso /var/www/html/repo-local/
[root@localhost ~]# echo "/iso/rhel-7.6.iso /var/www/html/repo-local iso9660 defaults 0 0" >> /etc/fstab
[root@localhost ~]# firewall-cmd --permanent --add-masquerade
[root@localhost ~]# firewall-cmd --permanent --add-service=http
[root@localhost ~]# firewall-cmd --reload
[root@localhost ~]#
- 虚拟机
[root@server1 ~]# vi test.repo
[root@server1 ~]# cat test.repo
[Linux-repo-local]
name=local-repo
baseurl=http://192.168.0.250/repo-local/
gpgcheck=0
enabled=1
[root@server1 ~]# yum repolist
[root@server1 ~]# yum makecache
[root@server1 ~]# yum install -y bash-* vim
[root@server1 ~]# poweroff
四、制作成镜像
-
清理虚拟机临时及缓存文件:
virt-sysprep -d 虚拟机名
-
压缩输出文件:
virt-sparsify --compress rhel7.6.qcow2 rhel7.6-base.qcow2
-
virt-sparsify:回收 Empty 磁盘空间。
virt-sparsify 命令行工具可用于生成虚拟机磁盘(或任何磁盘镜像)稀疏。这也被称为精简配置。磁盘镜像上的可用磁盘空间转换为主机上可用空间。
virt-sparsify 命令可以处理大多数文件系统,如 ext2、ext3、ext4、btrfs、NTFS。它还可用于 LVM 物理卷。virt-sparsify 可以针对任何磁盘镜像操作,而不只是虚拟机磁盘镜像。
[注]:‘–compress’ 压缩输出文件。这只有在 输出格式是 ‘qcow2’ 时有效。这个选项不能与 ‘–in-place’ 选项一起使用。 -
virt-sysprep:重置虚拟机设置。
virt-sysprep 命令行工具可用于重置或取消配置客户机虚拟机,以便从中克隆。这个过程涉及删除 SSH 主机密钥、删除持久网络 MAC 配置和删除用户帐户。virt-sysprep 还可以通过添加 SSH 密钥、用户或徽标来自定义虚拟机。根据需要,可以启用或禁用每个步骤。 -
真实主机操作:
[root@localhost ~]# yum install -y libguestfs-tools
[root@localhost ~]# cd /var/lib/libvirt/images/
[root@localhost ~]# virt-sysprep -d rhel7.6
[root@localhost ~]# virt-sparsify --compress rhel7.6.qcow2 rhel7.6-base.qcow2
[root@localhost ~]# ls
rhel7.6.qcow2 rhel7.6-base.qcow2
[root@localhost ~]# qemu-img create -f qcow2 -b rhel7.6-base.qcow2 test.qcow2
[root@localhost ~]#
更多推荐
所有评论(0)