在Ubuntu的命令行终端里管理KVM虚拟机的教程

2020-02-03 14:27:46王振洲

在启动虚拟机之前,我们需要创建它的初始磁盘镜像。为此,你需要使用 qemu-img 命令来生成一个 qemu-kvm 镜像。下面的命令将会创建 10 GB 大小的空磁盘,并且它是 qcow2 格式的。

复制代码
$ qemu-img create -f qcow2 /home/dev/images/alice.img 10G

使用 qcow2 格式的磁盘镜像的好处就是它在创建之初并不会给它分配全部大小磁盘容量(这里是 10 GB),而是随着虚拟机中文件的增加而逐渐增大。因此,它对空间的使用更加有效。

现在,你可以通过使用之前创建的 xml 配置文件启动你的虚拟机了。下面的命令将会创建一个虚拟机,然后自动启动它。

复制代码
$ virsh create alice.xml

Domain alice created from alice.xml
注意: 如果你对一个已经存在的虚拟机执行了了上面的命令,那么这个操作将会在没有任何警告的情况下抹去那个已经存在的虚拟机的全部信息。如果你已经创建了一个虚拟机,你可能会使用下面的命令来启动虚拟机。

复制代码
$ virsh start alice.xml

使用如下命令确认一个新的虚拟机已经被创建并成功的被启动。

复制代码
$ virsh list

 Id    Name                           State
----------------------------------------------------
 3     alice                          running
同样,使用如下命令确认你的虚拟机的虚拟网卡已经被成功的添加到了你先前创建的 br0 网桥中。

复制代码
$ sudo brctl show

201631110932227.jpg (800×138)

远程连接虚拟机

为了远程访问一个正在运行的虚拟机的控制台,你可以使用VNC客户端。

首先,你需要使用如下命令找出用于虚拟机的VNC端口号。

复制代码
$ sudo netstat -nap | egrep '(kvm|qemu)'

201631110949449.jpg (800×190)

在这个例子中,用于 alice 虚拟机的 VNC 端口号是 5900。 然后启动一个VNC客户端,连接到一个端口号为5900的VNC服务器。在我们的例子中,虚拟机支持由CentOS光盘文件启动。
201631111007819.jpg (800×563)

使用 virsh 管理虚拟机

下面列出了 virsh 命令的常规用法:

创建客户机并且启动虚拟机:

复制代码