### KVM命令使用详解 #### 一、virsh/qemu-img命令 KVM(Kernel-based Virtual Machine)是一种基于Linux内核的全虚拟化技术。它通过加载特定的模块来实现虚拟化功能,允许用户在Linux操作系统上运行多个虚拟机。在KVM环境下,主要使用两种工具来管理和操作虚拟机:`virsh` 和 `qemu-img`。 **虚拟机配置路径**:通常情况下,虚拟机的相关配置文件会存储在 `/etc/libvirt/qemu/` 目录下。这些配置文件包含了虚拟机的各种设置信息,如内存大小、CPU数量、磁盘映像位置等。 #### 1. 创建硬盘 `qemu-img` 命令用于创建、转换以及捕获磁盘映像文件。例如,要创建一个大小为5GB的磁盘映像文件,可以使用以下命令: ```bash qemu-img create /home/kvm/123.img 5G ``` 这里 `/home/kvm/123.img` 是要创建的磁盘映像文件的路径,而 `5G` 表示该磁盘映像的大小。 #### 2. 创建虚拟机 `virt-install` 命令用于创建新的虚拟机。下面是一个创建名为 `Winxp` 的虚拟机的例子,分配了512MB的内存和2个虚拟CPU,并指定了磁盘映像文件和CD-ROM的位置: ```bash virt-install \ --name=Winxp \ --ram 512 \ --vcpus=2 \ --disk path=/home/123.img \ --cdrom /home/acton-systemvm-02062012.qcow2.bz2 \ --graphics vnc,listen=0.0.0.0,port=5980,password='12345678',keymap='en-us' \ --network bridge=cloudbr0 \ --force --autostart ``` - `--name`: 设置虚拟机名称。 - `--ram`: 分配内存大小。 - `--vcpus`: 指定虚拟CPU的数量。 - `--disk`: 指定磁盘映像文件的位置。 - `--cdrom`: 指定ISO镜像文件的位置。 - `--graphics`: 设置图形界面的访问方式,这里使用的是VNC协议。 - `--network`: 设置网络连接方式,这里使用的是桥接模式。 - `--force`: 强制执行。 - `--autostart`: 设置虚拟机随主机启动自动启动。 #### 3. 管理虚拟机: virsh `virsh` 是一个用于管理KVM虚拟机的强大命令行工具。它支持各种各样的子命令来帮助用户完成不同的管理任务。 **显示虚拟机列表** - `virsh list`: 显示当前活动的虚拟机列表。 - `virsh list --all`: 显示所有虚拟机(包括活动的和不活动的)的列表。 **网卡列表** ```bash virsh domiflist i-2-11-VM ``` 这条命令显示虚拟机 `i-2-11-VM` 的所有网络接口的信息。 **网卡状态** ```bash virsh domifstat i-2-11-VM vnet11 ``` 这条命令显示虚拟机 `i-2-11-VM` 中名为 `vnet11` 的网络接口的状态。 **磁盘列表** ```bash virsh domblklist i-2-11-VM ``` 这条命令显示虚拟机 `i-2-11-VM` 所有的磁盘设备信息。 **虚拟机快照** - 查看硬盘路径,确定虚拟机所使用的磁盘文件的位置。 - 将原始的 `RAW` 格式磁盘文件转换为支持快照功能的 `qcow2` 格式: ```bash qemu-img convert -f raw -O qcow2 100.img 111.img ``` - 查看快照列表: ```bash virsh snapshot-list jy-VM ``` #### 4. 其他常用virsh命令 - **启动虚拟机**: ```bash virsh start i-2-11-VM ``` - **设置自启**: ```bash virsh autostart [--disable] 虚拟机名称 ``` - **关闭虚拟机**: ```bash virsh shutdown i-2-11-VM ``` - **重启虚拟机**: ```bash virsh reboot i-2-11-VM ``` - **强制关闭电源**: ```bash virsh destroy i-2-11-VM ``` - **移除虚拟机**: ```bash virsh undefine 虚拟机名称 ``` - **挂起虚拟机**: ```bash virsh suspend 虚拟机名称 ``` - **恢复虚拟机**: ```bash virsh resume i-2-11-VM ``` - **输出XML配置文件**: ```bash virsh dumpxml i-2-11-VM ``` - **导出XML配置文件**: ```bash virsh dumpxml 虚拟机名称 > xml文件 ``` - **创建虚拟机**: ```bash virsh create /root/12.xml ``` - **显示客户端ID**: ```bash virsh domid 虚拟机名称 ``` - **显示客户端UUID**: ```bash virsh domuuid 虚拟机名称 ``` - **显示客户端信息**: ```bash virsh dominfo 虚拟机名称 ``` - **显示客户端名称**: ```bash virsh domname ID ``` - **编辑虚拟机配置**:可以使用文本编辑器直接修改虚拟机的配置文件。 - **显示VNC端口号**: ```bash virsh vncdisplay 虚拟机名称 ``` 以上就是关于 `virsh` 和 `qemu-img` 命令的一些基本使用方法和常见应用场景。熟练掌握这些命令可以帮助管理员更加高效地管理KVM环境下的虚拟机。
剩余27页未读,继续阅读
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于蚁群算法的VRPTW问题求解
- 基于java的车辆充电桩管理系统设计与实现.docx
- 基于java的点餐平台网站设计与实现.docx
- 基于java的高校校园点餐系统设计与实现.docx
- Another-Redis-Desktop-Manager
- 基于java的-家具销售电商平台设计与实现.docx
- 基于java的简历管理系统设计与实现.docx
- 基于java的教师人事档案管理系统设计与实现.docx
- 基于java的考研资讯平台设计与实现.docx
- 基于java的旧物置换网站设计与实现.docx
- 基于java的口腔管理平台设计与实现.docx
- 基于java的篮球论坛系统设计与实现.docx
- 基于java的垃圾分类网站设计与实现.docx
- 基于java的篮球竞赛预约平台设计与实现.docx
- spring-web-5.2.3和spring-webmvc-5.2.3
- 基于java的论坛管理系统设计与实现.docx