vlambda博客
学习文章列表

虚拟化技术——CentOS 7.8 安装部署 KVM 虚拟机及基本操作


一、实验环境

  1. VMware Workstation 16 Pro

  2. MobaXterm Personal 20.2

  3. CentOS-7-x86_64-DVD-2003.iso

  4. cn_windows_server_2008_r2.iso

  5. virtio-win-0.1.141_amd64.man


二、安装 CentOS 7.8 创建本地 yum 源

# 创建本地仓库mkdir /repo /mnt/repo
# 挂载系统镜像mount /dev/cdrom /mnt/repo
# 复制系统镜像的所有文件cp -R /mnt/repo/* /repo
# 修改 yum 源配置文件vim /etc/yum.repo.d/CentOS-Base.repo# 写入以下内容[base]name=CentOS-$releasever - Basebaseurl=file:///repogpgcheck=0enabled=1
# 清空 yum 缓存yum clean all
# 建立 yum 缓存yum makecache


三、安装及启动 KVM

# 安装 kvm 基本软件包yum install -y virt-* qemu-kvm libvirt bridge-utils qemu-kvm-tools rsync
# 查看 kvm 服务状态systemctl status libvirtd
# 启动 kvm 服务systemctl start libvirtd
# 停止 kvm 服务systemctl stop libvirtd
# 开机自动启动 kvm 服务systemctl enable libvirtd


四、在 KVM 中安装 Windows Server 2008 虚拟机

# 安装虚拟机virt-install \ --connect qemu:///system \ --name=winserver2008 \ --os-variant=winxp \ --ram=1024 \ --vcpus=1 \ --disk path=/var/lib/libvirt/images/winserver2008.qcow2,format=qcow2,size=10,bus=virtio \ --accelerate \ --vnc \ --vncport=5909 \ --vnclisten=0.0.0.0 \ --noautoconsole \ --disk path=/tmp/cn_windows_server_2008_r2.iso,device=cdrom \ --disk path=/tmp/virtio-win-0.1.141_amd64.man,device=floppy,perms=rw
# 关闭防火墙systemctl stop firewalld
# 关闭 selinuxsetenforce 0


五、KVM 基本操作

# 查看所有 kvm 虚拟机virsh list --all
# 开启 kvm 虚拟机virsh start winserver2008
# 关闭 kvm 虚拟机virsh shutdown winserver2008


六、克隆 KVM 虚拟机

6.1 自动克隆

# 克隆虚拟机virt-clone --auto-clone -o winserver2008
# 编辑新克隆的虚拟机virsh edit winserver2008-clone# 修改以下内容的 port 和 passwd<graphics type='vnc' port='5910' autoport='yes' listen='0.0.0.0' passwd='123456'> <listen type='address' address='0.0.0.0'/></graphics>
# 启动新克隆的虚拟机virsh start winserver2008-clone
# 使用 vnc 连接查看新克隆的虚拟机


6.2 详细参数克隆

# 存放新客户端磁盘映像的新文件mkdir /clone
# 修改 winserver2008 配置文件vim /etc/libvirt/qemu/winserver2008.xml# 删除以下内容<disk type='file' device='floppy'> <driver name='qemu' type='raw'/> <source file='/tmp/virtio-win-0.1.141_amd64.man'/> <target dev='fda' bus='fdc'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/></disk>
# 根据配置文件重新定义虚拟机virsh define /etc/libvirt/qemu/winserver2008.xml
# 克隆虚拟机virt-clone \ -o winserver2008 \ -n winserver2008-hui \ -f /clone/winserver2008-hui.qcow2
# 编辑新克隆的虚拟机virsh edit winserver2008-hui# 修改以下内容的 port 和 passwd<graphics type='vnc' port='5910' autoport='yes' listen='0.0.0.0' passwd='123456'> <listen type='address' address='0.0.0.0'/></graphics>


七、KVM 快照创建与恢复

# 进入虚拟机文件目录cd /clone
# 查看镜像文件格式是否为 qcow2 格式qemu-img info winserver2008-hui.qcow2
# 进入virsh模式virsh
# 创建快照 defaultsnapshot-create-as winserver2008-hui default
# 列出 winserver2008-hui 快照snapshot-list winserver2008-hui
# 恢复虚拟机到指定的 default 快照snapshot-revert winserver2008-hui default
# 删除 winserver2008-hui 名为 default 快照snapshot-delete winserver2008-hui default 


八、KVM 虚拟机迁移

# 导出虚拟机配置文件virsh dumpxml winserver2008 > /etc/libvirt/qemu/winserver2008-migration.xml
# 导出虚拟机文件rsync -av /var/lib/libvirt/images/winserver2008.qcow2 /var/lib/libvirt/images/winserver2008-migration.qcow2
# 修改虚拟机配置文件vim /etc/libvirt/qemu/winserver2008-migration.xml# 修改以下内容<name>winserver2008-migration</name><uuid>dff6ae19-00fc-4445-bd17-a5abd2182d40</uuid><source file='/var/lib/libvirt/images/winserver2008-migration.qcow2'/>
# 根据配置文件重新定义虚拟机virsh define /etc/libvirt/qemu/winserver2008-migration.xml
#启动虚拟机virsh start winserver2008-migration


最后感谢我的仙女姐姐!