1. 安装KVM及虚拟化相关环境
安装KVM环境:
①准备一台centos 6 版本以上的主机/虚拟机,配置好本地/在线 yum 源
注意:
1.安装带GUI界面的操作系统
2.虚拟机建议内存16g起,4颗cpu
②安装Virtualization 相关软件包 yum groupinstall -y “Virtualization*"
③查看是否有一块虚拟网卡virbr0(122网段,用来给kvm虚拟机做nat用的)
注意:
1.若没有该网卡,重启虚拟机
2.测试virt-manager命令
④查看kvm网络连接信息(默认NAT网络)
注意:
若虚拟机采用NAT能上外网,则创建完成的虚拟机也能上外网
⑤上传iso镜像到主机/虚拟机
2. 图形化及命令行创建虚拟机
2.1 图形化创建:
⑤执行virt-manager
命令进行图形化虚拟机安装(网络采用默认)
1.创建新虚拟机(本地ISO安装)
2.选择ISO
3.选择虚拟机规格
4.创建完成,手动安装
2.2 命令行创建:
⑤创建kvm虚拟机磁盘
mkdir /disk
cd /disk
qemu-img create -f qcow2 centos.qcow2 10g
(磁盘格式为qcow2,大小为10g)
⑥手动配置kvm虚拟机名、内存、vcpu个数、磁盘位置、iso位置、网络
virt-install \
--name vm1 \
--memory 2048 \
--vcpus 1 \
--disk path=/disk/centos.qcow2 \
--location /iso/Centos-7.6.1810-x86_64-DVD.iso \
--network network=default
⑦创建完成,接下来手动安装即可
3. 利用kickstart简易自动化安装虚拟机
为什么需要kickstart工具呢?它的作用是啥?
它能自动化帮助我们完成虚拟机的安装,相当于一个模板,我们需要事先手动做好个性化配置,这样就不必重复对虚拟机进行手动安装操作。
利用kickstart简易自动化安装虚拟机步骤详解
①安装软件包 yum install -y system-config-kickstart
②通过system-config-kickstart
命令打开配置工具并手动配置
此时注意两点:
1.提前修改yum文件中的.repo文件中repo id为development
,否则读不到yum源,package安装不了
2.kernal parameters 参数必须为 net.ifnames=0 biosdevname=0
③配置完成后保存并生成一个ks.cfg文件
④配置web服务,把ks文件拷贝到web服务对应目录/var/www/html/下
yum install -y httpd
systemctl enable --now httpd
cp /iso/ks.cfg /var/www/html/
⑤尝试访问 firefox http://182.168.xx.xx
/ curl http://192.168.xx.xx
⑥手动配置kvm虚拟机参数时带上 -x ks=http://192.168.xx.xx/ks.cfg
即可自动化安装
注意:利用kickstart创建安装虚拟机前关闭防火墙和selinux
cd /disk
qemu-img create -f qcow2 centos01.qcow2 10g
virt-install \
--name vm2 \
--memory 2048 \
--vcpus 1 \
--disk path=/disk/centos01.qcow2 \
--location /iso/Centos-7.6.1810-x86_64-DVD.iso \
--network network=default \
-x ks=http://192.168.xx.xx/ks.cfg
4. KVM常见管理命令
virt-manager 打开图形化界面,创建kvm虚拟机及查看虚拟机状态,删除虚拟机等等
virsh list 查看当前主机上正在运行的虚拟机
virsh list --all 查看当前主机上所有的虚拟机
virsh shutdown <虚拟机名> 关闭虚拟机
virsh start <虚拟机名> 开启虚拟机
virsh reboot <虚拟机名> 重启虚拟机
virsh destory <虚拟机名> 强制关闭虚拟机(适用于虚拟机无法正常关机时)
5. 三种不同网络环境下创建KVM虚拟机
1.NAT网络,默认virtbr0网卡(122网段),它充当的就是kvm虚拟机的nat虚拟网卡(默认NAT)
2.kvm桥接,需要把宿主机网卡作为一个端口桥接到虚拟交换机上(即单独创建一个桥接虚拟网卡,并把宿主机ip地址配置到其上面;将宿主机网卡的ip,网关,DNS删除,再将宿主机网卡搭到虚拟桥接网卡上)
kvm桥接步骤:
注意:
此例下宿主机网卡名为ens33,创建的桥接虚拟网卡名为br0
①宿主机网卡改为静态ip
②创建一个虚拟桥接网卡叫br0(先备份宿主机网卡,再复制宿主机网卡为br0即可)
cp ifcfg-ens33 ifcfg-ens33.bak
cp ifcfg-ens33 ifcfg-br0
③修改br0配置文件(修改虚拟桥接网卡类型为TYPE = Bridge)
④最后修改宿主机网卡文件并重启网络(删除ip,网关,DNS,添加一条BRIDGE=br0)
system restart network / service network restart #重启网络
⑤查看网络,发现br0有IP,而ens33(宿主机网卡)无IP
⑥配置kvm虚拟机规则时即可选择桥接网络
⑦当kvm虚拟机为桥接网络时,宿主机也必须为桥接网络才能上外网
3.仅主机,创建kvm虚拟机时手动添加仅主机网络即可
添加完成后,在配置虚拟机规格时选择改网络即可。
总结:
①kvm虚拟机是NAT,宿主机网卡是NAT/桥接的情况下;kvm虚拟机都能上外网
②kvm虚拟机是桥接,宿主机网卡必须是桥接,kvm虚拟机才能上外网
③虚拟机能否上外网取决于宿主机能否上外网