欢迎光临
我们一直在努力

Linux虚拟化KVM部署:Ubuntu与Rocky虚拟机搭建

Linux虚拟化KVM部署:Ubuntu与Rocky虚拟机搭建

在企业IT架构中,虚拟化技术是提升资源利用率、降低运维成本的核心方案。KVM(Kernel-based Virtual Machine)作为Linux原生全虚拟化技术,凭借接近物理机的性能和开源灵活的特性,成为企业级虚拟化的首选。

一、KVM安装部署前置准备

1.1 硬件与系统要求

  • 硬件:CPU需支持虚拟化扩展(Intel VT-x或AMD-V),建议内存≥8GB、硬盘≥200GB(用于存储虚拟机镜像)。
  • 系统:支持Ubuntu 20.04+/Rocky 8+/CentOS 8+等主流Linux发行版,本文以Ubuntu 24.04和Rocky 9为例。

1.2 开启CPU虚拟化功能

  • 物理机:进入BIOS/UEFI,在CPU设置中启用Intel VT-x或AMD-V。
  • 虚拟机宿主机(如VMware Workstation):在虚拟机配置的“处理器”选项中,勾选“虚拟化Intel VT-x/EPT或AMD-V/RVI”。 在这里插入图片描述

1.3 验证虚拟化支持:查看内核模块

# Intel CPU验证(输出vmx表示支持)
grep -Em 1 "vmx" /proc/cpuinfo
# AMD CPU验证(输出svm表示支持)
grep -Em 1 "svm" /proc/cpuinfo

eg:
root@ubuntu24-100~$ grep -Em 1 "vmx|svm" /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves user_shstk avx_vnni arat vnmi umip pku ospke gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize flush_l1d arch_capabilities

如果出现无法启动,可能是因为开启Hyper-V功能,KVM和Hyper-V两者是冲突的 可以以管理员身份运行下面命令禁用Hyper-V功能,并且需要重启主机才能生效 #以管理员身份打开 CMD,禁用Hyper-V Hypervisor C:\\Windows\\system32>bcdedit /set hypervisorlaunchtype off 操作成功完成。

二、KVM核心组件安装

2.1 Ubuntu系统安装

# 更新软件源
apt update
# 安装KVM工具包
apt -y install qemu-kvm virt-manager libvirt-daemon-system bridge-utils cpu-checker
# 验证KVM可用性(输出KVM acceleration can be used表示成功)
kvm-ok
# 启动并设置libvirtd服务自启
systemctl enable –now libvirtd

2.2 Rocky系统安装

# 安装KVM相关工具
yum -y install qemu-kvm libvirt virt-manager virt-install virt-viewer bridge-utils
# 启动并设置libvirtd服务自启
systemctl enable –now libvirtd
# 验证服务状态
systemctl status libvirtd

2.3 安装后验证

# 查看KVM内核模块
lsmod | grep kvm
# 确认/dev/kvm设备存在(表示KVM正常加载)
ll /dev/kvm

三、虚拟机镜像准备

3.1 镜像下载

  • Ubuntu镜像:从Ubuntu官网下载Ubuntu Server 24.04 LTS镜像(ISO格式)。
  • Rocky镜像:从Rocky官网下载Rocky Linux 9镜像(ISO格式)。

3.2 镜像存储规划

# 创建镜像存储目录
mkdir -pv /data/isos/
# 将下载的ISO文件上传至该目录
# 示例:scp 本地镜像路径 root@宿主机IP:/data/isos/

四、Ubuntu虚拟机部署步骤

4.1 命令行创建(推荐批量操作)

virt-install \\
–virt-type kvm \\
–os-variant=ubuntu24.04 \\
–name ubuntu2404-vm \\
–ram 4096 \\
–vcpus 2 \\
–cdrom=/data/isos/ubuntu-24.04-live-server-amd64.iso \\
–disk path=/var/lib/libvirt/images/ubuntu2404-vm.qcow2,size=40,format=qcow2,bus=virtio \\
–network network=default,model=virtio \\
–graphics vnc,listen=0.0.0.0 \\
–noautoconsole \\
–autostart

4.2 参数说明

  • –os-variant:指定操作系统版本(可通过osinfo-query os | grep ubuntu查询支持的版本)。
  • –ram:虚拟机内存(单位:MiB),–vcpus:虚拟CPU数量。
  • –disk:虚拟磁盘配置,qcow2格式支持稀疏存储,bus=virtio提升I/O性能。
  • –network:默认使用NAT网络,model=virtio优化网络性能。
  • –graphics:启用VNC远程连接,可通过VNC客户端连接宿主机IP访问虚拟机控制台。

4.3 图形化创建

  • 启动virt-manager:virt-manager(Ubuntu无需配置DISPLAY,Rocky需执行export DISPLAY=WindowsIP:0.0)。 在这里插入图片描述

  • 点击“新建虚拟机”,选择“本地安装介质(ISO镜像或CDROM)”。 在这里插入图片描述 在这里插入图片描述

  • 浏览选择Ubuntu ISO镜像,自动检测系统类型或手动选择“Ubuntu 24.04”。 在这里插入图片描述

  • 配置内存(建议≥2048MiB)和CPU(建议≥2核)。 在这里插入图片描述

  • 设置虚拟磁盘大小(建议≥40GiB),选择存储路径。 在这里插入图片描述

  • 填写虚拟机名称,勾选“安装前自定义配置”,确认后启动安装。 在这里插入图片描述

  • 按照Ubuntu安装向导完成系统初始化(设置用户名、密码、网络等)。 在这里插入图片描述

  • 五、Rocky虚拟机部署步骤

    5.1 命令行创建

    virt-install \\
    –virt-type kvm \\
    –os-variant=rocky9 \\
    –name rocky9-vm \\
    –ram 4096 \\
    –vcpus 2 \\
    –cdrom=/data/isos/Rocky-9.4-x86_64-minimal.iso \\
    –disk path=/var/lib/libvirt/images/rocky9-vm.qcow2,size=40,format=qcow2,bus=virtio \\
    –network bridge=virbr0,model=virtio \\
    –graphics vnc,listen=0.0.0.0 \\
    –noautoconsole \\
    –autostart

    5.2 图形化创建关键步骤

  • 启动virt-manager,选择“新建虚拟机”,加载Rocky ISO镜像。
  • 系统类型选择“Rocky 9”,配置内存和CPU。
  • 虚拟磁盘选择qcow2格式,总线设置为VirtIO(提升性能)。
  • 网络可选择桥接模式(bridge=virbr0),实现虚拟机与外网直接通信。
  • 启动虚拟机后,按照向导完成分区、root密码设置、网络配置等操作。
  • 5.3 半虚拟化驱动优化(必做)

    Rocky系统默认自带VirtIO驱动,若需进一步优化I/O性能,可验证驱动加载:

    # 查看VirtIO驱动状态
    lsmod | grep virtio
    # 验证磁盘I/O模式(输出virtio_blk表示正常)
    lsscsi | grep virtio

    六、KVM虚拟机基础管理

    6.1 常用virsh命令

    # 查看所有虚拟机状态
    virsh list –all
    # 启动虚拟机
    virsh start ubuntu2404-vm
    # 关闭虚拟机(正常关机)
    virsh shutdown ubuntu2404-vm
    # 强制关闭虚拟机(紧急情况使用)
    virsh destroy ubuntu2404-vm
    # 设置虚拟机自启
    virsh autostart ubuntu2404-vm
    # 取消自启
    virsh autostart ubuntu2404-vm –disable
    # 查看虚拟机配置
    virsh dumpxml ubuntu2404-vm

    6.2 虚拟机控制台登录

    # 配置虚拟机支持console登录(虚拟机内执行)
    grubby –update-kernel=ALL –args="console=ttyS0"
    reboot
    # 宿主机连接控制台
    virsh console ubuntu2404-vm
    # 退出控制台:Ctrl + ]

    七、常见问题排查

    7.1 KVM与Hyper-V冲突(Windows宿主机)

    若在Windows上的Linux虚拟机中部署KVM时提示虚拟化冲突,执行以下命令禁用Hyper-V:

    # 以管理员身份运行CMD
    bcdedit /set hypervisorlaunchtype off
    # 重启Windows生效

    7.2 AMD CPU创建虚拟机失败

    报错“failed to set MSR 0xe1 to 0x0”时,添加配置文件:

    tee /etc/modprobe.d/qemu-system-x86.conf << EOF
    options kvm ignore_msrs=1
    EOF

    # 重启系统
    reboot

    7.3 VNC无法连接

    • 检查虚拟机图形配置:virsh edit 虚拟机名,确认graphics配置为listen=0.0.0.0。
    • 查看VNC端口:virsh domdisplay 虚拟机名,输出类似vnc://0.0.0.0:5900。
    • 关闭防火墙:ufw disable(Ubuntu)或systemctl stop firewalld(Rocky)。

    八、总结

    KVM作为Linux原生虚拟化技术,部署流程简洁且性能优异。通过本文步骤,可快速完成KVM环境搭建,并成功创建Ubuntu和Rocky虚拟机。实际生产环境中,还可结合存储池管理(如NFS、LVM)、网络桥接配置实现跨宿主机通信,或通过virt-clone工具批量克隆虚拟机,进一步提升运维效率。

    赞(0)
    未经允许不得转载:171主机测评 » Linux虚拟化KVM部署:Ubuntu与Rocky虚拟机搭建
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址