使用virt在独立服务器上面开小鸡

先关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不要断,直到虚拟机系统安装完成):

lala.im_2019-05-15_22-42-02

这个时候我们就可以通过本地的VNC客户端去连接这台虚拟机了,连接地址是母鸡的公网IP:5900,成功连接后就可以看到虚拟机安装界面了:

lala.im_2019-05-15_22-11-35

虚拟机内我们也需要配置一下网络,关于Debian9的网络设置,它默认会自动给你先尝试一遍DHCP,如果DHCP不能用就会弹出下面这个界面了,这时候我们选择Configure network manually(手动配置):

lala.im_2019-05-15_22-17-49

我的机器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服务是正常的:

lala.im_2019-05-16_16-07-00

虚拟机管理常用命令:

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硬是怼了半个多小时:

lala.im_2019-05-15_22-50-33

CentOS7:

lala.im_2019-05-16_16-40-48

最后吐槽一下这个机房的沙雕技术,我最烦给我装完系统后还自行登录我系统的,登了也就算了,还TM不下来了,一直在上面,鬼知道你要做什么,一点安全感都没了,烦的一批:

lala.im_2019-05-16_16-30-50

收集的所有资源均来自网络,仅供私下交流学习之用,任何涉及到商业目的的均不能使用,否则产生的一切后果由您自行承担,提供资源但是不对任何资源负法律责任,所有资源请在你下载后24小时删除。 如有侵权,联系 admin#14wl.com(#替换为@)
夜河资源网 » 使用virt在独立服务器上面开小鸡

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据