蚊章汇 - Mohammad Dosoukey
type: channel
link: https://linuxcn.bwsl.wang/author/177/
description: Mohammad Dosoukey
items: 如何在Linux中用命令行工具管理KVM虚拟环境

如何在Linux中用命令行工具管理KVM虚拟环境
type: item
date: 2015-05-13T23:12:00+08:00
description: 在我们KVM系列专题的第四部分，我们将会一起讨论下在命令行界面下来管理KVM环境。我们分别用‘virt-install’和virsh命令行工具来创建并配置虚拟机和存储池，用qemu-img命令行工具来创建并管理磁盘映像。Linux系统的KVM管理在这篇文章里没有什么新的概念，我们只是用命令行工具重复之前所做过的事情，也没有什么前提条件，都是相同的过程，之前的文章我们都讨论过。第一步: 配置存储池Virsh命令行工具是一款管理virsh客户域的用户界面。virsh程序能在命令行中运行所给的命令以及它的参数。本节中，我们要用它给我们的KVM环境创建存储池。想知道关于这个工具的更多信息，用以下这条命令。# man virsh 1. 用virsh带pool-define-as的命令来定义新的存储池，你需要指定名字、类型和类型参数。本例中，我们将名字取为Spool1，类型为目录。默认情况下你可以提供五个参数给该类型：source-hostsource-pathsource-devsource-nametarget对于目录类型，我们需要用最后一个参数“target”来指定存储池的路径，其它参数项我们可以用“-”来填充。# virsh pool-define-as Spool1 dir - - - - "/mnt/personal-data/SPool1/" 创建新存储池2. 查看环境中我们所有的存储池，用以下命令。# virsh pool-list --all 列出所有存储池3. 现在我们来构造存储池了，用以下命令来构造我们刚才定义的存储池。# virsh pool-build Spool1 构造存储池4. 用带pool-start参数的virsh命令来激活并启动我们刚才创建并构造完成的存储池。# virsh pool-start Spool1 激活存储池5. 查看环境中存储池的状态，用以下命令。# virsh pool-list --all 查看存储池状态你会发现Spool1的状态变成了已激活。6. 对Spool1进行配置，让它每次都能被libvirtd服务自启动。# virsh pool-autostart Spool1 配置KVM存储池7. 最后来看看我们新的存储池的信息吧。# virsh pool-info Spool1 查看KVM存储池信息恭喜你，Spool1已经准备好待命，接下来我们试着创建存储卷来使用它。第二步: 配置存储卷/磁盘映像现在轮到磁盘映像了，用qemu-img命令在Spool1中创建一个新磁盘映像。获取更多细节信息，可以查看man手册。# man qemu-img 8. 我们应该在qemu-img命令之后指定“create, check,…”等等操作、磁盘映像格式、你想要创建的磁盘映像的路径和大小。# qemu-img create -f raw /mnt/personal-data/SPool1/SVol1.img 10G 创建存储卷9. 通过使用带info的qemu-img命令，你可以获取到你的新磁盘映像的一些信息。查看存储卷信息警告: 不要用qemu-img命令来修改被运行中的虚拟机或任何其它进程所正在使用的映像，那样映像会被破坏。现在是时候来创建虚拟机了。第三步: 创建虚拟机10. 现在到最后一个环节了，在最后一步中，我们将用virt-install命令来创建虚拟机。virt-install是一个用来创建新的KVM虚拟机命令行工具，它使用“libvirt”管理程序库。想获取更多细节，同样可以查看man手册。# man virt-install 要创建新的KVM虚拟机，你需要用到带以下所有信息的命令。Name: 虚拟机的名字。Disk Location: 磁盘映像的位置。Graphics : 怎样连接VM，通常是SPICE。vcpu : 虚拟CPU的数量。ram : 以兆字节计算的已分配内存大小。Location : 指定安装源路径。Network : 指定虚拟网络，通常是virbr0网桥。virt-install --name=rhel7 --disk path=/mnt/personal-data/SPool1/SVol1.img --graphics spice --vcpu=1 --ram=1024 --location=/run/media/dos/9e6f605a-f502-4e98-826e-e6376caea288/rhel-server-7.0-x86_64-dvd.iso --network bridge=virbr0创建新的虚拟机11. 你会看到弹出一个virt-vierwer窗口，像是在通过它在与虚拟机通信。虚拟机启动程式虚拟机安装过程结论以上就是我们KVM教程的最后一部分了，当然我…