Centos7 搭建KVM虚拟机笔记
1 Vmvare建立虚拟机时勾选虚拟化Iterl VT-x/EPT 或者AMD-V/RVI 使虚拟机支持CPU虚拟化
2 虚拟机Centos7 安装KVM
(1)首先产看是否支持虚拟化
[wangxuetao@dragon ~]$ cat /proc/cpuinfo |grep vmx
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf 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 epb tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap xsaveopt dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
[root@BigdataH01 ~]# lsmod | grep kvm
kvm_intel 183720 0
kvm 578558 1 kvm_intel
irqbypass 13503 1 kvm
(2)安装依赖
yum install gcc libsdl1.2-dev zlib1g-dev libasound2-dev linux-kernel-headers pkg-config libgnutls-dev libpci-dev
(3)安装kvm
yum install kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2
3 创建KVM虚拟机的网桥
在/etc/sysconfig/network-scripts/路径下创建ifcfg-br0文件
[root@wangxuetao ~]# touch ifcfg-br0
[root@wangxuetao ~]# vim ifcfg-br0
TYPE=Bridge
NAME=br0
DEVICE=br0
IPADDR=192.168.1.111
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eno1,其中eno1是虚拟机联网当前使用的网卡配置文件
添加下面的内容(ifcfg-eno1的内容可以只有下面4行,也可以设置的非常详细比如把IP地址之类的再写一遍和br0 IP相同都不影响)
TYPE=Ethernet
NAME=eno1
DEVICE=eno1
BRIDGE=br0
重启网络
[root@wangxuetao network-scripts]# systemctl restart network.service
查看网桥出现br0 并且它的接口interfaces是网卡名字则成功
[wangxuetao@dragon ~]$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c29a10ef4 no eno1
vnet0
virbr0 8000.525400e6969c yes virbr0-nic
4 创建KVM虚拟机,使用桥接模式
使用图形界面创建虚拟机,其中在网络模式选择时选择桥接模式,并选择上面步骤创建的网桥br0
不要选择Host device ens33:macvtap ,如果选择这个可能造成宿主机和KVM虚拟机都可以和外部互通,但他们之间却ping不通
5 常见的问题
实验室的一台电脑启用了NetworkManager,遇到的问题是 即使把它停用也不能使用Systemctl restart network 重启网络,遇到这种情况可以试试重启电脑,便可以获得IP了,如果决定使用NetworkManager管理网络记得网卡配置和文件中不要写NM_CONTROLLED=no这句。