在 OpenEuler 中配置 KVM 虚拟化环境指南
本文最后更新于62 天前,其中的信息可能已经过时。

0x00 前言

随着云计算和虚拟化技术的迅猛发展,KVM(Kernel-based Virtual Machine)作为一种高效的虚拟化解决方案,越来越受到企业和开发者的青睐。OpenEuler 作为一个开源操作系统,旨在为用户提供稳定、安全的运行环境,其内置的 KVM 支持使得用户能够轻松构建和管理虚拟机,从而实现资源的灵活分配和高效利用。

本指南旨在为读者提供一个详细的步骤说明,帮助大家在 OpenEuler 系统中配置 KVM 虚拟化环境。无论您是初学者还是有一定经验的用户,这份指南都将涵盖从环境准备、安装到虚拟机管理的各个方面,确保您能够顺利地搭建并管理自己的虚拟化平台。

通过本指南,您将学习到:

  • KVM 的基本概念和优势
  • OpenEuler 的环境准备与安装
  • KVM 的配置与管理
  • 常见问题的解决方案

希望本指南能够帮助您在虚拟化的旅程中迈出坚实的一步,为您的项目带来更多的灵活性与高效性。

0x01 桥接网卡

首先我们需要先配置一个桥接网卡用于我们的电脑宿主机访问该系统里KVM虚拟化主机

#进入网络脚本路径
cd /etc/sysconfig/network-scripts/
#创建一个桥接网卡
nmcli c a con-name br0 ifname br0 type bridge
#将ens33的连接修改为从属连接
nmcli c modify 'ens33' connection.slave-type bridge master br0
然后配置需要的静态ip,对网桥网卡进行配置,配置完nmcli c r,再分别nmcli c up 本地网卡,nmcli c up br0

0x02 安装组件

最低硬件需求

在openEuler系统中安装虚拟化组件,最低硬件要求:

  • AArch64处理器架构:ARMv8以上并且支持虚拟化扩展
  • x86_64处理器架构:支持VT-x
  • 2核CPU
  • 4GB的内存
  • 16GB可用磁盘空间

这里首先需要配置好yum源

安装必要的组件

 yum install -y qemu libvirt virt-install
 systemctl start libvirtd
 systemctl enable libvirtd

检查是否安装成功

rpm -qi qemu
rpm -qi libvirt

KVM模块已经集成在openEuler内核中,因此不需要单独安装。

将镜像传输镜像到机器上

0x03 安装虚拟机

virt-install \
  --name oepneuler-1 \
  --video vga \
  --memory 1024 \
  --vcpus 1 \
  --disk size=20 \
  --cdrom /kvm/openEuler.iso \
  --network bridge=br0 \
  --graphics vnc,listen=0.0.0.0,port=5900 \
  --noautoconsole
  
#如果提示磁盘大小报错,virsh pool-list --all 检查磁盘大小没问题后使用
  --check disk_size=off  # 关闭磁盘大小检查 
#一键复制版
virt-install --name oepneuler-1 --video vga --memory 1024 --vcpus 1 --disk size=20 --cdrom /kvm/openEuler.iso --network bridge=br0 --graphics vnc,listen=0.0.0.0,port=5900 --noautoconsole

参数解释

● --name oepneuler-1:
  ○ 设置虚拟机的名称为 oepneuler-1。
● --video vga:
  ○ 指定虚拟机的显卡类型为 vga。这通常用于图形界面操作。
● --memory 1024:
  ○ 分配 1024 MB(即 1 GB)的内存给虚拟机。
● --vcpus 1:
  ○ 为虚拟机分配 1 个虚拟 CPU。
● --disk size=20:
  ○ 创建一个大小为 20 GB 的虚拟磁盘。默认情况下,磁盘类型为 qcow2(可扩展的磁盘格式)。
● --cdrom /kvm/openEuler.iso:
  ○ 指定一个 ISO 文件作为虚拟机的安装介质。在这个示例中,使用的是位于 /kvm/ 目录下的 openEuler.iso。
● --network bridge=br0:
  ○ 让虚拟机通过 br0 网络桥接连接到主机的网络。这允许虚拟机与外部网络通信。
● --graphics vnc,listen=0.0.0.0,port=5900:
  ○ 配置虚拟机的图形输出使用 VNC 协议。listen=0.0.0.0 表示 VNC 服务器将监听所有可用的网络接口,port=5900 指定 VNC 服务器使用的端口号。
● --noautoconsole:
  ○ 不自动打开控制台。这意味着在虚拟机启动后,你不会被自动连接到 VNC 会话,而是需要手动连接。

ss -anltp 可以看到监听端口

通过vnc软件连接上 我这里用remmina进行连接

测试桥接网卡成功生效成功与外部机器进行连接

0x04 虚拟机管理命令

virsh是用于管理虚拟机的命令行工具,提供了一系列命令来创建、启动、停止和管理虚拟机。以下是一些常用的 virsh命令及其功能:

管理

virsh list --all # 列出所有虚拟机及其状态
virsh start vm-01 # 启动虚拟机 vm-01
virsh shutdown vm-01 # 优雅地关闭虚拟机 vm-01
virsh destroy vm-01 # 强制停止虚拟机 vm-01(相当于断电)
virsh reboot vm-01 # 重启虚拟机 vm-01
virsh dominfo vm-01 # 显示虚拟机 vm-01 的详细信息
virsh dumpxml vm-01 # 查看虚拟机 vm-01 的 XML 配置
virsh define vm-01.xml # 根据 XML 文件定义新的虚拟机
virsh undefine vm-01 # 删除虚拟机 vm-01 的定义
virsh suspend vm-01 # 暂停虚拟机 vm-01
virsh resume vm-01 # 恢复虚拟机 vm-01
virsh console vm-01 # 连接到虚拟机 vm-01 的控制台
virsh start vm-01 --autostart # 设置虚拟机 vm-01 为开机自启动
virsh list # 列出正在运行的虚拟机

快照

virsh snapshot-create vm-01 #为vm-01虚拟机创建快照
virsh snapshot-create-as vm-01 snap-test #创建快照的同时,指定快照名称snap-test
qemu-img snapshot -1 /kvm/os/vm-01.qcow2 #查看快照
virsh snapshot-list vm-01 #查看快照
virsh snapshot-revert vm-01 snap-test #恢复虚拟机至快照状态
virsh snapshot-delete vm-01 snap-test #删除指定快照
virsh snapshot-current vm-01 #删除当前快照(即最近一个快照)
virsh snapshot-delete vm-01 --current #同上

克隆

virt-clone -o vm-01 -n vm-02 -f/kvm/os/vm-02.qcow2
virsh start vm-02 #启动虚拟机后,修改hostname,ip等
觉得有帮助可以投喂下博主哦~感谢!
作者:明弟有理想
版权声明: 本站所有文章,如无特殊说明或标注,均为本站原创发布。转载请注明文章地址及作者。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
文章声明:
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任,本人坚决反对利用文章内容进行恶意攻击行为,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全,本文内容未隐讳任何个人、群体、公司。请注意,本文并非文学作品,请勿过度理解。请大家自觉遵守《网络安全法》,感谢您的理解与支持!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇