在Linux工作站上使用KVM创建虚拟机。
首先说下我的需求:
- 1.其他LAN内的笔记本也可以连接到这些KVM的虚拟机,因此需要配置使用桥接网络
- 2.创建一个虚拟机,采用最小化安装系统,作为基础模版,供后续快速克隆
Part1 :
首先,配置桥接网络:
- 已有的网卡配置文件中,添加一行: BRIDGE=br0
示例:
代码语言:javascript复制TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp9s0
UUID=b5f36019-009a-40ae-b082-10f03380bf52
DEVICE=enp9s0
ONBOOT=yes
IPADDR=192.168.1.3
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
BRIDGE=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.4
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
- 启用网络转发,在/etc/sysctl.conf中添加一行: net.ipv4.ip_forward = 1 然后 sysctl -p 生效。
- 重启NetworkManager服务
# systemctl restart NetworkManager
确认br0正常:
代码语言:javascript复制[root@bogon network-scripts]# ifconfig br0
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> 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<link>
inet6 2408:8207:607a:9b20:2e0:81ff:fee6:dff2 prefixlen 64 scopeid 0x0<global>
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系统:
代码语言:javascript复制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
这里遇到问题:
代码语言:javascript复制[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:
代码语言:javascript复制# yum install virt-manager virt-viewer
此时,在Mac上测试,使用ssh连接到vm1的IP地址已经OK,所有操作都可以做了。
Reference:
- KVM Virtualization in RHEL 7 Made Easy