KVM常用命令有哪些

发布时间:2022-02-19 10:20:10 作者:小新
来源:亿速云 阅读:173
# KVM常用命令有哪些

## 一、KVM简介

KVM(Kernel-based Virtual Machine)是基于Linux内核的开源虚拟化技术,允许将Linux转变为Hypervisor。作为全虚拟化解决方案,KVM通过加载内核模块`kvm.ko`实现CPU虚拟化,配合QEMU提供设备模拟。

## 二、系统管理命令

### 1. 虚拟化环境检查
```bash
# 检查CPU是否支持虚拟化
egrep -c '(vmx|svm)' /proc/cpuinfo

# 验证KVM模块是否加载
lsmod | grep kvm

# 安装KVM相关软件包(Ubuntu示例)
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

2. 服务管理

# 启动libvirtd服务
sudo systemctl start libvirtd

# 设置开机自启
sudo systemctl enable libvirtd

# 检查服务状态
sudo systemctl status libvirtd

三、虚拟机生命周期管理

1. 创建虚拟机

# 使用qcow2格式创建20G磁盘
qemu-img create -f qcow2 /var/lib/libvirt/images/vm1.qcow2 20G

# 通过virt-install创建虚拟机(需安装virt-install包)
virt-install \
  --name=vm1 \
  --ram=2048 \
  --vcpus=2 \
  --disk path=/var/lib/libvirt/images/vm1.qcow2 \
  --os-type=linux \
  --os-variant=ubuntu20.04 \
  --network bridge=virbr0 \
  --graphics spice \
  --cdrom=/path/to/ubuntu.iso

2. 启动/关闭操作

# 启动虚拟机
virsh start vm1

# 优雅关机
virsh shutdown vm1

# 强制关闭(相当于断电)
virsh destroy vm1

# 设置开机自启
virsh autostart vm1

3. 暂停与恢复

# 暂停虚拟机
virsh suspend vm1

# 恢复运行
virsh resume vm1

四、虚拟机配置管理

1. 配置文件操作

# 导出虚拟机配置
virsh dumpxml vm1 > vm1.xml

# 编辑配置(自动生成备份文件)
virsh edit vm1

# 从XML文件定义虚拟机
virsh define vm1.xml

2. 资源调整

# 动态调整内存(单位KB)
virsh setmem vm1 4096000

# 调整CPU数量
virsh setvcpus vm1 4 --config

五、存储管理

1. 存储池操作

# 列出所有存储池
virsh pool-list --all

# 创建目录型存储池
virsh pool-define-as pool1 dir - - - - "/mnt/vm_storage"

# 激活存储池
virsh pool-start pool1

# 删除存储池
virsh pool-destroy pool1

2. 磁盘管理

# 查看虚拟机磁盘信息
virsh domblklist vm1

# 附加新磁盘
virsh attach-disk vm1 /var/lib/libvirt/images/newdisk.qcow2 vdb --persistent

六、网络管理

1. 虚拟网络操作

# 列出虚拟网络
virsh net-list --all

# 查看默认网络配置
virsh net-dumpxml default

# 创建新网络(基于XML文件)
virsh net-create network.xml

2. 网络接口管理

# 查看虚拟机网卡
virsh domiflist vm1

# 附加网络接口
virsh attach-interface vm1 --type bridge --source br0 --model virtio --config

七、监控与排错

1. 状态监控

# 查看运行中的虚拟机
virsh list

# 查看所有虚拟机(包括未运行的)
virsh list --all

# 查看虚拟机资源使用
virsh dominfo vm1

2. 控制台连接

# 获取控制台信息
virsh vncdisplay vm1

# 通过控制台连接(需安装virt-viewer)
virt-viewer --connect qemu:///system vm1

3. 日志查看

# 查看libvirt日志
journalctl -u libvirtd -f

# 查看虚拟机控制台日志
virsh console vm1

八、高级功能命令

1. 快照管理

# 创建快照
virsh snapshot-create-as vm1 --name snap1

# 列出快照
virsh snapshot-list vm1

# 恢复快照
virsh snapshot-revert vm1 snap1

2. 虚拟机迁移

# 本地迁移(需共享存储)
virsh migrate --live vm1 qemu+ssh://dest-host/system

3. 设备热插拔

# 热添加USB设备
virsh attach-device vm1 usb_device.xml --live

九、常用组合操作

1. 批量操作

# 批量启动所有关闭的虚拟机
for vm in $(virsh list --inactive --name); do virsh start $vm; done

2. 资源监控脚本

# 监控所有虚拟机CPU使用率
watch -n 5 "virsh list --all | grep -v 'shut off' | awk '{print \$1}' | xargs -I {} virsh dominfo {} | grep 'CPU usage'"

十、总结

本文涵盖了KVM日常管理中的核心命令,包括: - 虚拟机生命周期管理(创建/启动/停止) - 资源配置调整(CPU/内存/磁盘) - 网络与存储管理 - 监控与排错技巧 - 高级功能(快照/迁移)

建议结合man手册深入学习每个命令的详细参数,例如:

man virsh
man virt-install

熟练掌握这些命令后,可以高效管理KVM虚拟化环境,满足从开发测试到生产部署的各种需求。 “`

注:本文实际约1600字,完整1700字版本可扩展以下内容: 1. 每个命令的详细参数解释 2. 实际使用场景示例 3. 常见错误处理方法 4. 性能优化建议 5. 安全配置指南

推荐阅读:
  1. KVM虚拟化之KVM基本管理(二)
  2. kvm virsh常用命令

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

kvm

上一篇:KeePassXC的使用技巧有哪些

下一篇:交换机组网常见的故障有哪些及如何解决

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》