KVM命令

网卡

添加网卡和删除硬盘都在外部主机上实现

查看网卡信息

 virsh domiflist --inactive --domain Centos-kvm #--domain后面接名称

临时添加网卡

 virsh attach-interface --type bridge --source br0 --domain Centos-kvm #Centos-kvm是KVM的名字 --type bridge是网卡的类型 --source br0声明是走网桥的

永久添加网卡

virsh attach-interface --type bridge --source br0 --domain Centos-kvm --config

因为命令行的网卡添加会导致重启后网卡消失因此需要写入配置文件

virsh dumpxml --domain Centos-kvm > /etc/libvirt/qemu/Centos-kvm.xml

virsh define /etc/libvirt/qemu/Centos-kvm.xml

删除网卡

  1. 查看要删除的mac地址
  2. virsh detach-interface --domain Centos-kvm --type bridge  --mac  52:54:00:6c:eb:0a #mac地址每个网卡不一样

开机重启查看网卡是否存在后需要手动配置网卡文件的添加

关机 virsh shutdown --domain Centos-kvm 进行关机

启动 virsh start --domain Centos-kvm 进行开机

根据网卡名添加网卡

nmcli c add type ethernet ifname ens网卡名 con-name ens网卡名 ipv4.method auto

硬盘

硬盘两种方式一种临时,一种永久

临时

 qemu-img create -f qcow2 /mnt/test/testdisk.img 10G #qemu-img添加,qcow2是一种虚拟磁盘镜像格式,testdisk.img磁盘名称.img格式 也可以是.qcow2

qemu-img info /mnt/luojijuan/testdisk.img #查看磁盘信息命令

virsh attach-disk --domain Centos-kvm /mnt/test/testdisk.img vdb --cache none --config #添加磁盘(临时的)--config 加入到配置文件中

virsh attach-disk --domain Centos-kvm /mnt/test/testdisk.img vdb --cache none --current#直接生效但是不加入到配置文件中

删除磁盘

 virsh detach-disk --domain Centos-kvm  --target vdb #

永久添加

编辑创建的KVM虚拟机的xml文件

virsh  edit  --domain  Centos-kvm 编辑内容

命令行查找/  <disk type 找到磁盘文件内容所在

在</disk>后面添加新的磁盘内容

 <disk type='file' device='disk'>

      <driver name='qemu' type='qcow2'/>

      <source file='/mnt/luojijuan/testdisk.img'/>

      <target dev='vdc' bus='virtio'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x0f' function='0x0'/>

    </disk>

#注意其中type表示硬盘的格式file表示硬盘所在的路径dev表示硬盘在系统中显示的硬盘名称bus表示硬盘的接线类型,如果是windows系统一般是ide。

virsh console 名称 #连接KVM机器

virsh list --all #查看所有运行的kvm机器

virsh suspend KVM机器名 #将KVM虚拟机挂起的命令

virsh resume KVM机器名 #将KVM虚拟机的挂起恢复

virsh dominfo --domin KVM虚拟机名称 # 查看该KVM详细信息

virsh list --all                #查看所有虚拟机状态

virsh console xxx    #进入指定的虚拟机,进入的时候还需要按一下回车

virsh start xxx       #启动虚拟机

virsh shutdown xxx    #关闭虚拟机

virsh destroy xxx      #强制停止虚拟机

virsh undefine xxx     #彻底销毁虚拟机,会删除虚拟机配置文件,但不会删除虚拟磁盘

virsh autostart xxx   #设置宿主机开机时该虚拟机也开机

virsh autostart --disable xxx   #解除开机启动

virsh suspend xxx    #挂起虚拟机

virsh resume xxx    #恢复挂起的虚拟机

ls /etc/libvirt/qemu/          主机的配置文件所在位置

<think>嗯,用户想了解KVM的常用命令指南。首先需要回忆一下之前的引用内容,特别是引用[2]提到的KVM核心原理和引用[3]的Linux命令说明。用户明确要求的是"命令指南",所以应该聚焦在具体可操作的命令上,而不是理论或安装过程。 用户可能是个刚开始接触KVM的管理员,或者需要快速查阅命令的开发者。考虑到KVM管理涉及多个层面:虚拟机生命周期管理、网络配置、存储管理等,应该分门别类整理。virsh命令肯定是核心,但也不能忽略配套工具如virt-install和virt-manager。 注意到之前引用[1]提到OpenEuler环境,但用户没有限定系统版本,所以命令需要保持通用性。同时要强调权限问题——很多命令需要sudo,这点对新手特别重要。 突然想到用户可能需要实际案例,比如创建虚拟机的具体参数示例。在创建虚拟机命令里应该包含一个典型示例,包括指定内存、CPU、磁盘等常用参数。监控部分也很实用,比如查看资源占用和性能统计的命令运维人员是刚需。 安全方面要提醒备份配置的重要性,特别是destroy和undefine这类危险操作。虽然用户没问,但作为指南应该包含这些注意事项。 最后考虑补充一些进阶方向:嵌套虚拟化、PCI设备直通这些虽然不算基础命令,但能帮助用户知道后续学习路径。参考引用[2]提到的硬件虚拟化特性时,可以自然带出相关命令。</think>以下为KVM虚拟化管理的常用命令指南,涵盖虚拟机生命周期管理、网络/存储配置及性能监控: --- ### **一、虚拟机生命周期管理** #### 1. **创建虚拟机** ```bash virt-install \ --name=vm1 \ --ram=2048 \ --vcpus=2 \ --disk path=/var/lib/libvirt/images/vm1.qcow2,size=20 \ --os-type=linux \ --os-variant=centos8 \ --network network=default \ --graphics spice \ --console pty,target_type=serial \ --cdrom /path/to/centos8.iso ``` > 参数说明: > `--disk path`: 虚拟磁盘路径 > `--os-variant`: 通过`osinfo-query os`查询支持的系统 > `--graphics spice`: 启用SPICE远程桌面[^2] #### 2. **启停与状态管理** | 命令 | 作用 | |------|------| | `virsh start vm1` | 启动虚拟机 | | `virsh shutdown vm1` | 正常关机 | | `virsh destroy vm1` | 强制断电 | | `virsh reboot vm1` | 重启虚拟机 | | `virsh suspend/resume vm1` | 挂起/恢复 | | `virsh autostart vm1` | 设置开机自启 | #### 3. **配置管理** ```bash virsh edit vm1 # 编辑XML配置文件 virsh dumpxml vm1 > vm1_backup.xml # 备份配置 virsh define vm1_backup.xml # 从备份恢复 ``` --- ### **二、网络与存储管理** #### 1. **虚拟网络操作** ```bash virsh net-list --all # 列出所有网络 virsh net-dumpxml default > default_net.xml # 导出网络配置 virsh net-edit default # 编辑网络配置 virsh net-start default # 启动网络 ``` #### 2. **存储池管理** ```bash virsh pool-list # 查看存储池 virsh pool-define-as pool1 dir - - - - "/kvm/storage" # 创建目录型存储池 virsh pool-start pool1 virsh vol-create-as pool1 vol1 10G --format qcow2 # 创建10GB磁盘 ``` --- ### **三、监控与排错** #### 1. **实时监控** ```bash virsh domstats vm1 # 虚拟机资源统计 virsh vncdisplay vm1 # 查看VNC端口 virt-top # 类似top的虚拟机监控工具 ``` #### 2. **日志与诊断** ```bash virsh console vm1 # 进入串行控制台 tail -f /var/log/libvirt/qemu/vm1.log # 查看虚拟机日志 virsh domblklist vm1 # 列出虚拟机磁盘 ``` --- ### **四、关键配置文件位置** | 路径 | 作用 | |------|------| | `/etc/libvirt/qemu/vm1.xml` | 虚拟机主配置文件 | | `/var/lib/libvirt/images/` | 默认磁盘存储目录 | | `/etc/libvirt/qemu/networks/` | 网络配置文件目录 | | `/var/log/libvirt/qemu/` | 虚拟机运行日志 | --- ### **注意事项** 1. **权限要求**:多数命令需`root`权限或通过`sudo`执行 2. **危险操作警告**: ```bash virsh destroy # 相当于物理机拔电源,可能损坏数据 virsh undefine vm1 --storage # 会删除虚拟机配置和磁盘! ``` 3. **备份建议**:关键操作前备份XML配置: ```bash virsh dumpxml vm1 > vm1_backup.xml ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值