通过《KVM虚拟化解决方案系列之KVM架构篇》我们了解了KVM的基本架构之后,那么接下来继续介绍如何使用KVM来搭建自己的虚拟化环境,搭建环境如表1所示。
主机名 | 角色 | 操作系统 | IP地址 | 备注 |
---|---|---|---|---|
kvm01 | KVM主机1 | CentOS-7-x86_64-DVD-1810.ISO | 192.168.150.151 | |
kvm02 | KVM主机2 | ubuntu-20.04.3-desktop-amd64 | 192.168.150.152 |
本篇将介绍如何通过一整套的流程和方法来搭建KVM环境,其中包括硬件系统配置、宿主机操作系统安装、KVM安装、QEMU安装、qemu-kvm/qemu-img组件安装、启动第一个KVM虚拟机。
1. 硬件系统配置
1.1. 如果使用物理机搭建KVM,请在BIOS打开VT和VT-d功能
以Intel架构服务器为例,要想使用KVM功能,首先需要处理器支持VT技术,除此之外还需要在BIOS中打开VT功能。目前,大部分服务器的BIOS都默认都打开了VT功能了。
在BIOS中,VT的标识通常为“Intel® Virtualization Technology”或“Intel® VT-d”等类似的字样。除了支持必需的处理器虚拟化扩展以外,如果服务器芯片还支持VT-d(Virtualization Technology for Directed I/O),也建议在BIOS中打开,因为如果I/O设备需要直通虚拟机的话,是需要VT-d支持的,比如说GPU直通某虚拟机就使用到了VT-d了。
第一步:在BIOS中将VT和VT-d设置为Enabled,如图1所示
第二步:保存BIOS配置并退出,系统重启后生效
第三步:通过Linux查看CPU是否支持硬件虚拟化
如果你的宿主机已经安装了Linux操作系统,可以通过/proc/cpuinfo文件中的CPU特性标志位(flags)来查看CPU目前是否支持硬件虚拟化。在x86和x86-64平台中,Intel系列CPU支持虚拟化的标志位“vmx”。在AMD系列CPU的标志位“svm”。
如果你使用的是Intel架构服务器,命令行执行如下所列:
[root@localhost ~]# grep vmx /proc/cpuinfo # “vmx”信息显示CPU支持虚拟化
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 arat spec_ctrl intel_stibp flush_l1d arch_capabilities
如果你使用的是AMD架构服务器,命令行执行如下所列:
[root@localhost ~]# grep svm /proc/cpuinfo
1.2. 如果使用虚拟机搭建KVM,请勾选“虚拟化Intel VT-x/EPT或AMD-V/RVI(V)”
如果是使用VMware Workstation搭建KVMM,首选需要打开VMware虚拟化引擎,即勾选虚拟化引擎的所有选型,如图2所示。
2. 宿主机操作系统安装
KVM是基于内核的虚拟化技术,要搭建KVM虚拟化环境,还需要给宿主机安装一个Linux操作系统。在国内,企业常用的Linux操作系统包括RHEL、CentOS以及Ubuntu等,因此宿主机的操作系统选择CentOS和Ubuntu。注意,Proxmox VE虚拟化工具只能安装在Debian Linux之上,关于Debian的安装会在Proxmox VE虚拟化工具的章节中讲到,这里不演示宿主机安装Debian系统。
2.1. 宿主机安装CentOS操作系统
本篇宿主机采用VMware Workstation虚拟机的方式来安装CentOS操作系统,操作系统的安装文件为CentOS-7-x86_64-DVD-1810.ISO。
2.1.1. CentOS系统安装
第一步,创建CentOS镜像存储文件夹和VMware虚拟机磁盘存储文件夹
在本地电脑桌面创建一个“CentOS”文件夹,然后将CentOS-7-x86_64-DVD-1810.ISO镜像复制到“CentOS”文件夹中,如图3所示。
在本地电脑D盘中创建一个“虚拟机OS存储/CentOS”文件夹,用于存放稍后创建的VMware虚拟机文件,如图4所示。
第二步,创建新的虚拟机并编辑虚拟机相关配置
打开VMware Workstation虚拟机,点击“创建新的虚拟机”按钮,创建CentOS虚拟机,如图5所示,选择“典型”模式创建虚拟机。
继续点击“下一步”,转跳到图6界面,选择“稍后安装操作系统(S)”。
继续点击“下一步”,转跳到图7界面,选择“Linux”和“CentOS 7 64位”,因为我们要安装的CentOS操作系统的版本是CentOS-7-x86_64-DVD-1810.ISO。
继续点击“下一步”,转跳到图8界面,输入虚拟机名称,名称可按个人习惯去起,选择虚拟机文件存储路径。
继续点击“下一步”,转跳到图9界面,分配虚拟机磁盘大小,由于是演示环境,分配40G空间足够使用了。
第三步,开启VMware虚拟机的虚拟引擎
继续点击“下一步”,转跳到图10界面,再点击“自定义硬件”按钮,进一步编辑配置。
选择“内存”选项,给虚拟机分配4G内存,如图11所示。如果你的本地机有足够的内存,也可以给虚拟机分配8G内存,如果没有足够的内存,可以分配2G或者1G内存,丰俭由人。
继续选择“处理器”选项,给虚拟机分配vCPU,同时开启虚拟化引擎,如图12所示。
继续选择“新CD/DVD”选项,再点击“浏览”按钮,选择CentOS镜像,该镜像存放在我们刚才创建在桌面的“CentOS”文件夹中,如图13所示。
继续选择“网络适配器”选项,选择“桥接模式”的网络连接方式,如图14所示。
虚拟机创建以及编辑完成,点击“完成”按钮,如图15所示。
第三步,开启虚拟机,进入CentOS操作系统安装界面,选择“Install CentOS 7”,按回车键继续,如图16所示
第四步,选择CentOS 7操作系统语言,这里我们选择中文简体,按“继续”按钮,如图17所示
第五步,接着进入到了CentOS 7安装核心配置界面,如图18所示
“本地化”组可根据实际情况选择即可。“软件”组中的“安装源”、“软件选择”以及“系统”组中的“安装位置”、“网络和主机名”等选项需要做参数配置。
第六步,点击“安装源”选项,进入安装源配置界面,CentOS 7支持多种安装源,可根据实际情况进行选择,如图19所示
选择“自动检测到的安装介质”,然后点击“验证”按钮来检测一下安装介质是否正常,最后单击“完成”按钮。
第七步,点击“软件选择”选项,进入软件选择配置界面,如图20所示。
默认情况下采用“最小安装”,因为我们在后续需要使用图形用户界面(GUI)安装和配置虚拟机,因此选择“带GUI的服务器”,最后点击“完成”按钮。
第八步,点击“安装位置”选项,进入安装位置配置界面,如图21所示
CentOS 7支持多种安装方式,这里我们选择在本地硬盘安装,同时选择“自动配置分区”,最后点击“完成”按钮。
第九步,点击“网络和主机名”选项,进入网络和主机名配置界面,如图22所示
选择左侧的网卡,点击“配置”按钮,为网卡配置IP地址、子网掩码、网关以及DNS等,最后点击“保存”按钮。
第十步,配置主机名和启动网卡,如图23所示
主机名称为“kvm01”,在主机名称中输入“kvm01.localdomain”,点击“应用”,让新主机名生效。同时点击网卡的启动按钮,打开网卡,最后点击“完成”按钮。
第十一步,基本配置信息完成之后,就可以开始安装了,点击“开始安装”按钮,如图24所示
第十二步,进入用户设置界面,为root用户设置密码和创建非root用户,如图25所示
点击“ROOT密码”进入root密码配置界面。注意,这里不创建非root用户,这是一个可选项,但是建议大家创建非root用户。
第十三步,设置root用户的密码,设置完成之后,点击“完成”按钮,如图26所示
第十四步,安装完成之后,CentOS服务器重启,接受许可之后,点击“完成配置”按钮,如图27所示。
第十五步,在图形用户界面打开终端命令窗口,命令可正常使用,如图28所示。至此,CentOS系统安装完成。
2.1.2. 基本的网络配置
第一步,使用命令“ip addr”查看当前网络情况
我们在CentOS 7的安装过程中,设置好了网卡的IP地址、子网掩码、网关以及DNS等配置信息,如下所示。文章来源:https://www.toymoban.com/news/detail-624578.html
[root@kvm01 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:ea:7e:95 brd ff:ff:ff:ff:ff:ff
inet 192.168.150.151/24 brd 192.168.150.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fd3a:b661:7f13::24b/128 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fd3a:b661:7f13:0:3c29:223d:540:3045/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::ac3c:7790:a394:f23e/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:b3:8d:c9 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:b3:8d:c9 brd ff:ff:ff:ff:ff:ff
第二步,使用ping命令检测能否访问互联网文章来源地址https://www.toymoban.com/news/detail-624578.html
[root@kvm01 ~]# ping www.baidu.com
PING www.a.shifen.com (163.177.151.110) 56(84) bytes of data.
64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=1 ttl=53
到了这里,关于KVM虚拟化解决方案系列之KVM部署篇(1-4)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!