先关SELinux:
sed -i \'s/SELINUX=enforcing/SELINUX=disabled/g\' /etc/selinux/config setenforce 0
安装KVM需要的依赖和包:
yum -y install qemu-kvm libvirt virt-install virt-top bridge-utils
启动libvirt:
systemctl start libvirtd systemctl enable libvirtd
这里我把VNC监听在外网,待会虚拟机可以通过VNC进行图形化的安装:
sed -i \'s/#vnc_listen = "0.0.0.0"/vnc_listen = "0.0.0.0"/g\' /etc/libvirt/qemu.conf
重启libvirt使VNC的配置更改生效:
systemctl restart libvirtd
开IPv4转发并验证一下,如果cat回显的内容是1就说明开启成功:
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p cat /proc/sys/net/ipv4/ip_forward
现在配置网卡桥接,首先给网卡配置文件做个备份,其实也没什么好备份的,万一炸了就直接发工单找客服吧(不过还好我一步到位):
cp /etc/sysconfig/network-scripts/ifcfg-enp2s0 /etc/sysconfig/network-scripts/ifcfg-enp2s0.bak
查看一下默认的主网卡配置信息:
cat /etc/sysconfig/network-scripts/ifcfg-enp2s0
我的是下面这样:
# Generated by dracut initrd NAME=enp2s0 DEVICE=enp2s0 ONBOOT=yes NETBOOT="yes" UUID=576fefa9-bafc-4f2c-92fd-c62e074897eb IPV6INIT=no BOOTPROTO=none TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no DEFROUTE=yes IPV4_FAILURE_FATAL=no IPADDR=服务器公网IP PREFIX=29 GATEWAY=服务器网关IP DNS1=192.187.107.16 DNS2=69.30.209.16
新建一个桥接网卡br0:
nano /etc/sysconfig/network-scripts/ifcfg-br0
使用你之前查看到的配置(只把NAME/DEVICE/TYPE这三个做一下更改):
NAME=br0 DEVICE=br0 ONBOOT=yes NETBOOT="yes" UUID=576fefa9-bafc-4f2c-92fd-c62e074897eb IPV6INIT=no BOOTPROTO=none TYPE=bridge PROXY_METHOD=none BROWSER_ONLY=no DEFROUTE=yes IPV4_FAILURE_FATAL=no IPADDR=服务器公网IP PREFIX=29 GATEWAY=服务器网关IP DNS1=192.187.107.16 DNS2=69.30.209.16
接着编辑主网卡配置文件:
nano /etc/sysconfig/network-scripts/ifcfg-enp2s0
将里面的内容清空更改为下面这样:
TYPE=Ethernet NAME=enp2s0 DEVICE=enp2s0 BOOTPROTO=none ONBOOT=yes BRIDGE=br0
重启机器网络:
systemctl restart network
如果机器还有网那基本上就是桥接成功了,可以使用下面的命令检查一下:
ifconfig brctl show
现在就可以来尝试开虚拟机了,我这边打算先虚拟一个Debian9出来,所以先把Debian9的iso下载到libvirt的boot目录:
cd /var/lib/libvirt/boot wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.9.0-amd64-netinst.iso
然后使用virt-install创建虚拟机:
virt-install \ --virt-type=kvm \ --name=debian9 \ --vcpus=2 \ --ram=2048 \ --network=bridge=br0,model=virtio \ --cdrom=/var/lib/libvirt/boot/debian-9.9.0-amd64-netinst.iso \ --disk path=/var/lib/libvirt/images/debian9.qcow2,size=1000,bus=virtio,cache=writeback,format=qcow2 \ --graphics=vnc,password=imlala
执行完之后,会提示下图的回显(确保SSH不要断,直到虚拟机系统安装完成):
这个时候我们就可以通过本地的VNC客户端去连接这台虚拟机了,连接地址是母鸡的公网IP:5900,成功连接后就可以看到虚拟机安装界面了:
虚拟机内我们也需要配置一下网络,关于Debian9的网络设置,它默认会自动给你先尝试一遍DHCP,如果DHCP不能用就会弹出下面这个界面了,这时候我们选择Configure network manually(手动配置):
我的机器IP是/29,也就是5个可用IP,除去母鸡一个,还剩4个,那么这里就填写你剩下的IP地址,掩码是默认的255.255.255.0,网关填母鸡ifcfg-br0配置文件内的地址,最后设置一个DNS地址就OK了,我懒得截图了。。。
这样配毕竟太麻烦了,我要开多台小鸡的话,这样一个个手动配置太蛋疼,所以我们可以自己在母鸡上装一个DHCP服务:
yum -y install dhcp
然后打开默认的配置文件:
nano /etc/dhcp/dhcpd.conf
定义一个子网只要把我们的/29IP包含在内就行,然后写入下面的配置:
subnet xxx.xxx.241.0 netmask 255.255.255.0 { range xxx.xxx.241.243 xxx.xxx.241.246; option domain-name-servers 8.8.8.8; option routers xxx.xxx.241.241; option subnet-mask 255.255.255.0; option broadcast-address xxx.xxx.241.247; default-lease-time 600; max-lease-time 7200; }
启动DHCP服务:
systemctl start dhcpd systemctl enable dhcpd
为了验证DHCP服务是否可用,这里我再创建一台CentOS7的小鸡,还是老样子先下载iso:
cd /var/lib/libvirt/boot http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
然后和之前一样使用virt-install创建小鸡:
virt-install \ --virt-type=kvm \ --name=centos7 \ --vcpus=4 \ --ram=4096 \ --network=bridge=br0,model=virtio \ --cdrom=/var/lib/libvirt/boot/CentOS-7-x86_64-Minimal-1810.iso \ --disk path=/var/lib/libvirt/images/centos7.qcow2,size=1000,bus=virtio,cache=writeback,format=qcow2 \ --graphics=vnc,password=imlala
到网络和主机名这块,直接点右上角的“打开”按钮,如果可以自动获取到IP等信息那么就说明DHCP服务是正常的:
虚拟机管理常用命令:
virt-top # 查看所有虚拟机资源占用情况 virsh list # 查看正在运行的虚拟机 virsh list --all # 查看所有虚拟机 virsh autostart vmname # 设置小鸡随母鸡自启 virsh autostart --disable vmname # 取消自启 virsh start vmname # 开机 virsh reboot vmname # 重启 virsh shutdown vmname # 关机 virsh destroy vmname # 强制关机 virsh undefine vmname # 删除
上两张小鸡的bench图。。。这机器性能有够烂的,装个Debian9硬是怼了半个多小时:
CentOS7:
最后吐槽一下这个机房的沙雕技术,我最烦给我装完系统后还自行登录我系统的,登了也就算了,还TM不下来了,一直在上面,鬼知道你要做什么,一点安全感都没了,烦的一批:
一、如果您发现本站侵害了相关版权,请附上本站侵权链接和您的版权证明一并发送至邮箱:yehes#qq.com(#替换为@)我们将会在五天内处理并断开该文章下载地址。
二、本站所有资源来自互联网整理收集,全部内容采用撰写共用版权协议,要求署名、非商业用途和相同方式共享,如转载请也遵循撰写共用协议。
三、根据署名-非商业性使用-相同方式共享 (by-nc-sa) 许可协议规定,只要他人在以原作品为基础创作的新作品上适用同一类型的许可协议,并且在新作品发布的显著位置,注明原作者的姓名、来源及其采用的知识共享协议,与该作品在本网站的原发地址建立链接,他人就可基于非商业目的对原作品重新编排、修改、节选或者本人的作品为基础进行创作和发布。
四、基于原作品创作的所有新作品都要适用同一类型的许可协议,因此适用该项协议, 对任何以他人原作为基础创作的作品自然同样都不得商业性用途。
五、根据二〇〇二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可不经软件著作权人许可,无需向其支付报酬!
六、鉴此,也望大家按此说明转载和分享资源!本站提供的所有信息、教程、软件版权归原公司所有,仅供日常使用,不得用于任何商业用途,下载试用后请24小时内删除,因下载本站资源造成的损失,全部由使用者本人承担!