KVM使用虚拟系统管理器安装虚拟机系统

Centos7布署KVM

虚拟化技术:VMware Workstation 个人版虚拟化技术,免费的

​ VMware 企业版 收费的。

​ VisoBOX hyper-V虚拟化技术

​ Unix:KVM OPensta

一、准备工作

1、VMware虚拟机CPU虚拟化引擎设置

要使用虚拟化你的硬件必须支持虚拟化。

需要在BIOS中设置对虚拟化技术的支持。

关机状态——虚拟机设置 ——处理器——勾选以下三条

2、宿主机为centos 7 64位,检查宿主机CPU是否支持虚拟化

#cat /proc/cpuinfo | egrep '(vmx|svm)' | wc -l;

结果大于0表示支持,不然就要去虚拟机设置上勾选支持虚拟化

二、安装kvm

1、KVM核心软件包:

#yum install kvm libvirt python-virtinst qemu-kvm virt-viewer bridge-utils

//如果有桌面环境,想使用图形界面管理器virt-manager,可以安装完整的KVM环境:

#yum groupinstall Virtualization 'Virtualization Client' 'Virtualization Platform' 'Virtualization Tools'

2、验证内核模块是否加载:

# systemctl status libvirtd

3、启动虚拟机管理接口服务:

#systemctl start libvirtd.service 
#systemctl enable libvirtd.service

启动libvirtd后,会自动创建了一个网卡,并启动dnsmasq服务,用来为虚拟机分配IP地址。

#ifconfig 

三、使用虚拟系统管理器安装虚拟机系统

将centos的镜像文件复制到桌面

在桌面环境下:应用程序–系统工具–虚拟系统管理器–文件–新建虚拟机

四、使用命令方式安装虚拟机系统

方法一:拷贝镜像文件到桌面

1-设置支持虚拟化关机状态

虚拟机设置 ——处理器——勾选虚拟化引擎以下的三 

开机查看是否支持虚拟化(结果>0表支持)

cat /proc/cpuinfo | egrep '(vmx|svm)' | wc -l

2-安装kvm核心软件包安装核心软件包

#yum install kvm libvirt python-virtinst qemu-kvm virt-viewer bridge-utils
//安装图形界面管理器
#yum groupinstall Virtualization 'Virtualization Client' 'Virtualization Platform' 'Virtualization Tools'

3-测试内核模块是否加载

systemctl status libvirtd

4-启动虚拟机管理接口服务

#systemctl start libvirtd.service
#systemctl enable libvirtd.service
//启动libvirtd后,会自动创建一个虚拟网卡 将centos的镜像文件复制到桌面
#ifconfig 查看多了vm8

5-使用虚拟系统管理器安装虚拟机系统

将centos的镜像文件复制到桌面
应用程序--系统工具--虚拟系统管理器--文件--新建虚拟机  
选择桌面上刚刚拷贝过去的镜像文件 
——下一步*n
最后的时候选择Install CentOS 7 直接安装

方法二:

1、NAT网络配置文件
#/etc/libvirt/qemu/networks/defa
2、创建存储池

指定在宿主机上虚拟机磁盘的存储位置,创建存储目录:

# mkdir -p /opt/kvm
3、定义一个储存池和绑定目录
#virsh pool-define-as vmspool --type dir --target /opt/kvm
4、建立并激活存储池:
#virsh pool-build vmspool 
#virsh pool-start vmspool
5、使用存储池创建虚拟机,并通过vnc连接

之后使用vnc客户端连接 宿主机IP:5922,即可使用图形安装系统;也可以选择nographics模式,无需vnc在命令行下安装,建议使用vnc。

virt-install --hvm --name=zabbix --ram=128 --vcpus=1 --cdrom=/mnt/Windows.XP.SP2.CHS.iso --virt-type=kvm --disk path=/var/lib/libvirt/images/zabbix.qcow2,device=disk,format=qcow2,bus=ide,cache=writeback,size=5 --network network=default --accelerate --graphics vnc,listen=0.0.0.0,port=5922,password=123456 --os-variant=winxp  --force --autostart

关于选项说明可使用virt-install --help命令查看帮助信息
6、安装完成后会生成:
虚拟机的配置文件:/etc/libvirt/qemu/zabbix.xml
虚拟硬盘文件:/opt/kvm/zabbix.qcow2ult.xml

五、配置虚拟机网络

1、KVM可以配置两种:

NAT网络: 虚拟机使用宿主机的网络访问公网,宿主机和虚拟机能互相访问,但不支持外部访问虚拟机
桥接网络:虚拟机复用宿主机物理网卡,虚拟机与宿主机在网络中角色完全相同,支持外部访问

2、配置NAT网络

//查看NAT网络(默认是default):
#virsh net-list --all
//创建或者修改NAT网络,需编辑default.xml文件:
#virsh net-edit default
//重新加载和激活配置:
#virsh net-define /etc/libvirt/qemu/networks/default.xml
//启动NAT网络:
#virsh net-start default;#virsh net-autostart default
//查看状态:
#brctl show (启动NAT后会自动生成一个虚拟桥接设备virbr0,并分配IP地址)

 
//正常情况下libirtd启动后就会启动virbr0,并自动添加IPtables规则来实现NAT,要保证打开ip_forward,在/etc/sysctl.conf中:
#net.ipv4.ip_forward = 1 sysctl -p
//启动虚机并设置自动获取IP即可,如果想手动指定虚拟机IP,要注意配置的I所在NAT网段内

3、配置桥接网络

系统如果安装了桌面环境,网络会由NetworkManager进行管理,NetworkManager不支持桥接,需要关闭NetworkManger:

# chkconfig NetworkManager off 
# chkconfig network on service 
# NetworkManager stop service network start
不想关闭NetworkManager,也可以在ifcfg-br0中手动添加参数"NM_CONTROLLED=no" 
创建网桥:
#virsh iface-bridge eth0 br0
//创建完后ifconfig会看到br0网桥,如果eth0上有多个IP,更改下相应的文件名,如:ifcfg-eth0改为ifcfg-br0:1
//编辑虚拟机的配置文件,使用新的网桥:
#virsh edit zabbix
//找到网卡配置,改为:
<interface type='bridge'> 
    <mac address='52:54:00:7a:f4:9b'/> 
    <source bridge='br0'/> 
    <model type='virtio'/> 
    <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
我是用的br0,为虚拟机添加多块网卡只需复制多个interface,并确保mac address和PCI地址不同即可
重新加载配置:#virsh define /etc/libvirt/qemu/zabbix.xml
重启虚拟机:#virsh shutdown zabbix ;#virsh start zabbix
之后使用VNC连接虚拟机并设置下网络即可

4、之后使用VNC连接虚拟机并设置下网络即可

创建虚拟机快照:
# virsh snapshot-create-as --domain zabbix --name init_snap_1# virsh snapshot-create-as zabbix init_snap_1
查看快照:
# snapshot-list zabbix
删除快照:
# snapshot-delete zabbix init_snap_1

六、常见问题排错

问题一:ERROR Format cannot be specified for unmanaged storage.

virt-manager 没有找到存储池,创建储存池即

问题二:KVM VNC客户端连接闪退

使用real vnc或者其它vnc客户端连接kvm闪退,把客户端设置中的ColourLevel值设置为rgb222或full即

问题三:virsh shutdown 无法关闭虚拟机

使用该命令关闭虚拟机时,KVM是向虚拟机发送一个ACPI的指令,需要虚拟机安装acpid服务:
# yum -y install acpid && /etc/init.d/acpid start
否则只能使用virsh destroy 强制关闭虚拟机

你可能感兴趣的:(Linux)