一、简介
KVM:
KVM是一种开源的系统虚拟化模块,集成在liunx发行版中,是一种硬件虚拟化技术,需要硬件支持。Kvm负责cpu虚拟化+内存虚拟化,但不能模拟其他设备;qemu负责模拟IO设备(网卡,磁盘),qemu+kvm才能实现服务器虚拟化;libvirt通过调用kvm接口用于管理。
二、安装环境
宿主机操作系统:CentOS 7
软件:VMware pro 17、KVM
虚拟机操作系统:Centos7
本文使用VMware虚拟机模拟宿主机来搭建kvm环境并创建虚拟机。
三、KVM安装
1、VMware虚拟机配置(用作宿主机)
2、启动虚拟机并确保能联网
ping www.baidu.com
查看网络信息
ip addr
目前有1个网卡ens33,ip为192.168.200.135.
3、安装KVM
(1)关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
(2)检查cpu是否支持虚拟化
grep -Ei 'vmx|svm' /proc/cpuinfo
如果过滤出关键字即为支持虚拟化,vmx是intel的,svm是AMD的
(3)安装KVM软件
yum -y install kvm qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install
(4) 配置网络
这一步主要是添加一个虚拟网桥br0,为了让kvm创建的虚拟机可以和宿主机进行通信以及连接外网,需要在kvm虚拟机和宿主机之间搭建一个网桥,网桥的两个端口分别连接宿主机和kvm虚拟机,让虚拟机共享宿主机的网络。
首先进入配置文件夹
cd /etc/sysconfig/network-scripts
复制当前ens33网卡的配置信息,用作桥接网卡
cp ifcfg-ens33 ifcfg-br0
修改原ens33网卡配置信息
vim ifcfg-ens33
将ens33网卡与桥接网卡br0绑定,修改信息如下图
注意,原ens33网卡与桥接网卡br0绑定后可看做一个网卡,此时ip信息(ip,网关,dns)需配置到br0网卡上,且ens33网卡最好不要配置ip信息,否则可能会导致网络错误(本文这里ens33网卡是dhcp分配,没有配置ip信息,如果是静态分配,有ip信息,建议删除)
生成桥接网卡br0的uuid,uuid不能相同,因此重新生成
编辑桥接网卡br0的配置信息
vim ifcfg-br0
br0修改信息如下
主要修改了type,name,uuid,device,ipaddr,netmask,geteway,这里的ip信息建议与原宿主机ip信息一致,因为我用的ssh登录操作,若ip不一致则导致ssh连接中断。
重启网络服务
systemctl restart network
查看网络信息
此时ens网卡不提供网络服务,仅作为网桥端口,桥接网卡br0继续提供网络服务,且与原网络信息一致。
四、创建虚拟机并安装CentOS7
1、准备Centos7镜像文件并上传至宿主机
我的镜像文件已经上传至/root目录下
2、使用命令安装虚拟机,命令如下
virt-install --name=study01 --memory=1024,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/root/CentOS-7-x86_64-Minimal-2207-02.iso --disk path=/kvm/study01.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
需要修改镜像路径,磁盘路径,以及根据自己需求配置虚拟机硬件,命令说明如下:
3、修改权限,安装时提示权限不够,需要修改配置文件
编辑qemu.conf文件
vim /etc/libvirt/qemu.conf
将user 和 group 分配root权限
重启服务
systemctl restart libvirt
继续使用安装命令安装虚拟机,等待安装完成。
4、虚拟机开机设置
(1)首先进入设置界面
其中[x]表示已经配置,但可以修改,[!]表示未配置,需要配置
(2)输入1进行语言设置
输入回车后输入68选择chinese
输入1选择简体中文
输入2进行时区设置
输入1设置时区
输入2选择亚洲
输入65选择上海
输入5选择磁盘安装
输入1选择10G磁盘
默认选择use all space 输入c继续
输入1选择标准分盘
输入c继续
输入8设置root用户密码
输入两次密码后输入yes
输入b开始安装
安装按成后按下回车后会重启,然后输入用户名密码即可登录
5、配置KVM虚拟机网络
输入ip addr 此时网络没有ip信息,无妨访问网络
可以看到拥有一个网卡eth0,要让该虚拟机可以访问网络,采用桥接模式,将该KVM虚拟机与原宿主机网卡进行桥接,我们知道宿主机的桥接网卡是br0,因此需要将eth0桥接到br0上,需要配置与br0相同的网络号,网卡,dns等。
原br0的网络信息如下:
可以直接采用dhcp动态给网卡th0动态分配,测试网络后可以联通。
查看ip 信息,可以看到与br0位于同一个网段
也可以通过手动修改配置文件,进行配置
修改信息如下:
然后重启网络
测试后同样可以ping通,并且ip变更为配置的ip