KVM虚拟化
之前有介绍KVM,可以参考历史文章
1、CentOS6系统下部署KVM虚拟化
2、CentOS6 KVM虚拟化环境中克隆虚拟机操作说明
3、KVM虚拟机Bridge和NAT网络连接模式介绍
4、CentOS7环境下使用Cockpit创建KVM虚拟机
下面介绍CentOS7 KVM环境下制作CentOS7 qcow2格式镜像
如果是CentOS7 KVM环境是VMware虚拟机,需要CPU开启虚拟化
1、配置yum镜像源
代码语言:javascript复制wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
yum clean all
yum makecache
2、安装kvm qemu-img libvirt kvm虚拟化所需环境组件
代码语言:javascript复制yum -y install qemu-kvm qemu-img kvm qemu-kvm-tools libvirt bridge-utils
另外还需要安装virt-*
代码语言:javascript复制yum install virt-*
截图略
3、启动libvirtd
代码语言:javascript复制systemctl enable libvirtd
systemctl start libvirtd
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
sysctl -p
4、上传原版CentOS ISO镜像到/data目录
5、先创建qcow2镜像文件
代码语言:javascript复制qemu-img create -f qcow2 /data/CentOS7_YF.qcow2 100G
6、创建KVM虚拟机
代码语言:javascript复制virt-install --name CentOS7_YF --ram 4096 --vcpus 4 --os-type linux --os-variant rhel7 --arch=x86_64 --network network=default,model=virtio --disk path=/data/CentOS7_YF.qcow2,format=qcow2 --location /data/CentOS-7-x86_64-DVD-1908.iso --console pty,target_type=serial --graphics vnc,listen=0.0.0.0,port=7788
使用UltraVNC工具连接宿主机的VNC:7788端口,并完成系统的安装,就不详细介绍安装步骤了
7、等待虚拟机安装完后,登录查看相关IP磁盘分区信息
8、ssh登录虚拟机进行定制、优化等等
代码语言:javascript复制curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
yum install -y acpid net-tools
sed -i '/UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth*
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
systemctl disable firewalld
systemctl stop firewalld
9、定制化之后关机
代码语言:javascript复制history -c
poweroff
10、virt-sysprep -d 清理机器信息
代码语言:javascript复制virt-syprep -d CentOS7_YF
11、virt-sparsify compress压缩镜像
virt-sparsify时可能因为默认的/tmp空间不足,会提示tmp不足,可以提前定义好tmp目录
代码语言:javascript复制mkdir /data/tmp
chmod 1777 /data/tmp/
export TEMP=/data/tmp
export TMPDIR=/data/tmp
echo 'export TEMP=/data/tmp' >> /etc/profile
echo 'export TMPDIR=/data/tmp' >> /etc/profile
source /etc/profile
代码语言:javascript复制virt-sparsify --compress /data/CentOS7_YF.qcow2 /data/CentOS7_YF_allinone.qcow2
可以看到压缩后的allinone.qcow2文件只有763M左右
12、测试镜像文件
代码语言:javascript复制virt-install --virt-type kvm --name YuanFan_DIY --ram 4096 --vcpus=4
--import
--disk path=/data/CentOS7_YF_allinone.qcow2,format=qcow2
--network network=default,model=virtio
--graphics vnc,listen=0.0.0.0,port=7799
--os-type=linux
vnc连接登录后,qcow2镜像正常可用,那么qcow2镜像就制作完成了