CentOS7.8安装部署KVM虚拟机(并解决找不到DEFAULT或UI配置指令的报错)
程序员文章站
2022-07-03 11:28:50
...
一、环境介绍
1、查看系统版本
[aaa@qq.com ~]# cat /etc/centos-release
CentOS Linux release 7.7.1908 (Core)
[aaa@qq.com ~]# uname -r
3.10.0-1062.el7.x86_64
2、验证CPU是否支持虚拟化
输入有vmx或svm就支持,支持虚拟化则就支持KVM
[aaa@qq.com ~]# cat /proc/cpuinfo | egrep 'vmx|svm'
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht 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 aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec arat
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht 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 aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec arat
我们看到我的这台电脑支持的vmx
,intel的虚拟化
3、分区大小
在这里需要注意的是,安装系统的时候建议给var分区大一点,我这里给了根分区150G,所以等下要自定义存储池,不能使用默认的池。
[aaa@qq.com ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 13M 3.8G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 150G 4.0G 147G 3% /
/dev/sda1 497M 177M 321M 36% /boot
/dev/mapper/centos-var 3.5G 518M 3.0G 15% /var
/dev/mapper/centos-home 30G 39M 30G 1% /home
tmpfs 781M 8.0K 781M 1% /run/user/42
tmpfs 781M 0 781M 0% /run/user/0
二、安装KVM
yum install qemu-kvm qemu-img \
virt-manager \
libvirt libvirt-python libvirt-client \
virt-manager \
virt-install \
virt-viewer -y
- qemu-kvm: KVM模块
- libvirt: 虚拟管理模块
- virt-manager: 图形界面管理虚拟机
- virt-install: 虚拟机命令行安装工具
1、启动libvirt并设置开机自启
[aaa@qq.com ~]# systemctl start libvirtd && systemctl enable libvirtd
2、查看KVM模块加载
lsmod | grep kvm
[aaa@qq.com ~]# lsmod | grep kvm
kvm_intel 188644 0
kvm 621480 1 kvm_intel
irqbypass 13503 1 kvm
三、KVM安装虚拟机方法介绍
序号 | 安装方式 | 重要程度 | 难易程度及是否常用 |
---|---|---|---|
01 | 图形方式安装 | 非常重要 | 非常简单 |
02 | 完全文本模式 | 现场配置虚拟机的规格 | 一般适用于不带图形界面的宿主机 |
03 | 命令行模式 | 重中之重 | 非常常用,模板镜像+配置文件 |
04 | 通过飞机驾驶舱安装和管理虚拟机 | 了解 |
飞机驾驶舱
我们先介绍一下这个飞机驾驶舱模式
,其他几种我们在后面分章节重点讲解
首先需要安装cockpit
yum -y intall cockpit
systemctl start cockpit
然后浏览器访问:
服务器地址+9090端口,然后输入kvm服务器的root和密码即可登陆。
127.0.0.1:9090
四、图形化安装虚拟机
因为我的服务器是分区是自定义分区,所以根目录空间最大。
[aaa@qq.com ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 13M 3.8G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 150G 9.1G 141G 7% /
/dev/sda1 497M 177M 321M 36% /boot
/dev/mapper/centos-var 3.5G 532M 3.0G 15% /var
/dev/mapper/centos-home 30G 40M 30G 1% /home
tmpfs 781M 0 781M 0% /run/user/0
tmpfs 781M 40K 781M 1% /run/user/1000
[aaa@qq.com ~]#
所以我准备在根目录新建kvmdata目录用来做存储池。
[aaa@qq.com ~]# mkdir /kvmdata
进入图形化
[aaa@qq.com pokes]# virt-manager
新建虚拟机
我们点击浏览选择镜像位置。但是在选择镜像之前还必须创建存储池。
1、创建存储池
名称可以随便起,但是最好和目录名一致。
上图中类型中,我们选择dir:文件系统
,从下图中可以看到支持的种类很多:
这里我们就不一一介绍了,我们继续我们的实验。
2、选择存储池的路径
抱歉图中的字敲错了,应该是存储池的路径
这样我们的存储池就创建完了。接下来我们找到镜像的位置。
3、创建存储卷
在下图中的格式中有三种选择可供选择,我们这里选择默认qcow2
注意:在这里容易出现报错
我在这里遇到了,引导失败:找不到DEFAULT或UI配置指令! 这个问题是你的iso镜像有问题,我重新在阿里云下载了镜像之后,问题就解决了。
五、查看虚拟机
[aaa@qq.com ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
2 centos7.0-01 running
命令行安装
[aaa@qq.com ~]# virt-install --name template --ram=10240 --vcpus=2 \
--cdrom=/home/iso/CentOS-7-x86_64-DVD-1708.iso \
--disk path=/home/images/template.qcow2,size=10 \
--network network=default --graphics vnc
- –name:虚拟机的名字
- –ram:虚拟机的内存
- –vcpus:虚拟机的cpu个数
- –cdrom:从本地安装
- –disk:生成的磁盘文件的路径,可以自动生成,也可以提前创建
- size:磁盘的大小
- –network:指定网络模式,default为nat模式
安装完成后,查看
[aaa@qq.com ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
3 centos7.0-2 running
4 centos7.0 running