第 4 章 虚拟化命令行界面入门
			在 Red Hat Enterprise Linux 7 中操作虚拟化的标准方法是使用命令行界面(CLI)。输入 CLI 命令可激活在主机系统上创建或与虚拟机交互的系统实用程序。这个方法比使用图形应用程序 (如 virt-manager )提供更多详细的控制,并提供了脚本处理和自动化的机会。
		
4.1. 虚拟化的主要命令行实用程序
复制链接链接已复制到粘贴板!
				以下小节列出了可用于在 Red Hat Enterprise Linux 7 中设置和管理虚拟化的主要命令行实用程序。这些命令以及许多其他虚拟化实用程序包含在 Red Hat Enterprise Linux 存储库提供的软件包中,可以使用 Yum 软件包管理器 进行安装。
			
				有关安装虚拟化软件包的更多信息,请参阅 虚拟化部署和管理指南。
			
4.1.1. virsh
复制链接链接已复制到粘贴板!
virsh 是一个 CLI 工具,用于管理 hypervisor 和客户虚拟机。它是在 Red Hat Enterprise Linux 7 中控制虚拟化的主要方法。其功能包括:
				- 创建、配置、暂停、列出和关闭虚拟机
- 管理虚拟网络
- 加载 虚拟机磁盘镜像
virsh 工具是创建虚拟化管理脚本的理想选择。没有 root 特权的用户也可以使用 virsh,但处于只读模式。
				使用 virsh
virsh 工具可在标准命令行输入中使用,也可以作为交互式 shell。在 shell 模式中,不需要 virsh 命令前缀,用户始终以 root 身份注册。以下示例使用 virsh hostname 命令显示 hypervisor 的主机名 - 首先在标准模式下,然后以交互模式显示。
				重要
						当以非 root 用户身份使用 virsh 时,您可以进入非特权 libvirt 会话,这意味着您无法看到或与客户机交互,或者由 root 创建的任何其他虚拟化元素。
					
						要获得对元素的只读访问权限,请使用 virsh 和 
-c qemu:///system 选项。
					使用 virsh获得帮助
					与所有 Linux bash 命令一样,您可以使用 man virsh  命令或 
--help 选项获取 virsh 的帮助。另外,virsh help 命令可以用来查看特定 virsh 命令的帮助文本,或使用关键字列出属于某个组的所有 virsh 命令。
				
					virsh 命令组及其对应的关键字如下: 
					
				
- 客户机管理 - 关键字域
- 客户机监控 - 关键字监控器
- 主机和虚拟机监控程序监控和管理关键字主机
- 主机系统网络接口管理 - 关键字接口
- 虚拟网络管理 - 关键字网络
- 网络过滤器管理 - 关键字过滤器
- 节点设备管理 - 关键字nodedev
- 管理 secret,如密码短语或加密密钥 - 关键字secret
- 快照管理 - 关键字快照
- 存储池管理 - 关键字池
- 存储卷管理 - 关键字卷
- 常规 virsh usage - keywordvirsh
					在以下示例中,您需要了解如何重命名客户机虚拟机。通过使用 virsh help,您首先找到要使用的正确命令,然后了解其语法。最后,您可以使用 命令将名为 Fontaine 的客户机重命名为 Atlas。
				
例 4.1. 如何使用关键字列出所有命令的帮助信息
注意
						有关使用 
virsh 管理虚拟机的详情,请查看 Red Hat Enterprise Linux 7 虚拟化部署和管理指南。
					4.1.2. virt-install
复制链接链接已复制到粘贴板!
					virt-install 是一个用于创建新虚拟机的 CLI 工具。它支持基于文本的安装和图形安装,使用串行控制台、SPICE 或 VNC 客户端对图形对图形。安装介质可以是本地的,也可以远程存在于 NFS、HTTP 或者 FTP 服务器中。工具也可以配置为以无人值守方式运行,并使用 kickstart 方法准备客户端,从而可以轻松自动化安装。此工具包含在 virt-install 软件包中。
				
重要
						当以非 root 用户身份使用 virt-install 时,您可以进入一个非特权的 libvirt 会话。这意味着,所创建的 guest 只会对您可见,而且它无法访问由 root 创建的客户端的某些功能。
					
注意
						有关使用 
virt-install 的更多信息,请参阅 Red Hat Enterprise Linux 7 虚拟化部署和管理指南。
					4.1.3. virt-xml
复制链接链接已复制到粘贴板!
					virt-xml 是一个用于编辑域 XML 文件的命令行工具。要成功修改 XML 配置,必须包括 guest 的名称、XML 操作和要进行的更改。
				
					例如,以下列出了与客户机引导配置相关的子选项,然后在 
example_domain 客户机上的引导菜单上打开:
				
					请注意,命令的每个调用都可以对一个域 XML 文件执行一项操作。
				
注意
						此工具包含在 virt-install 软件包中。有关使用 virt-xml 的更多信息,请参阅 virt-xml 手册页。
					
4.1.4. guestfish
复制链接链接已复制到粘贴板!
					guestfish 是一个用于检查和修改虚拟机磁盘镜像的命令行工具。它使用 libguestfs 库,并公开 
libguestfs API 提供的所有功能。
				使用 guestfish
guestfish 实用程序可以在标准命令行输入模式中使用,也可以用作交互式 shell。在 shell 模式中,不需要 guestfish 命令前缀,并且始终以 root 用户身份注册该用户。以下示例使用 guestfish 来显示 testguest 虚拟机上的文件系统 - 首先处于标准模式,然后处于交互模式。
				
					此外,在 bash 脚本中 还可使用 
guestfish 来实现自动化目的。
				重要
						当以非 root 用户身份使用 guestfish 时,您将进入一个非特权的 libvirt 会话。这意味着您无法在 root 创建的客户端中看到或与磁盘镜像交互。
					
						要获得对这些磁盘镜像的只读访问权限,请使用 guestfish 和 
-ro -c qemu:///system 选项。另外,您必须具有磁盘镜像文件的读取权限。
					使用 guestfish 的帮助
					与所有 Linux bash 命令一样,您可以使用 man guestfish  命令或 
--help 选项获得 guestfish 帮助。此外,可以使用 guestfish help 命令查看特定 guestfish 命令的详细信息。以下示例显示了 guestfish add 命令的信息:
				注意
						有关 
guestfish 的更多信息,请参阅 Red Hat Enterprise Linux 7 虚拟化部署和管理指南。