在Linux系统中管理虚拟机通常涉及多种工具和技术,以下是详细的解决方案,涵盖主流工具和操作示例:
bash
sudo apt install qemu-kvm libvirt-daemon-system virt-manager # Debian/Ubuntu
sudo yum install qemu-kvm libvirt virt-install virt-manager # CentOS/RHEL
bash
virt-install --name=vm1 --ram=2048 --vcpus=2 --disk path=/var/lib/libvirt/images/vm1.qcow2,size=20 --os-type=linux --os-variant=ubuntu20.04 --network bridge=virbr0 --graphics spice --cdrom ~/Downloads/ubuntu.iso
bash
virsh list --all # 查看所有虚拟机
virsh start vm1 # 启动
virsh shutdown vm1 # 正常关机
virsh destroy vm1 # 强制停止
virsh edit vm1 # 修改配置
bash
sudo apt install virtualbox virtualbox-ext-pack # Debian/Ubuntu
sudo dnf install VirtualBox # Fedora
virtualbox
命令启动管理界面。bash
VBoxManage list vms # 列出虚拟机
VBoxManage startvm "vm_name" --type headless # 无界面启动
bash
qemu-system-x86_64 -m 2048 -hda ubuntu.img -enable-kvm
bash
sudo brctl addbr br0
sudo brctl addif br0 eth0
virt-manager
或 virsh edit
中将虚拟机网络设置为桥接模式。bash
qemu-img create -f qcow2 disk2.qcow2 10G # 创建10G磁盘
virsh attach-disk vm1 /path/disk2.qcow2 vdb --persistent # 挂载到虚拟机
bash
virsh snapshot-create-as vm1 --name snap1 # 创建快照
virsh snapshot-revert vm1 snap1 # 恢复快照
bash
sudo apt install virt-manager # 安装后运行 `virt-manager`
bash
sudo apt install cockpit cockpit-machines # Debian/Ubuntu
sudo systemctl enable --now cockpit.socket # 访问 https://<IP>:9090
/dev/kvm
存在且用户组权限正确。xml
<vcpu placement='static' cpuset='0-3'>4</vcpu> # 在virsh edit中配置
ERROR: KVM acceleration not available
bash
lsmod | grep kvm
sudo modprobe kvm_intel # Intel CPU
bash
virsh net-list --all
virsh net-start default
bash
virt-install --name=cloud-vm --ram=2048 --cloud-init user-data=./config.yaml
通过上述工具和方法,可以高效管理Linux虚拟机,适用于开发、测试或生产环境。根据需求选择图形化或命令行操作,并合理优化资源配置。