14
2025
04
22:59:20

探索QEMU-KVM虚拟化:麒麟系统下传统与云镜像创建虚拟机的最佳实践

随着云计算和虚拟化技术的不断进步,虚拟化在管理服务器、隔离资源以及提升性能方面的好处越来越明显。麒麟操作系统Kylin OS是我们国家自己开发的操作系统,在政府机构和企业中用得很多。这篇文章会教你如何在麒麟操作系统上设置QEMU-KVM虚拟化环境,让你能够更有效地管理和分开不同的操作系统及应用程序。

什么是QEMU-KVM虚拟化?

QEMU-KVM是基于QEMU(Quick Emulator) KVM(Kernel-based Virtual Machine)技术的虚拟化平台。QEMU负责虚拟化硬件资源的模拟,而KVMLinux内核提供的硬件加速虚拟化技术。结合这两者,可以在一台物理主机上高效地运行多个虚拟机,每个虚拟机都有独立的操作系统和资源。

部署虚拟化

安装qemu-kvm及其依赖包。运行以下命令:

sudo yum install -y qemu-kvm libvirt virt-install bridge-utils
  • • qemu-kvmKVM虚拟化的核心组件。
  • • libvirt:用于管理虚拟机的库。
  • • virt-install:用于通过命令行创建虚拟机的工具。
  • • bridge-utils:用于网络桥接配置的工具。

启动libvirt服务

虚拟化管理工具libvirt需要启动并设置为开机自动启动。运行以下命令:

systemctl start libvirtd
systemctl enable libvirtd

创建虚拟机

创建虚拟机主要有两种方法:一种是用传统的办法,通过安装系统镜像来设置;另一种是使用云镜像,就是用已经配置好的模板来快速生成多台一样的虚拟机。

传统方式

在传统虚拟化方式下,虚拟机的创建通常是基于一个操作系统的安装镜像文件(ISO 文件)。通过安装过程,虚拟机会从该镜像文件中引导系统安装程序,进而完成操作系统的安装与配置。

准备系统镜像

首先,您需要准备一个操作系统的ISO镜像文件。例如,您可以使用麒麟操作系统的安装镜像,也可以使用其他Linux发行版如UbuntuCentOS等的镜像文件。

创建一个虚拟磁盘,相当于我们的系统盘。

qemu-img  create -f qcow2  /home/kylin-vm.qcow2   20G

创建虚拟机

可以使用 virt-install 命令来创建虚拟机,并指定 ISO 镜像作为引导源。

例如,以下命令将在麒麟操作系统上创建一台名为kylin-vm 的虚拟机,使用麒麟操作系统的安装镜像进行安装:

sudo virt-install \
--name kylin-vm \
--vcpus 2 \
--memory 4096 \
--cdrom /home/Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso \
--disk path=/home/kylin-vm.qcow2,size=20 \
--os-type linux \
--os-variant rhel7 \
--network network=default \
--graphics vnc  \
--console pty,target_type=serial \
--boot cdrom

参数说明:

  • • name:指定虚拟机的名称
  • • vcpus:分配2核心
  • • memory:分配4G内存
  • • cdrom:指定系统镜像的路径
  • • disk:指定硬盘的路径文件
  • • os-type:指定系统的类型,linuxWindows
  • • network:指定网络的类型,默认NAT模式。
  • • graphics: 指定虚拟机的图形界面方式

云镜像方式

云镜像方式是基于已经安装并配置好的操作系统镜像文件(通常为 QCOW2 格式),这些镜像包含了操作系统以及必要的配置和软件包。在该方式下,虚拟机创建的过程更加快速,因为操作系统已经事先配置好,虚拟机只是直接复制镜像中的内容。

准备云镜像文件

首先,您需要准备一个云镜像文件(例如 .qcow2 格式)。 以ubuntu为例子,从以下网址下载云镜像

http://cloud-images-archive.ubuntu.com/releases/noble/release-20240423/ubuntu-24.04-server-cloudimg-amd64.img

编辑元数据信息

配置用户与SSH,并设置主机名。

cat > user-data << EOF
#cloud-config
user: root
password: password@321
chpasswd: { expire: False }
ssh_pwauth: True
package_update: true
packages:
  - qemu-guest-agent
EOF


cat > meta-data << EOF
instance-id: my-cloud-vm
local-hostname: ubuntu-cloud
EOF

生成cloud-init ISO

genisoimage -output ubuntu-cloud-vm.iso -volid cidata -joliet -rock user-data meta-data

创建虚拟机

利用 virt-install 命令的 --import 选项,您可以直接从现有的云镜像文件创建虚拟机,而无需进行操作系统安装过程。

virt-install \
--name ubuntu-cloud-vm \
--vcpus 2 \
--memory 1024 \
--disk path=/var/lib/libvirt/images/ubuntu-24.10-vm1.img \
--disk path=/var/lib/libvirt/images/ubuntu-cloud-vm.iso \
--import \
--os-type linux \
--os-variant ubuntu24.04 \
--network network=default \
--graphics none \
--console pty,target_type=serial 

启动成功,可以通过以下界面查看虚拟机的状态

[root@kylin-node2 ~]# virsh list --all
 Id   Name              State
----------------------------------
 1    ubuntu-cloud-vm   running

管理虚拟机

  • • 常用命令
virsh list --all           # 查看所有虚拟机
virsh start kylin-vm1      # 启动虚拟机
virsh shutdown kylin-vm1   # 正常关闭
virsh destroy kylin-vm1    # 强制停止
virsh edit kylin-vm1       # 编辑虚拟机配置
virsh undefine kylin-vm1   # 删除虚拟机(需先destroy)
virsh console kylin-vm1    # 进入串口控制台(需在虚拟机内启用ttyS0)

总结

通过在麒麟系统上部署qemu-kvm虚拟化环境,我们可以高效地实现虚拟机的管理和资源隔离。虚拟化技术不仅提高了硬件资源的利用率,还提供了更高的灵活性和可扩展性,适用于多种应用场景 。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://zblog.hqyman.cn/post/10532.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: