|
|
1. 查看系统版本
[root@openstack ~]# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
2. 首先验证CPU是否支持虚拟化,输入有vmx或svm就支持,支持虚拟化则就支持KVM
- [root@openstack ~]# cat /proc/cpuinfo | egrep 'vmx|svm'
复制代码
===========================================
3. 查看是否加载KVM
- [root@openstack ~]# lsmod | grep kvm
- kvm_intel 170086 0
- kvm 566340 1 kvm_intel
- irqbypass 13503 1 kvm
复制代码
这表明已经加载,如果没有加载则执行以下命令加载KVM
- [root@openstack ~]# modprobe kvm
复制代码
=============================================
4. 关闭selinux
- [root@openstack ~]# setenforce 0
- [root@openstack ~]# vim /etc/sysconfig/selinux
- SELINUX=disabled
复制代码
5. 安装KVM相关软件包
- [root@openstack ~]# yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager \
- libvirt-client virt-install virt-viewer -y
复制代码
包名讲解:
qemu-kvm: KVM模块
libvirt: 虚拟管理模块
virt-manager: 图形界面管理虚拟机
virt-install: 虚拟机命令行安装工具
6. 启动libvirt并设置开机自启动- [root@openstack ~]# systemctl start libvirtd
- [root@openstack ~]# systemctl enable libvirtd
复制代码
7.进入图形化 (可以进入代表成功一半!!)
- [root@openstack ~]# virt-manager
复制代码
8.将后端盘文件、虚拟机模板配置文件、网络配置文件拷贝进需要创建虚拟机的物理机上!!
scp /..../... ip:/..../.....
9.配置虚拟网络
步骤一:创建一个名为vbr的虚拟网络
- [root@room9pc01 ~]# vim /etc/libvirt/qemu/networks/vbr.xml
- <network>
- <name>vbr</name> //vbr为虚拟网络的名字
- <bridge name="vbr"/>
- <forward mode="nat"/>
- <ip address="192.168.1.254" netmask="255.255.255.0"> //本机网关ip为192.168.1.254
- <dhcp>
- <range start="192.168.1.100" end="192.168.1.200"/> //虚拟机DHCP获取ip范围是100-200
- </dhcp>
- </ip>
- </network>
步骤二:启动vbr虚拟网络并用ifconfig验证
- [root@room9pc01 ~]# virsh net-define /etc/libvirt/qemu/networks/vbr.xml //定义vbr虚拟网络,加载进virsh中
- [root@room9pc01 ~]# virsh net-start vbr //启动vbr虚拟网络
- [root@room9pc01 ~]# ifconfig //ifconfig验证
- vbr: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- inet 192.168.1.254 netmask 255.255.255.0 broadcast 192.168.1.255
- ether 52:54:00:b7:1c:10 txqueuelen 1000 (Ethernet)
- RX packets 2460 bytes 176958 (172.8 KiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 1948 bytes 532542 (520.0 KiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
================================================================
启动虚拟网络可能出现的问题:
开启网络vbr时提示如下:
The name org.fedoraproject.FirewallD1 was not provided by any .service files
处理方法:重启libvirtd服务即可
systemctl restart libvirtd
================================================================
步骤三:设置vbr虚拟网络开机自启动
[root@room9pc01 ~]# virsh net-autostart vbr
10.配置虚拟机存储文件
用后端盘模板创建一个新的前端盘镜像文件
- [root@room9pc01 ~]# cd /var/lib/libvirt/images/
- [root@room9pc01 images]# qemu-img create –b node.qcow2 –f qcow2 test.img
11.配置虚拟机配置文件,使用模板文件复制一份,并修改(第8步拷贝的)
- [root@room9pc01 ~]# cd /etc/libvirt/qemu/
- [root@room9pc01 qemu]# cp danode.xml test.xml #复制模板文件,并生成新的虚拟机配置文件
- [root@room9pc01 qemu]# vim test.xml
- <domain type='kvm'>
- <name>test</name> //修改名字
- <memory unit='KiB'>2048000</memory> //修改内存
- <currentMemory unit='KiB'>2048000</currentMemory>
- ...
- <disk type='file' device='disk'>
- <driver name='qemu' type='qcow2'/>
- <source file='/var/lib/libvirt/images/test.img'/> //步骤十创建的img文件位置
- ...
- <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-DA-rhel7/org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel>#以上5行如果有请删除,会导致启动虚拟机出错!!
#注意:除这些外还要把mac地址删掉,带address字样的全部删除(只是网卡需要去掉mac地址和accress地址,pci总线不用去掉)
12.启动虚拟机验证
- [root@room9pc01 images]# virsh define /etc/libvirt/qemu/test.xml
- [root@room9pc01 images]# virsh start test
- [root@room9pc01 images]# virsh console test
|
|