KVM虚拟化解决方案系列之KVM部署篇(4-4)

5.2. Ubuntu上安装虚拟机

Ubuntu上安装虚拟机的过程与CentOS上类似,这里我也简单讲一下。

第一步,创建虚机镜像文件

使用命令“qemu-img”创建一个空白的虚拟机镜像,格式为qcow2,镜像名称为lisq.qcow2,镜像大小为20G,如下所示:

root@kvm02:~# qemu-img create -f qcow2 lisq.qcow2 20G
Formatting 'lisq.qcow2', fmt=qcow2 size=21474836480 cluster_size=65536 lazy_refcounts=off refcount_bits=16

-f选项用于指定镜像的格式,有raw和qcow2两种格式,甚至是VMware的vmdk、vdi、vhd等格式。qcow2格式是Qemu最常用的镜像格式,qcow2采用写时复制技术来优化性能,这里我使用qcow2格式。lisq.qcow2是镜像文件的名字,20G是镜像文件大小。(qcow2相比raw,会带来速度优势)

使用命令“ls”来查看一下lisq.qcow2镜像的信息,如下所示:

root@kvm02:~# ls -l lisq.qcow2              # 分配了20G空间
-rw-r--r-- 1 root root 196928 1020 15:59 lisq.qcow2

使用命令“du -h”来查看lisq.qcow2镜像的使用空间,如下所示:

root@kvm02:~# du -h lisq.qcow2           # 虽然分配了20G空间,但是当前还没有使用
196K	lisq.qcow2

第二步,上传操作系统

在本地电脑上安装WinSCP工具,WinSCP使用22端口上传,所以需要确保宿主机kvm02的SSH服务远程已打开,如图1所示。

在这里插入图片描述

图1. 使用WinSCP登录宿主机kvm02

注意,我在Ubuntu上没有创建root用户,所以只能使用“lisq”用户登录,登录成功之后,会显示如图2界面。其中界面左窗口是本地电脑的窗口,右窗口是宿主机kvm02的窗口。

在这里插入图片描述

图2. 成功登录宿主机kvm02

在左侧本地电脑窗口中,选择一个操作系统镜像,直接拉到右侧宿主机kvm02窗口中,上传操作系统镜像到宿主机kvm02,如图3所示。

在这里插入图片描述

图3. 上传操作系统ISO

上传完成之后,我们会看到右侧宿主机kvm02窗口显示上传的操作系统ISO,也可以通过“ls”查看,如下所示:

root@kvm02:~# ls -l /home/lisq/
总用量 2999972
drwxr-xr-x 2 lisq lisq       4096 1017 18:45 公共的
drwxr-xr-x 2 lisq lisq       4096 1017 18:45 模板
drwxr-xr-x 2 lisq lisq       4096 1017 18:45 视频
drwxr-xr-x 2 lisq lisq       4096 1017 18:45 图片
drwxr-xr-x 2 lisq lisq       4096 1017 18:45 文档
drwxr-xr-x 2 lisq lisq       4096 1017 18:45 下载
drwxr-xr-x 2 lisq lisq       4096 1017 18:45 音乐
drwxr-xr-x 2 lisq lisq       4096 1017 18:45 桌面
-rw-r--r-- 1 lisq lisq 3071934464 98 09:38 ubuntu-20.04.3-desktop-amd64.iso

将使用“mv”命令/home/lisq/的ubuntu-20.04.3-desktop-amd64.iso移到/root/中去,如下所示:

root@kvm02:~# mv /home/lisq/ubuntu-20.04.3-desktop-amd64.iso /root/
root@kvm02:~# pwd
/root
root@kvm02:~# ls
lisq.qcow2  snap  ubuntu-20.04.3-desktop-amd64.iso

第三步,创建虚拟机

使用命令“qemu-system-x86_64”创建虚拟机,并安装刚才上传的操作系统ISO,有两种方式创建虚拟机,一种方式是宿主机kvm02本地创建虚拟机,也就是本地创建虚拟机。另一种方式是使用Xshell远程创建虚拟机,远程方式还需要安装Xmanager软件。这里采用本地创建虚拟机。

在宿主机kvm02的桌面上打开终端,使用命令“qemu-system-x86_64”创建虚拟机,如图4所示。

在这里插入图片描述

图4. 创建虚拟机命令

root@kvm02:~# qemu-system-x86_64 -enable-kvm -m 6G -smp 4 -cdrom ubuntu-20.04.3-desktop-amd64.iso lisq.qcow2                        # qemu-kvm自带工具,添加-enable-kvm选项

-m 指定虚拟机内存大小,默认单位是 MB,-smp 4是指定虚拟机为对称多处理器结构并分配4个vCPU,-cdrom是分配虚拟机光驱。友情提示,虚拟机内存分配少于6G会很难受,6G是底线,否则这种基于VMware虚拟机模拟宿主机kvm01的实验就没法做下去了。注意,这里仍然需要添加“-enable-kvm”这个KVM加速项,我采用了Ubuntu的KVM虚拟化方式1搭建,详见《KVM虚拟化解决方案系列之KVM部署篇(3-4)》的图1所示。

第四步,接入QEMU窗口

执行了创建虚拟机的命令之后,在宿主机kvm02界面中,即可自动接入到QEMU窗口,如图5所示。注意,Ubuntu系统可以自动接入QEMU窗口,而CentOS系统则还需要VNC接入到QEMU窗口。

在这里插入图片描述

图5. 自动接入QEMU窗口

注意,我们在qemu-system-x86_64工具中添加了“-enable-kvm”选项,就可以使用KVM驱动虚拟机,否则使用纯软虚拟化的qemu驱动虚拟机,那效率低到吐血。接入QEMU窗口之后,我们可以在QEMU窗口中按组合键“Ctrl+Alt+2”切换到QEMU监视器窗口(Ctrl+Alt+1切回到普通客户),执行命令“info kvm”来查看当前QEMU是否使用KVM驱动虚拟机,如图6所示,显示为使用KVM启动虚拟机(kvm support:enabled)。

在这里插入图片描述

图6. kvm驱动虚拟机

如果我们在qemu-system-x86_64工具中没有添加“-enable-kvm”选项,那么这个QEMU就无法使用KVM驱动虚拟机,就只是纯粹在使用QEMU驱动虚拟机,效率比KVM驱动低得多,如图7所示。

在这里插入图片描述

图7. kvm没有驱动虚拟机

第五步,安装操作系统

QEMU的虚拟机效率是在太低了,即便在qemu-system-x86_64工具增加“-enable-kvm”选项,即便虚拟机分配了6G内存,效率依然低下。按Crtl+C取消安装检测,加快安装速度,如图8所示。

在这里插入图片描述

图8. 取消安装检测

正在安装虚拟机操作系统,如图9所示。中间的安装过程省略,整个安装过程效率十分低下,差不多要两三个钟头。

在这里插入图片描述

图9. 系统安装过程

第六步,重启虚拟机系统

在系统安装完成之后,需要重启虚拟机以使用新安装的系统,如图10所示。

在这里插入图片描述

图10. 重启虚拟机

和普通的Linux系统安装一样,安装完成之后,重启系统即可进入刚才安装的虚拟机操作系统,如图11所示,要求移除安装介质之后,按回车键就可以从硬盘里边启动操作系统。

在这里插入图片描述

图11. 需要删除安装介质才能启动

我们回到kvm02宿主机的Xshell界面,移除我们上传的操作系统,如下所示:

root@kvm02:~# ls
lisq.qcow2  snap  ubuntu-20.04.3-desktop-amd64.iso
root@kvm02:~# mv /root/ubuntu-20.04.3-desktop-amd64.iso /home/lisq/
root@kvm02:~# ls
lisq.qcow2  snap

然后回到图11界面红,按回车键,虚拟机系统开始重启了。启动过程太慢了,虚拟机6G的内存,启动的时间差不多半小时,等到吐血,终于等等虚拟机操作系统启动成功了,如图12所示。

在这里插入图片描述

图12. 虚拟机启动成功

虚拟机启动成功之后,我们在登录虚拟机,登录成功,如图13所示。

在这里插入图片描述

图13. 虚拟机登录成功

第七步,启动虚拟机

在安装好了虚拟机系统之后,就可以使用镜像文件来启动登录到自己安装的系统之中了,可以通过如下命令去启动一个虚拟机,如图14所示。

在这里插入图片描述

图14. 命令启动虚拟机

root@kvm02:~# qemu-system-x86_64 -enble-kvm -m 6G -smp 4 /root/lisq.qcow2
经过漫长的等待,虚拟机终于启动成功了,如图15所示。

在这里插入图片描述

图15. 虚拟机启动成功

虚拟机启动成功之后,登录成功的界面如图16所示。

在这里插入图片描述

图16. 虚拟机启动成功

猜你喜欢

转载自blog.csdn.net/jianghu0755/article/details/129775100