在Linux工作站上使用KVM创建虚拟机。
【资料图】
首先说下我的需求:
- 1.其他LAN内的笔记本也可以连接到这些KVM的虚拟机,因此需要配置使用桥接网络
- 2.创建一个虚拟机,采用最小化安装系统,作为基础模版,供后续快速克隆
Part1 :
首先,配置桥接网络:
- 已有的网卡配置文件中,添加一行:BRIDGE=br0
示例:
TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=enp9s0UUID=b5f36019-009a-40ae-b082-10f03380bf52DEVICE=enp9s0ONBOOT=yesIPADDR=192.168.1.3NETMASK=255.255.255.0GATEWAY=192.168.1.1BRIDGE=br0
- 创建/etc/sysconfig/network-scripts/ifcfg-br0 配置文件并添加内容:
DEVICE="br0"BOOTPROTO="static"IPV6INIT="yes"IPV6_AUTOCONF="yes"ONBOOT="yes"TYPE="Bridge"DELAY="0"IPADDR=192.168.1.4NETMASK=255.255.255.0GATEWAY=192.168.1.1
启用网络转发,在/etc/sysctl.conf中添加一行:net.ipv4.ip_forward = 1然后 sysctl -p 生效。
重启NetworkManager服务
# systemctl restart NetworkManager
确认br0正常:
[root@bogon network-scripts]# ifconfig br0br0: flags=4163 mtu 1500 inet 192.168.1.4 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::2e0:81ff:fee6:dff2 prefixlen 64 scopeid 0x20 inet6 2408:8207:607a:9b20:2e0:81ff:fee6:dff2 prefixlen 64 scopeid 0x0 ether 00:e0:81:e6:df:f2 txqueuelen 1000 (Ethernet) RX packets 669559 bytes 4925999496 (4.5 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 608637 bytes 247072650 (235.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Part2:
使用virt-install创建vm1,安装OEL7.9系统:
virt-install \--network bridge:br0 \--name vm1 \--ram=2048 \--vcpus=2 \--disk path=/flash/vm-images/vm1.img,size=10 \--graphics vnc \--cdrom /flash/ISO/OracleLinux-R7-U9-Server-x86_64-dvd.iso
这里遇到问题:
[root@bogon vm-images]# virsh console vm1连接到域 vm1换码符为 ^]
卡住不动,这个问题解决容易,网上搜索就有解决方案,需要对vm1的系统做些配置,可是目前最大的问题是根本进不去vm1额。。只能另辟蹊径,找到其他进入vm1的方法:既然命令行不行,那就尝试图形方式。所以我在Mac的XQuartz的终端跳转到工作站,然后使用virt-manager图形进入vm1进行安装配置,顺便把IP地址配置好,比如就设置为192.168.1.5吧。注意:如果之前没有安装virt-manager,可以在宿主机上yum安装这些GUI Tools:
# yum install virt-manager virt-viewer
此时,在Mac上测试,使用ssh连接到vm1的IP地址已经OK,所有操作都可以做了。
Reference:
- KVM Virtualization in RHEL 7 Made Easy