Rocky Linux9.6安装KVM虚拟化平台的详细过程
KVM 是 内核虚拟机(Kernel Virtualization Machine) 的简称,是一个为 Linux 内核设计的开源虚拟化平台。它是一种 1 类管理程序,或通常称为裸机管理程序。它允许用户创建和管理多台客户机,这些可以在 Linux 或 Windows 操作系统中创建。
与大多数虚拟化平台一样,它将硬件资源(如 CPU、内存、存储、网络、图形等)抽象化,并将它们分配给独立于宿主机运行的客户机。
最新版本 Rocky Linux 9.6 已正式发布,今天就带大家一起来看一下它的安装与使用过程!
1. 安装准备
1.1 磁盘阵列规划
6 块 2.2TB 容量的SAS 硬盘,4 块做 RAID10,1 块做热备盘 RHS,另一块单独做 RAID0,用来存放ISO 文件。

1.2 操作系统安装
操作系统的安装过程,略过。
[root@bjbj ~]# cat /etc/redhat-release Rocky Linux release 9.6 (Blue Onyx) [root@bjbj ~]#
1.3 检查硬件是否支持虚拟化
[root@bjbj ~]# lscpu | grep Virtualization Virtualization: VT-x [root@bjbj ~]#
或者:
[root@bjbj ~]# cat /proc/cpuinfo | grep -E "vmx|svm" flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp_epp vnmi pku ospke avx512_vnni md_clear flush_l1d arch_capabilities vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs pml ept_violation_ve ept_mode_based_exec tsc_scaling ……

1.4 关闭防火墙和 selinux
防火墙先临时关闭,完成后启用再开放端口:
[root@bjbj ~]# systemctl stop firewalld [root@bjbj ~]# systemctl disable firewalld Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service". Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service". [root@bjbj ~]#
[root@bjbj ~]# vim /etc/selinux/config SELINUX=disabled
2. 安装 KVM 软件包
2.1 更新包存储库缓存
[root@bjbj ~]# dnf update

2.2 安装 KVM 基础软件包
[root@bjbj ~]# dnf install -y qemu-kvm libvirt virt-manager virt-install Last metadata expiration check: 0:10:04 ago on Sat 20 Dec 2025 11:07:10 AM CST. Dependencies resolved. ============================================================================================================================================================================================= Package Architecture Version Repository Size ============================================================================================================================================================================================= Installing: libvirt x86_64 10.10.0-15.4.el9_7 appstream 33 k qemu-kvm x86_64 17:9.1.0-29.el9_7.3 appstream 73 k virt-install noarch 5.0.0-1.el9 appstream 41 k virt-manager noarch 5.0.0-1.el9 appstream 529 k Installing dependencies: boost-iostreams x86_64 1.75.0-13.el9_7 appstream 37 k capstone x86_64 4.0.2-10.el9 appstream 766 k daxctl-libs x86_64 78-2.el9 baseos 41 k ……

2.3 安装其他管理软件包
[root@bjbj ~]# dnf -y install virt-top libguestfs-tools libvirt-client virt-viewer Last metadata expiration check: 0:12:38 ago on Sat 20 Dec 2025 11:07:10 AM CST. Package libvirt-client-10.10.0-15.4.el9_7.x86_64 is already installed. Dependencies resolved. ============================================================================================================================================================================================= Package Architecture Version Repository Size ============================================================================================================================================================================================= Installing: virt-top x86_64 1.1.1-9.el9 appstream 709 k virt-viewer x86_64 11.0-1.el9 appstream 284 k virt-win-reg noarch 1.52.2-6.el9 appstream 30 k Installing dependencies: augeas-libs x86_64 1.14.1-3.el9 appstream 373 k ……

以上安装完成后,检查内核模块是否加载,输出可以看出系统已经加载了 KVM 内核模块:
[root@bjbj ~]# lsmod | grep kvm kvm_intel 446464 0 kvm 1404928 1 kvm_intel [root@bjbj ~]#
2.4 启动并启用 libvirtd 守护进程
libvirtd是一个服务器端守护程序部件,可以在虚拟化的客户机上运行和管理任务。它被应用于虚拟化技术的管理,如 Xen、KVM、ESXi 等。
设置开机启动并启动和查看状态:
[root@bjbj ~]# systemctl enable libvirtd Created symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service → /usr/lib/systemd/system/libvirtd.service. Created symlink /etc/systemd/system/sockets.target.wants/libvirtd.socket → /usr/lib/systemd/system/libvirtd.socket. Created symlink /etc/systemd/system/sockets.target.wants/libvirtd-ro.socket → /usr/lib/systemd/system/libvirtd-ro.socket. Created symlink /etc/systemd/system/sockets.target.wants/libvirtd-admin.socket → /usr/lib/systemd/system/libvirtd-admin.socket. [root@bjbj ~]# systemctl start libvirtd
查看状态:
[root@bjbj ~]# systemctl status libvirtd ● libvirtd.service - libvirt legacy monolithic daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; preset: disabled) Active: active (running) since Sat 2025-12-20 11:25:18 CST; 17s ago TriggeredBy: ● libvirtd.socket ● libvirtd-admin.socket ● libvirtd-ro.socket Docs: man:libvirtd(8) https://libvirt.org/ Main PID: 152225 (libvirtd) Tasks: 22 (limit: 32768) Memory: 24.9M (peak: 26.8M) CPU: 691ms CGroup: /system.slice/libvirtd.service ├─152225 /usr/sbin/libvirtd --timeout 120 ├─152323 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper └─152324 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper Dec 20 11:25:19 bjbj dnsmasq[152323]: started, version 2.85 cachesize 150 Dec 20 11:25:19 bjbj dnsmasq[152323]: compile time options: IPv6 GNU-getopt DBus no-UBus no-i18n IDN2 DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth cryptohash DNSSEC loop-detect inotify> Dec 20 11:25:19 bjbj dnsmasq-dhcp[152323]: DHCP, IP range 192.168.122.2 -- 192.168.122.254, lease time 1h Dec 20 11:25:19 bjbj dnsmasq-dhcp[152323]: DHCP, sockets bound exclusively to interface virbr0 Dec 20 11:25:19 bjbj dnsmasq[152323]: reading /etc/resolv.conf Dec 20 11:25:19 bjbj dnsmasq[152323]: using nameserver 223.5.5.5#53 Dec 20 11:25:19 bjbj dnsmasq[152323]: using nameserver 223.5.5.6#53 Dec 20 11:25:19 bjbj dnsmasq[152323]: read /etc/hosts - 2 addresses Dec 20 11:25:19 bjbj dnsmasq[152323]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 addresses Dec 20 11:25:19 bjbj dnsmasq-dhcp[152323]: read /var/lib/libvirt/dnsmasq/default.hostsfile lines 1-27/27 (END)

3.配置桥接网络 (Bridge)
这是实现虚拟机与宿主机同网段的关键步骤。这里先创建一个名为 br0 的网桥,并将物理网卡 ens9f0 作为其从属设备。
先查看网卡信息:
[root@bjbj ~]# nmcli connection show NAME UUID TYPE DEVICE ens9f0 9a7164fa-7d39-3e7c-92f3-88515395920e ethernet ens9f0 enp0s20f0u1u6 aeea3b0f-4e21-373b-8eb4-a04f70eaa771 ethernet enp0s20f0u1u6 lo f9df6193-cbbc-44b2-9d41-1a7ea856cf1b loopback lo virbr0 8eb29437-4a2f-4d5a-bf13-fe4879552b1e bridge virbr0 ens9f1 7f03d99f-5ad6-43c5-b1a8-453bbea7a0a2 ethernet -- ens9f2 16049f9d-c838-4f65-9530-1646feff3118 ethernet -- ens9f3 1bf79154-f9dd-454d-88c2-e9afc3e33296 ethernet -- [root@bjbj ~]#
3.1 创建网桥接口 (br0)
使用 nmcli 命令创建一个名为 br0 的桥接连接。这个网桥将承载宿主机和虚拟机的网络配置。
[root@bjbj ~]# nmcli connection add type bridge autoconnect yes con-name br0 ifname br0 Warning: nmcli (1.54.0) and NetworkManager (1.52.0) versions don't match. Restarting NetworkManager is advised. Connection 'br0' (17d240e9-f9f3-4b73-b1b5-88ba7e4a4586) successfully added. [root@bjbj ~]#
3.2 配置网桥接口的 IP 地址
接着为网桥 br0 配置与宿主机相同的 IP 地址、网关和 DNS。这是关键,因为宿主机的原有 IP 将从物理网卡转移到网桥上。
[root@bjbj ~]# nmcli connection modify br0 \ ipv4.addresses 192.168.**.**/24 \ ipv4.gateway 192.168.**.1 \ ipv4.dns "223.5.5.5 223.5.5.6" \ ipv4.method manual [root@bjbj ~]#

3.3 将物理网卡 (ens9f0) 设为网桥的从属设备
现在,将物理网卡 ens9f0 设置为网桥 br0 的从属(Slave),使其成为网桥的一部分。
[root@bjbj ~]# nmcli connection delete 9a7164fa-7d39-3e7c-92f3-88515395920e [root@bjbj ~]# nmcli connection add type bridge-slave autoconnect yes con-name ens9f0 ifname ens9f0 master br0
3.4 激活 br0 接口
[root@bjbj ~]# nmcli connection up br0
查看:
[root@bjbj ~]# nmcli connection show NAME UUID TYPE DEVICE br0 17d240e9-f9f3-4b73-b1b5-88ba7e4a4586 bridge br0 enp0s20f0u1u6 aeea3b0f-4e21-373b-8eb4-a04f70eaa771 ethernet enp0s20f0u1u6 ens9f0 9a7164fa-7d39-3e7c-92f3-88515395920e ethernet ens9f0 lo f9df6193-cbbc-44b2-9d41-1a7ea856cf1b loopback lo virbr0 8eb29437-4a2f-4d5a-bf13-fe4879552b1e bridge virbr0 ens9f1 7f03d99f-5ad6-43c5-b1a8-453bbea7a0a2 ethernet -- ens9f2 16049f9d-c838-4f65-9530-1646feff3118 ethernet -- ens9f3 1bf79154-f9dd-454d-88c2-e9afc3e33296 ethernet -- [root@bjbj ~]# [root@bjbj ~]# ip a | grep br0 2: ens9f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000 7: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 8: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 inet 192.168.1.100/24 brd 192.168.38.255 scope global noprefixroute br0 [root@bjbj ~]#
4. KVM Web 管理界面安装
4.1 安装Cockpit及虚拟机模块
[root@bjbj ~]# dnf install -y cockpit cockpit-machines Last metadata expiration check: 1:22:41 ago on Sat 20 Dec 2025 11:07:10 AM CST. Package cockpit-344-1.el9.x86_64 is already installed. Dependencies resolved. ================================================================================================================================================================ Package Architecture Version Repository Size ================================================================================================================================================================ Installing: cockpit-machines noarch 337-1.el9 appstream 889 k Installing dependencies: libvirt-dbus x86_64 1.4.1-5.el9 appstream 94 k Transaction Summary ================================================================================================================================================================ Install 2 Packages Total download size: 983 k Installed size: 1.2 M Downloading Packages: (1/2): libvirt-dbus-1.4.1-5.el9.x86_64.rpm 121 kB/s | 94 kB 00:00 (2/2): cockpit-machines-337-1.el9.noarch.rpm 682 kB/s | 889 kB 00:01 ---------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 337 kB/s | 983 kB 00:02 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: libvirt-dbus-1.4.1-5.el9.x86_64 1/2 Installing : libvirt-dbus-1.4.1-5.el9.x86_64 1/2 Installing : cockpit-machines-337-1.el9.noarch 2/2 Running scriptlet: cockpit-machines-337-1.el9.noarch 2/2 Verifying : cockpit-machines-337-1.el9.noarch 1/2 Verifying : libvirt-dbus-1.4.1-5.el9.x86_64 2/2 Installed: cockpit-machines-337-1.el9.noarch libvirt-dbus-1.4.1-5.el9.x86_64 Complete! [root@bjbj ~]#

4.2 启动 Cockpit 服务
[root@bjbj ~]# systemctl enable --now cockpit.socket Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket → /usr/lib/systemd/system/cockpit.socket. [root@bjbj ~]# [root@bjbj ~]# systemctl status cockpit.socket ● cockpit.socket - Cockpit Web Service Socket Loaded: loaded (/usr/lib/systemd/system/cockpit.socket; enabled; preset: disabled) Active: active (listening) since Sat 2025-12-20 12:32:48 CST; 25s ago Until: Sat 2025-12-20 12:32:48 CST; 25s ago Triggers: ● cockpit.service Docs: man:cockpit-ws(8) Listen: [::]:9090 (Stream) Process: 154481 ExecStartPost=/usr/share/cockpit/issue/update-issue localhost (code=exited, status=0/SUCCESS) Process: 154488 ExecStartPost=/bin/ln -snf active.issue /run/cockpit/issue (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 1644972) Memory: 100.0K (peak: 2.7M) CPU: 35ms CGroup: /system.slice/cockpit.socket Dec 20 12:32:48 bjbj systemd[1]: Starting Cockpit Web Service Socket... Dec 20 12:32:48 bjbj systemd[1]: Listening on Cockpit Web Service Socket. [root@bjbj ~]#
4.3 登录 WEB 管理界面
用户名和密码为系统用户名和密码,https://ip:9090

Rocky Linux 9.6 是一款稳定、安全、轻量的企业级操作系统,具备良好的生态支持,适合用作服务器部署、容器运行环境或桌面工作站。对习惯 CentOS 的用户来说,几乎无学习成本,是值得信赖的选择!
以上关于Rocky Linux9.6安装KVM虚拟化平台的详细过程的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » Rocky Linux9.6安装KVM虚拟化平台的详细过程

微信
支付宝