3.使用virt-manager部署及管理虚拟机

一、KVM 概述


KVM 是 Kernel-based Virtual Machine 的缩写,是一种用于虚拟化的开源硬件虚拟化技术。它使用 Linux 内核的虚拟化模块,将物理服务器划分为多个虚拟机。

KVM 允许虚拟机直接访问物理硬件资源,从而提供出色的性能和稳定性,同时还支持许多常见的操作系统和应用程序。 KVM 使用了 QEMU (Quick Emulator) 作为其默认的虚拟机监控程序。

除此之外,KVM 还支持多种嵌入式和云计算场景,并且得到了广泛的应用。


二、KVM工作原理


KVM 的工作原理是使用 Linux 内核的虚拟化模块,将物理服务器划分为多个虚拟机。

具体来说,它在 Linux 内核之上构建一个虚拟化层,该虚拟化层允许多个虚拟机共享物理服务器上的计算资源(如 CPU、内存和 0 设备)。在此虚拟化层中,每个虚拟机都被视为单独的计算机,每个虚拟机可以运行不同的操作系统和应用程序。

KVM使用硬件虚拟化技术,即通过 intel VT-x 和 AMD-V 等 CPU 虚拟化指集的支持,将虚拟化性能提升到接近原生性能。

此外,KVM 还使用 QEMU 作为其虚拟机监控程序,QEMU为每个虚拟机提供了一个虚拟化的环境,在该环境中,虚拟机可以访问它需要的资源(如磁盘、网络和其他I/0 设备)。

同时,KVM 利用 Linux 内核的强大功能,如分时调度和内存管理,来确保多个虚拟机之间的隔离性和安全性。

综上所述,KVM 的工作原理是结合硬件虚拟化技术和 Linux 内核的虚拟化模块,创建出一个虚拟化层,将物理服务器划分为多个虚拟机,并为每个虚拟机提供一个虚拟化的环境,从而实现资源共享和隔离。


三、部署KVM


测试服务器

系统版本

IP地址

最低资源配置

CentOS7.6

192.168.2.126

CPU:8核
内存:20G
磁盘:100G

虚拟化软件:WMware ESXi、KVM

7.0版本

  • 宿主操作系统(在哪个操作系统上操作):CentOS 7.6
  • 虚拟化软件:VMWare ESXI7.0、KVM
  • 待安装操作系统(等下虚拟机建好后需要安装的操作系统):CentOS 7.6

基础环境设置

systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
yum -y install vim wget net-tools unzip zip gcc gcc-c++ epel-release

检测机器的CPU是否支持KVM。若显示结果由vmx(Intel)或svm(AMD)字样,就说明支持。

image-20250228065942977)

安装 KVM 和相关软件包,可以通过以下命令来安装:

yum -y install qemu-kvm qemu-kvm-tools virt-install qemu-img bridge-utils libvirt virt-manager

image-20250228070558011

安装包说明:

KVM安装包

含义

qemu-kvm

主要KVM程序包

virt-manager

GUI虚拟机管理工具

libvirt

C语言工具包,提供libvirt服务

qemu-kvm-tools

KVM调试工具

qemu-img

安装qemu组件,使用qemu命令来创建磁盘,启动虚拟机

bridge-utils

创建和管理桥接设备的工具

创建一个网络桥接器

cat > /etc/sysconfig/network-scripts/ifcfg-br0 << EOF
TYPE="Bridge"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="br0"
UUID="4eaf3908-3128-4e53-84a8-fd13984e4525"
DEVICE="br0"
ONBOOT="yes"
IPADDR="192.168.2.126"
GATEWAY="192.168.2.254"
EOF

cat > /etc/sysconfig/network-scripts/ifcfg-ens192 << EOF
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens192"
UUID="4eaf3908-3128-4e53-84a8-fd13984e4525"
DEVICE="ens192"
ONBOOT="yes"
IPADDR="192.168.2.126"
GATEWAY="192.168.2.254"
BRIDGE=br0
EOF

重启网络

systemctl restart network

image-20250228070634737

进入virt-manager 工具

image-20250228070848713


四、新建虚拟机步骤


4.1 创建存储池并创建存储卷


双击QEMU/KVM

image-20250228071245080

进入如下界面

4.1.1 创建存储池

选择如图存储

image-20250228071401652

点击“+”

存储池命令“kvm”,存储池路径“/images/kvm”

创建完成

4.1.2 创建存储卷

"kvm"存储池下创建存储卷,选择“+”

命名“centos7.6-test”,分配大小30G

4.2 创建ISO存储池


命名镜像存储“ISO”

image-20250228072331941

存储镜像路径“/images/ISO”

image-20250228072613365

镜像上传到/images/iso/

image-20250228072639406

刷新后我们可以在ISO存储池中看到上传的centOS7镜像

4.3 生成新的虚拟机


虚拟机管理器选择创建新的虚拟机

image-20250228072741204

生成新虚拟机选择本地安装介质

image-20250228072822473

选择镜像位置

image-20250228072850801

选择ISO存储池的 centOS-7 镜像

image-20250228074539183

镜像选择完成后,下一步

image-20250228073914952

根据资源大小,选择合适的内存和CPU,下一步

image-20250228074620293

自定义存储

选择kvm存储池中“centos7.6-test”存储卷

image-20250228074709193

选择存储卷后下一步

自定义存储完成后选择完成

弹出界面如下

选择“Boot Options”,自动重启勾选

image-20250228074800490

选择“IDE CDROM 1” 关联镜像

image-20250228075052669

选择镜像路径

选择ISO存储池中 centos-7 镜像

镜像关联完成后,选择完成

image-20250228074916223

选择开始安装

image-20250228074949733

镜像操作系统安装界面

image-20250228075127616

选择语言

image-20250228075205303

配置时区、存储、网络

设置root 密码

安装完成后重启

image-20250228075243817

登录后linux

image-20250228075319538

### 安装 Virt-manager 虚拟机管理器 为了在 Ubuntu 22.04 LTS 中安装 `virt-manager` 虚拟机管理器,需执行一系列命令来确保软件包被正确安装并配置。 #### 更新系统包列表 首先更新系统的包列表以获取最新的版本信息: ```bash sudo apt update ``` #### 安装 Virt-manager 及其依赖项 接着通过 APT 包管理系统安装 `virt-manager` 和必要的库文件: ```bash sudo apt install virt-manager -y ``` 这一步骤会自动处理所有必需的依赖关系,并完成 `virt-manager` 的安装过程[^1]。 #### 启动 Libvirtd 服务 由于 `virt-manager` 需要与 libvirt 进行交互才能管理创建虚拟机实例,因此还需要启动并启用 `libvirtd` 服务: ```bash sudo systemctl enable --now libvirtd.service ``` 此操作不仅立即激活该守护程序而且设置它随操作系统一同开机自启。 #### 添加用户至 KVM 和 Libvirt 组 对于非 root 用户来说,在尝试运行图形界面下的 `virt-manager` 前应该把自己加入到特定权限组内以便于后续的操作更加顺畅。具体做法如下所示: ```bash sudo usermod -aG kvm $USER sudo usermod -aG libvirt $USER ``` 上述指令将当前登录账户添加到了两个重要的用户组中——kvm 和 libvirt,从而赋予了足够的权利去利用这些工具所提供的功能[^2]。 #### 登录新会话使更改生效 最后记得注销再重新登陆一次计算机使得新的群组成员身份得到应用;或者也可以采用更简单的方法即关闭终端窗口之后新开一个继续下面的工作流程。 现在可以打开应用程序菜单找到 "Virtual Machine Manager" 或者直接输入命令 `virt-manager` 来启动这个 GUI 工具来进行下一步关于 Windows XP 等其他 guest OSes 的部署工作了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值