本文介绍如何在KVM上为CentOS/Fedora/RHEL Linux发行版创建VM Templates的方法。VM Templates是VM实例的主副本,你可以从中复制、转换或部署更多虚拟机。
一、安装KVM参考文章 需要先安装KVM,参考下面文章即可: 在CentOS 7/Ubuntu 16.04/Debian 9/SLES 12上安装KVM的方法 KVM服务(libvirtd)应该正在运行并启用以在启动时启动: sudo systemctl start libvirtd sudo systemctl enable libvirtd 在Ubuntu/Debian上启用vhost-net内核模块: sudo modprobe vhost_net echo vhost_net | sudo tee -a /etc/modules
二、创建CentOS/Fedora/RHEL VM 在我们创建基线模板之前,我们需要安装CentOS/Fedora或RHEL Linux服务器,我建议在安装Base OS时保持较小的磁盘大小。 1.使用qemu-img创建10 GB VM映像 $ sudo qemu-img create -o preallocation=metadata -f qcow2 /var/lib/libvirt/images/centos.qcow2 10G Formatting '/var/lib/libvirt/images/centos.qcow2', fmt=qcow2 size=10737418240 cluster_size=65536 preallocation=metadata lazy_refcounts=off refcount_bits=16 2.开始安装基准操作系统 sudo virt-install --virt-type kvm --name centos7 --ram 1024 \ --disk /var/lib/libvirt/images/centos.qcow2,format=qcow2 \ --network network=default \ --graphics vnc,listen=0.0.0.0 --noautoconsole \ --os-type=linux --os-variant=rhel7.0 \ --location=/home/jmutai/iso/CentOS-7-x86_64-Minimal-1810.iso 更换: centos7,名称为Base实例。 /var/lib/libvirt/images/centos.qcow2以及磁盘映像的路径。 /home/jmutai/iso/CentOS-7-x86_64-Minimal-1810.iso,带有ISO文件的路径。 默认使用名称为KVM网络。 在开始安装时,应该获得输出: Starting install... Setting input-charset to 'UTF-8' from locale. Retrieving file vmlinuz... | 6.3 MB 00:00:00 Setting input-charset to 'UTF-8' from locale. Retrieving file initrd.img... | 50 MB 00:00:00 Domain installation still in progress. You can reconnect to the console to complete the installation process. 打开你的Virt Manager以完成安装:
对于控制台安装,请改用以下行: sudo virt-install --virt-type kvm --name centos7 --ram 1024 \ --disk /var/lib/libvirt/images/centos.qcow2,format=qcow2 \ --network network=default \ --os-type=linux --os-variant=rhel7.0 \ --location=/home/jmutai/iso/CentOS-7-x86_64-Minimal-1810.iso \ --graphics none \ --console pty,target_type=serial \ --extra-args 'console=ttyS0,115200n8 serial' 检查并设置控制台安装参数:
三、准备CentOS/Fedora/RHEL VM Templates 1.更新系统 完成VM安装后,登录到实例并将所有系统软件包更新到最新版本: sudo yum -y update 2.安装缺少的标准基本软件包: sudo yum install -y epel-release vim bash-completion wget curl telnet net-tools unzip lvm2 3.安装acpid和cloud-init软件包: sudo yum -y install acpid cloud-init cloud-utils-growpart sudo sudo systemctl enable --now acpid 4.禁用zeroconf路由: echo "NOZEROCONF=yes" | sudo tee -a /etc/sysconfig/network 5.配置GRUB_CMDLINE_LINUX - 用于Openstack用法。 如果计划将模板导出到Openstack Glance映像服务,请编辑/etc/default/grub文件并配置GRUB_CMDLINE_LINUX选项,你的行应该如下所示 - 删除rhgb quiet并添加console=tty0 console=ttyS0,115200n8: GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap console=tty0 console=ttyS0,115200n8" 生成grub配置: sudo grub2-mkconfig -o /boot/grub2/grub.cfg 6.在基准模板上安装所需的其他软件包 7.完成后,关闭虚拟机电源: sudo poweroff
四、清理VM Templates 需要virt-sysprep工具来清理实例: sudo virt-sysprep -d centos7 输出:
清理VM Templates后,取消定义libvirt域: $ sudo virsh undefine centos7 Domain centos7 has been undefined 你的VM Templates已准备就绪,可供使用。
相关主题 |