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 10月 20 15:59 lisq.qcow2
使用命令“du -h”来查看lisq.qcow2镜像的使用空间,如下所示:
root@kvm02:~# du -h lisq.qcow2 # 虽然分配了20G空间,但是当前还没有使用
196K lisq.qcow2
第二步,上传操作系统
在本地电脑上安装WinSCP工具,WinSCP使用22端口上传,所以需要确保宿主机kvm02的SSH服务远程已打开,如图1所示。
注意,我在Ubuntu上没有创建root用户,所以只能使用“lisq”用户登录,登录成功之后,会显示如图2界面。其中界面左窗口是本地电脑的窗口,右窗口是宿主机kvm02的窗口。
在左侧本地电脑窗口中,选择一个操作系统镜像,直接拉到右侧宿主机kvm02窗口中,上传操作系统镜像到宿主机kvm02,如图3所示。
上传完成之后,我们会看到右侧宿主机kvm02窗口显示上传的操作系统ISO,也可以通过“ls”查看,如下所示:
root@kvm02:~# ls -l /home/lisq/
总用量 2999972
drwxr-xr-x 2 lisq lisq 4096 10月 17 18:45 公共的
drwxr-xr-x 2 lisq lisq 4096 10月 17 18:45 模板
drwxr-xr-x 2 lisq lisq 4096 10月 17 18:45 视频
drwxr-xr-x 2 lisq lisq 4096 10月 17 18:45 图片
drwxr-xr-x 2 lisq lisq 4096 10月 17 18:45 文档
drwxr-xr-x 2 lisq lisq 4096 10月 17 18:45 下载
drwxr-xr-x 2 lisq lisq 4096 10月 17 18:45 音乐
drwxr-xr-x 2 lisq lisq 4096 10月 17 18:45 桌面
-rw-r--r-- 1 lisq lisq 3071934464 9月 8 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所示。
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窗口。
注意,我们在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)。
如果我们在qemu-system-x86_64工具中没有添加“-enable-kvm”选项,那么这个QEMU就无法使用KVM驱动虚拟机,就只是纯粹在使用QEMU驱动虚拟机,效率比KVM驱动低得多,如图7所示。
第五步,安装操作系统
QEMU的虚拟机效率是在太低了,即便在qemu-system-x86_64工具增加“-enable-kvm”选项,即便虚拟机分配了6G内存,效率依然低下。按Crtl+C取消安装检测,加快安装速度,如图8所示。
正在安装虚拟机操作系统,如图9所示。中间的安装过程省略,整个安装过程效率十分低下,差不多要两三个钟头。
第六步,重启虚拟机系统
在系统安装完成之后,需要重启虚拟机以使用新安装的系统,如图10所示。
和普通的Linux系统安装一样,安装完成之后,重启系统即可进入刚才安装的虚拟机操作系统,如图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所示。
虚拟机启动成功之后,我们在登录虚拟机,登录成功,如图13所示。
第七步,启动虚拟机
在安装好了虚拟机系统之后,就可以使用镜像文件来启动登录到自己安装的系统之中了,可以通过如下命令去启动一个虚拟机,如图14所示。
root@kvm02:~# qemu-system-x86_64 -enble-kvm -m 6G -smp 4 /root/lisq.qcow2
经过漫长的等待,虚拟机终于启动成功了,如图15所示。
虚拟机启动成功之后,登录成功的界面如图16所示。