使用的系统是Centos7

物理机IP:172.40.58.82

首先需要将物理机原先有的环境清空, 再创建新的环境来支持虚拟机的搭建

(1)设置YUM源

使用用CentOS7-1708.iso这个镜像 ,将CentOS7-1708.iso 镜像移动到/var/lib/libvirt/images/iso 目录下
[root@room9pc01 iso]# mv /root/桌面/CentOS7-1708.iso /var/lib/libvirt/images/iso/
创建一个挂载点 将挂载点放在/var/ftp 或 /var/html下 为可以让其他的虚拟机可以使用 将CentOS7-1708.iso镜像 挂载
[root@room9pc01 ~]# mkdir /var/ftp/xiao
(2)开启路由转发功能
[root@room9pc01 ~]# vim /etc/sysctl.d/70-system.conf 
net.ipv4.ip_forward = 1
(3)将物理机上的原有的网桥都删除
[root@room9pc01 sysctl.d]# cd /etc/libvirt/qemu/networks/autostart
[root@room9pc01 autostart]# rm -rf *
(4)禁用物理机的SELINUX
[root@room9pc01 autostart]# vim /etc/selinux/config 
SELINUX=disabled
(5)删除所有的 fiewall 软件 
[root@room9pc01 autostart]# rpm -qa |  grep firewall
[root@room9pc01 autostart]# yum remove -y firewall*

最后对物理机输入reboot进行重起,因为selinux禁用后才会重起,再次登陆后用ifconfig 进行查看 

[root@room9pc01 ~]# ifconfig 
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.40.58.82  netmask 255.255.255.0  broadcast 172.40.58.255
        inet6 fe80::96de:80ff:fe81:5510  prefixlen 64  scopeid 0x20<link>
        ether 94:de:80:81:55:10  txqueuelen 1000  (Ethernet)
        RX packets 1610  bytes 409656 (400.0 KiB)
        RX errors 0  dropped 60  overruns 0  frame 0
        TX packets 419  bytes 49247 (48.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 78  bytes 6624 (6.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 78  bytes 6624 (6.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions

到此为止物理机的环境就已经搭建完成了,接下来开始在物理机上创建虚拟网卡,开始创建虚拟机的模版

 

(1)创建网桥,

[root@room9pc01 networks]# vim /etc/libvirt/qemu/networks/1.xml 
<network>
<name>vbr</name> //配置文件的名字
<bridge name = "vbr" />  //网桥的名字 网络设备的名字
<forward mode = “nat”/>  //添加这段可以实现虚拟机与外网的连接
<ip address= "192.168.1.254" netmask="255.255.255.0"> //定义虚拟网卡的IP地址
<dhcp>
<range start="192.168.1.100" end="192.168.1.200"/>  //给虚拟机分配的IP地址的范围
</dhcp>
</ip>
</network>
[root@room9pc01 networks]# virsh net-define vbr.xtml   //导入网卡文件
[root@room9pc01 networks]# virsh net-start vbr          //开启网卡
然后用ifconfig 进行查看 虚拟网卡
[root@room9pc01 networks]# virsh net-autostart vbr  //设置开机自起开机自起
(2)创建一个文件夹,在/var/lib/libvirt/images创建虚拟磁盘
[root@room9pc01 networks]# qemu-img create -f qcow2 node.qcow2 16G
[root@room9pc01 networks]# ls
node.qcow2

(3)创建虚拟机镜像模版(使用CentOS7-1708.iso镜像)安装过程最小化安装

(4)创建YUM指向192.168.1.254/xiao

先将/etc/yum.reps.d/下的文件全部的删除掉,自己写一个YUM源,YUM源的路径指向物理机的/var/ftp/xiao目录下

(5)安装软件包

安装自动补齐的包bash-completion

安装ifconfig软件包 Net-tools

安装vim软件包vim-enhanced-7.4.160-2.el7.x86_64

安装yum软件包 yum-3.4.3-154.el7.centos.noarch

(6)关闭SELINUX 卸载firewall 添加默认网关,使虚拟机实现上网功能

Ip rounte add default via 192.168.1.254  //添加默认网关(删除NetWorkManager相关的所有包)

(7)禁止空路由
[root@localhost ~]# vim /etc/sysconfig/network
NOZEROCONF=”yes”
(8)为console打开终端让真机可以实现对虚拟机的控制
在/etc/sysconfig/grub文件中指定的行中条件Console=tty0 console=ttyS0,115200n8
[root@localhost ~]# vi /etc/sysconfig/grub
GRUB_CMDLINE_LINUX
Console=tty0 console=ttyS0,115200n8
执行此命令 进行重起虚拟机,查看console能不能连
# grub2-mkconfig -o /boot/grub2/grub.cfg
(9)修改网卡配置文件
.修改模板机网卡
DEVICE="eth0"  //网卡驱动
ONBOOT=yes     //开机自起
IPV6INIT=no    //禁止IPV6地址
BOOTPROTO=dhcp  //自动获取IP地址
TYPE=Ethernet    //类型以太网
虚拟机的模版基本已经完成了,接下来我们就要利用这些模版搭建自己的虚拟机了,首先我们先将自己的作为模版的虚拟机,
1.修改模版文件
[root@room9pc01 qemu]# vim centos7.0-2.xml
将UUID address  和USB  mac 有关的行全部都删除掉
2创建虚拟机配置文件拷贝模版到为node1.xml修改name 字段,修改 磁盘文件
#vim node1.xml
<name>xiaoyuan</name>  //新机子的名字
<source file='/var/lib/libvirt/images/node.q'/> 磁盘文件路径
4创建虚拟机磁盘文件,以刚才的创建的虚拟机磁盘文件为模版,创建新虚拟机的磁盘文件
[root@room9pc01 images]# qemu-img create -b node.qcow2 -f qcow2 node1.img
5启动虚拟机并测试
[root@room9pc01 images]# cd /etc/libvirt/qemu/
[root@room9pc01 qemu]# virsh define node1.xml  //导入虚拟xml文件
[root@room9pc01 qemu]# virsh start node1     //开启虚拟机
[root@room9pc01 qemu]# virsh console node1    //控制虚拟机