目录
前言
一、前期准备
二、搭建过程
1.安装VMware
2.搭建宿主机
1.推荐安装即可
2.安装客户机操作系统
3.命名虚拟机并添加位置
4.指定磁盘容量
5.自定义硬件
6.网络模式
7.配置展示
8 .宿主机系统安装
3.借助第三方软件(Xshell)连接宿主机
1.查看IP
2.Xshell连接宿主机
3.修改网卡配置文件
4.KVM部署实验
1.检查环境
2.安装部署KVM
3.关闭firewalld与selinux防火墙
4.启动KVM,加载KVM模块,开启libvirtd进程
5.创建KVM虚拟机
6.创建存放目录,上传镜像
7.创建kvm所用的存储
8. 安装并使用virt-install工具创建KVM虚拟机
9.查看KVM虚拟机状态,进行系统安装
5.VNC连接kvm虚拟机
1.打开VNC,左上角New connection
2.安装界面
3.安装好后重启
4.查看IP,网络是否ping通
至此,KVM搭建全部部署完成!
前言
- KVM全称是“基于内核的虚拟机(Kernel-based Virual Machoine)”
- 它是Linux的一个内核模块,该内核模块使得Linux变成了一个Hypervisor(虚拟机监视程序)
- 即:虚拟机里建虚拟机,俗称“俄罗斯套娃”
一、前期准备
Soft | Link |
CentOS-7-x86_64-Minimal- 1810.iso | 链接:https://pan.baidu.com/s/1fl0ZfPNFLGVealEpHALx2g?pwd=5210 提取码:5210 |
VNC | 链接:https://pan.baidu.com/s/1ufhicPb4CGyefBShKZMg3g?pwd=5210 提取码:5210 |
Xshell (personal) | 链接:https://pan.baidu.com/s/1fQ_aNYO1DLwYoghuhEGQRQ?pwd=5210 提取码:5210 |
Xftp (personal) | 链接:https://pan.baidu.com/s/14I_wxkJv-_L-iswLaAYWlA?pwd=5210 提取码:5210 |
VMware 15.5 | 链接:https://pan.baidu.com/s/1DEwf4DN7JdE2Stj8OrWQiw?pwd=5210 提取码:5210 |
二、搭建过程
此处,漏,大漏特漏!!!
1.推荐安装即可
2.安装客户机操作系统
3.命名虚拟机并添加位置
4.指定磁盘容量
- 经典的错误,标准的零分!!
- 最大磁盘大小应在30G以上。
- 因为KVM虚拟化,是要在宿主机里面再建一个虚拟机,到时候要分配一部分磁盘给虚拟机来运行,如果宿主机预留的磁盘存储太小,后期会导致宿主机里的虚拟机内存不足而报错,所以前期搭建要注意细节,后期就很顺了,什么?有多顺?简直顺的一塌糊涂!!!
5.自定义硬件
- 此处注意的是,内存(最少2G)和处理器数量以及内核(大于2核)可以相对的设高一些。
- 一定要勾选 硬件辅助虚拟化!!!!
6.网络模式
- 此处以NAT模式为例(桥接类似)。
7.配置展示
8 .宿主机系统安装
- 安装位置默认即可
- KDUMP不用管
- 网络和主机名点开, 打开以太网连接
- SECURITY POLICY 不用管
- 创建用户和管理员
- 等待装完配置文件重启即可!
3.借助第三方软件(Xshell)连接宿主机
1.查看IP
- 看到没,ens33下有IP,记住它,这是NAT模式下,虚拟网卡给宿主机动态分配的IP,我们一会还要对其进行修改。
2.Xshell连接宿主机
3.修改网卡配置文件
[root@localhost demo]#vi /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost demo]#systemctl restart network //重启网卡服务
[root@localhost demo]#ping baidu.com //能ping通,就证明nat静态网络设置好了
4.KVM部署实验
1.检查环境
- 确认本地设备支持虚拟化检查CPU信息 (是否支持Intel VT或AMD SVM)
[root@localhost ~]#cat /proc/cpuinfo | grep vmx
- 确认可用内存
[root@localhost ~]#free -h
- 确认磁盘空间
[root@localhost ~]#df -h
2.安装部署KVM
[root@localhost ~]#cd /etc/yum.repos.d //到指定目录
[root@localhost yum.repos.d]#yum install libvirt libvirt-python qemu-kvm qemu-kvm-tools qemu-img -y
属性 | 作用 |
gemu-kvm | kvm核心套件 |
libvirtd | 提供虚拟机与宿主相互通信的机制 |
libvirt-python | 允许使用 libvirt API |
qemu-img | VMs 磁盘管理 |
qemu-kvm-tools | kvm虚拟机与宿主机的增强组件 |
3.关闭firewalld与selinux防火墙
- selinux防火墙
[root@localhost ~]#vi /etc/selinux/config //修改防火墙状态
[root@localhost ~]#setenforce 0 //临时关闭防火墙
- Firewalld防火墙
[root@localhost ~]# systemctl disable firewalld //永久关闭
[root@localhost ~]# systemctl stop firewalld //关闭防火墙 重启后打开
[root@localhost ~]# systemctl status firewalld //查看防火墙状态
[root@localhost ~]# reboot
4.启动KVM,加载KVM模块,开启libvirtd进程
[root@localhost yum.repos.d]# modprobe kvm
[root@localhost yum.repos.d]# lsmod | grep kvm
[root@localhost yum.repos.d]# systemctl enable libvirtd //开机自启
[root@localhost yum.repos.d]# systemctl start libvirtd
[root@localhost yum.repos.d]# systemctl status libvirtd
[root@localhost ~]# virsh list //验证kvm是否安装成功
5.创建KVM虚拟机
1.创建桥接网卡br0,用来和宿主机进行通讯
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
2.网卡复制并修改br0
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-br0
[root@localhost network-scripts]# vi ifcfg-br0
3.修改ens33网卡配置信息
[root@localhost network-scripts]# vi ifcfg-ens33
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ip a
- 此时会多出来之前一块br0的网卡,并且原先ens33网卡上的IP地址,会出现在br0上
6.创建存放目录,上传镜像
[root@localhost network-scripts]# mkdir iso
[root@localhost network-scripts]#chmod 777 iso //提权,因为是etc下的目录
[root@localhost network-scripts]#cd iso //进入iso文件夹后,使用xftp传输文件
[root@localhost iso]# ls //查看上传完毕的镜像
7.创建kvm所用的存储
[root@localhost iso]# qemu-img create -f qcow2 KVM.qcow2 20G
[root@localhost iso]# qemu-img info KVM.qcow2 //查看虚拟盘信息
8. 安装并使用virt-install工具创建KVM虚拟机
[root@localhost iso]# yum install virt-install -y
安装过程此处省
[root@localhost iso]# vi kvm.sh
virt-install --name kvm \
--ram=1024 --arch=x86_64 --vcpus=1 \
--check-cpu --os-type=linux \
--os-variant='rhel7' -c /etc/sysconfig/network-scripts/iso/CentOS-7-x86_64-Minimal-1810.iso \
--disk path=/etc/sysconfig/network-scripts/iso/KVM.qcow2,device=disk,bus=virtio,size=20,format=qcow2 \
--bridge=br0 --noautoconsole --vnc --vncport=5901 --vnclisten=0.0.0.0
[root@localhost iso]# bash kvm.sh 运行脚本
- 此处要注意的是,--ram=1024代表一个G 的运行内存
- 因为我前面宿主机存储内存给了20个G的存储内存,如果此处=2048,脚本会报错,所以大家一定要注意!!
- 还有一个点就是,需要路径的地方,一定要填写绝对路径,相对路径会报错“找不到对应的文件或者目录”
- 脚本文件一定不能出大错,不然,就,,,,就不顺了。qwq
脚本配置信息
属性 | 作用 |
--name | 虚拟机名字 |
--ram | 分配内存大小MB |
--arch | xx架构 |
--vcpu | 分配虚拟机vcpu颗数 |
--os-variant | 操作系统版本 |
-c | 挂载镜像的位置 |
--disk path (device,bus,size,format) | 虚拟机所用磁盘或镜像文件 (驱动类型,总线类型,大小G,磁盘格式) |
--birdge | 指定网路,采用网桥 |
-- noautoconsole | 不自动启动控制台 |
--vnc | 使用vnc远程桌面协议 |
--vncport | 指定vnc协议端口 |
--vnclisten | 监听的地址(0.0.0.0 任意地址) |
9.查看KVM虚拟机状态,进行系统安装
[root@localhost iso]# virsh list --all //查看所有的kvm虚拟机列表
- running代表正在运行中
- virsh list 只能看到运行中的虚拟机