无头(headless)CentOS 7安装虚拟机KMV-QEMU
本人是 CentOS 7服务器(没链接显示器和键鼠只能ssh)32GB内存24核CPU硬盘不大。 6park.com记录下安装过程。 6park.com 6park.com选择KVM-QEMU,用开源软件放心。因为无头不用安装GUI的virt-manager。 6park.com 6park.com虚拟机(宿主机)安装:为了省却sudo,先sudo -s转为root身份。 6park.com 6park.com第一步,确认硬件可以运行虚拟机。 6park.com# lscpu | grep Virtualization 6park.com如果返回 Virtualization: VT-x 说明可行。 6park.com 6park.com第二步,安装虚拟机(宿主机)。 6park.com最好先做一下update 6park.com# yum update -y 6park.com 6park.com安装现需要的软件包。 6park.com# yum install -y qemu-kvm libvirt libvirt-python libguestfs-tools virt-install 6park.com 6park.com启动虚拟机(宿主机)并设置为开机自启动。 6park.com# systemctl start libvirtd 6park.com# systemctl enable libvirtd 6park.com 6park.com确认虚拟机正常运行。 6park.com# lsmod | grep -i kvm 6park.comkvm_intel 188740 0 6park.comkvm 637515 1 kvm_intel 6park.comirqbypass 13503 1 kvm 6park.com 6park.com完成后就可以用virt-install命令安装虚拟机了,如Ubuntu,Rocky,Deepin啥的。 6park.com但是虚拟机的网络缺省设置是NAT,也就是说安装后的虚拟子机可以访问外部,但不能被外部访问。 6park.com如果你想在虚拟子机上跑个website啥的就不行了。下面介绍的桥接配置就可以解决这个问题。 6park.com 6park.com桥接配置: 6park.com第一步,修改主机网路配置。 6park.com# cd /etc/sysconfig/network-scripts/ 6park.com这里应该有一个网卡配置文件。 6park.comifcfg-eno1 或者 ifcfg-em1,也可能是其他的后缀。也可以用 ip a 命令去找。 6park.com这里假设是 ifcfg-em1。 6park.com 6park.com最好先做一个备份。 6park.com# cp -i ifcfg-em1 ~/. 6park.com 6park.com修改 ifcfg-em1 6park.com内容为: 6park.comTYPE="Ethernet" 6park.comBOOTPROTO="static" 6park.comDEVICE="em1" 6park.comONBOOT="yes" 6park.comBRIDGE="br0" 6park.comNM_CONTROLLED="no" 6park.com 6park.com创建 ifcfg-br0 6park.com内容为: 6park.comTYPE="Bridge" 6park.comBOOTPROTO="static" 6park.comDEVICE="br0" 6park.comONBOOT="yes" 6park.comIPADDR="192.168.1.131" 6park.comPREFIX="255.255.255.0" 6park.comGATEWAY="192.168.1.1" 6park.comDNS1="192.168.1.1" 6park.comNM_CONTROLLED="no" 6park.com 6park.com其中 IPADDR,GATEWAY,和 DNS1 参照原有的 ifcfg-em1 设置。 6park.com 6park.com第二步,重启网络。 6park.com建议把无头服务器暂时接个显示器和键盘,因为一旦网络设置失败就无法链接ssh了。 6park.com***如果是无法直接操作的服务器(tty console也没有)建议就别试了。*** 6park.com***本人有一次失败的经验,后来抱着显示器和键盘到机房里改回来的。*** 6park.com 6park.com重启NetworkManager服务 6park.com# systemctl restart NetworkManager 6park.com 6park.com重启netwotk服务 6park.com# systemctl restart netwotk 6park.com 6park.com确认, 6park.com# ip a 6park.com如果成功,就可以看到两个entry,一个是 em1 没有IP,另一个是 br0 有IP,和上面 ifcfg-br0 里的一样。 6park.com 6park.com现在可以安装双向访问虚拟机了。 6park.com例: 6park.com# virt-install --name Userver --ram 2048 --vcpus=2 --os-variant=debian10 6park.com--cdrom=/var/lib/libvirt/boot/ubuntu-22.04-live-server-amd64.iso 6park.com--network bridge=br0 --graphics vnc 6park.com--disk path=/var/lib/libvirt/images/userver.qcow2,size=20,bus=virtio,format=qcow2 6park.com 6park.com需要先去下载 ubuntu-22.04-live-server-amd64.iso 放到 /var/lib/libvirt/boot/ 目录中。 6park.com其中 --network bridge=br0 是网络设置,安装子机的时候缺省是DHCP,也可以设STATIC。 6park.com--graphics vnc 表示通过VNC链接虚拟子机的终端,VNC终端在安装子机时要用到。
|