菜鸟科技网

kvm命令安装虚拟机步骤是怎样的?

使用KVM(Kernel-based Virtual Machine)命令行安装虚拟机是一种高效且灵活的方式,尤其适合在Linux服务器环境中快速部署虚拟化环境,KVM作为Linux内核的虚拟化模块,支持硬件加速,能够提供接近物理机的性能,以下是详细的安装步骤和操作流程,涵盖环境准备、虚拟机创建、磁盘配置、系统安装及后续管理等内容。

kvm命令安装虚拟机步骤是怎样的?-图1
(图片来源网络,侵删)

环境准备

在安装虚拟机前,需确保宿主机系统满足KVM运行的基本要求,首先检查CPU是否支持虚拟化扩展(Intel VT-x或AMD-V),可通过命令grep -E 'vmx|svm' /proc/cpuinfo验证,若输出结果包含vmx或svm,则说明支持,安装必要的软件包,包括KVM模块、QEMU(模拟器)和libvirt(虚拟化管理工具),以Ubuntu/Debian系统为例,执行以下命令安装:

sudo apt update
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

安装完成后,启动libvirtd服务并设置开机自启:

sudo systemctl enable --now libvirtd

将当前用户添加到libvirt和kvm用户组,以避免权限问题:

sudo usermod -aG libvirt,kvm $USER

注销并重新登录使组权限生效,之后可通过virsh list --all验证libvirt是否正常工作。

kvm命令安装虚拟机步骤是怎样的?-图2
(图片来源网络,侵删)

创建虚拟机磁盘

虚拟机磁盘通常采用qcow2格式,支持动态扩容和快照功能,使用qemu-img命令创建磁盘文件,例如创建一个20GB的磁盘:

qemu-img create -f qcow2 /var/lib/libvirt/images/vm_disk.qcow2 20G

磁盘文件默认存储在/var/lib/libvirt/images/目录,这是libvirt的默认存储路径,若需调整路径,需确保目录存在且libvirt有访问权限。

安装虚拟机

通过virt-install命令可以交互式或非交互式安装虚拟机,以下是一个典型示例,安装一个基于Ubuntu的虚拟机:

sudo virt-install \
--name ubuntu_vm \
--ram 2048 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/vm_disk.qcow2,size=20 \
--os-variant ubuntu20.04 \
--network bridge=virbr0 \
--graphics spice \
--cdrom /path/to/ubuntu-20.04.3-live-server-amd64.iso

参数说明:

kvm命令安装虚拟机步骤是怎样的?-图3
(图片来源网络,侵删)
  • --name:虚拟机名称,需唯一。
  • --ram:分配内存大小(MB)。
  • --vcpus:虚拟CPU核心数。
  • --disk:磁盘路径和大小(GB),若使用已存在的磁盘文件,可省略size
  • --os-variant:指定操作系统类型,libvirt会优化配置。
  • --network:网络模式,bridge=virbr0表示使用NAT网络,也可改为bridge=br0使用桥接模式。
  • --graphics:图形显示协议,spice或vnc,若无图形界面可省略。
  • --cdrom:指定ISO镜像路径,用于系统安装。

安装过程中,会弹出虚拟机控制台,按照提示完成系统安装,安装完成后,虚拟机会自动重启,此时需移除--cdrom参数以避免从ISO重启。

虚拟机管理

安装完成后,可通过virsh命令管理虚拟机,常用命令如下:

  • 启动虚拟机:sudo virsh start ubuntu_vm
  • 关闭虚拟机:sudo virsh shutdown ubuntu_vm
  • 强制关机:sudo virsh destroy ubuntu_vm
  • 查看虚拟机状态:sudo virsh list --all
  • 编辑虚拟机配置:sudo virsh edit ubuntu_vm(修改XML配置文件)
  • 删除虚拟机:sudo virsh undefine ubuntu_vm(需先关闭虚拟机)

若需调整虚拟机配置(如增加内存或CPU),可通过virsh edit修改XML文件中的<memory>vcpu标签,然后重启虚拟机生效。

网络配置

默认情况下,KVM虚拟机使用NAT网络(virbr0),宿主机作为网关,若需桥接模式,使虚拟机直接接入物理网络,需配置网桥,首先安装bridge-utils:

sudo apt install bridge-utils

编辑网络配置文件(如/etc/network/interfaces),添加以下内容:

auto br0
iface br0 inet dhcp
    bridge_ports enp3s0  # 替换为物理网卡名称
    bridge_stp off
    bridge_fd 0

重启网络服务后,虚拟机配置中改为--network bridge=br0即可。

性能优化

为提升虚拟机性能,可启用KVM的硬件加速功能,确保宿主机BIOS中已开启VT-x/AMD-V,并在virt-install中添加--cpu host参数以透传CPU特性,使用SSD存储磁盘文件可显著提升I/O性能。

相关问答FAQs

如何解决虚拟机无法连接网络的问题?
答:首先检查虚拟机网络模式是否为NAT或桥接,若为NAT,确保dnsmasq服务在宿主机正常运行(systemctl status libvirtd);若为桥接,验证物理网卡与网桥配置是否正确,在虚拟机内检查网卡是否启用(如ip a),并确保DHCP客户端正常运行(Ubuntu中安装cloud-init可自动配置网络)。

如何为已安装的虚拟机扩容磁盘?
答:首先使用qemu-img扩容磁盘文件:

qemu-img resize /var/lib/libvirt/images/vm_disk.qcow2 +10G

然后登录虚拟机,使用分区工具(如fdiskgrowpart)扩展分区,在Linux虚拟机中:

sudo growpart /dev/vda 1  # 扩展第一个分区
sudo resize2fs /dev/vda1  # 调整文件系统大小

Windows虚拟机需通过磁盘管理工具或diskpart命令完成扩容。

分享:
扫描分享到社交APP
上一篇
下一篇