云网牛站
所在位置:首页 > Linux教程 > 在KVM上为CentOS/Fedora/RHEL创建VM Templates的方法

在KVM上为CentOS/Fedora/RHEL创建VM Templates的方法

2019-03-25 16:29:56作者:叶云稿源:云网牛站

本文介绍如何在KVM上为CentOS/Fedora/RHEL Linux发行版创建VM Templates的方法。VM Templates是VM实例的主副本,你可以从中复制、转换或部署更多虚拟机。

 

一、安装KVM参考文章

需要先安装KVM,参考下面文章即可:

在CentOS 7/Ubuntu 16.04/Debian 9/SLES 12上安装KVM的方法

在RHEL 8系统上安装KVM的方法

如何在Ubuntu 18.04服务器上安装和配置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以完成安装:

在KVM上为CentOS/Fedora/RHEL创建VM Templates的方法

对于控制台安装,请改用以下行:

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'

检查并设置控制台安装参数:

在KVM上为CentOS/Fedora/RHEL创建VM Templates的方法

 

三、准备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

输出:

在KVM上为CentOS/Fedora/RHEL创建VM Templates的方法

清理VM Templates后,取消定义libvirt域:

$ sudo virsh undefine centos7

Domain centos7 has been undefined

你的VM Templates已准备就绪,可供使用。

 

相关主题

在KVM上创建VM快照的方法

精选文章
热门文章