案例分析:
个人笔记本上虚拟机安装RAC,需要各个节点对应网卡的名称必须相同,以达到网络和服务负载均衡的作用。
linux的命令ip可对network interface 改名,命令格式是 ip link set ether_name name ether_name_new,比如在RAC集群里为使得各个节点的网卡名称一致,把一个节点上虚拟机自动生成的一个网卡名称修改:ip link set ens38
name ens37,然后在/etc/sysconfig/network-scripts/ifcfg-ens37里完成配置,但虚拟机重启后通过ip addr命令看到的还是ens38,新名字ens37没有了当然ip address网卡地址也丢失。
配置
CentOS7使用了“一致性网络命名方法”,这里举例,将网卡名截断为前5个字符,如eno16777736改为eno16。
1、
更改网卡配置文件名
mv /etc/sysconfig/network-scripts/ifcfg-ens38 /etc/sysconfig/network-scripts/ifcfg-ens37
2、关闭“一致性网络设备命名法”
cat /etc/sysconfig/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed
's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto
rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
[root@localhost
~]#
添加net.ifnames=0 biosdevname=0后
cat
/etc/sysconfig/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed
's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto
rd.lvm.lv=centos/root rd.lvm.lv=centos/swap
net.ifnames=0 biosdevname=0 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
更新GRUB、内核配置
grub2-mkconfig -o /boot/grub2/grub.cfg
Generating
grub configuration file ...
Found
linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found
initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found
linux image: /boot/vmlinuz-0-rescue-f034e6e19df748b7a27fad77b06e3179
Found
initrd image: /boot/initramfs-0-rescue-f034e6e19df748b7a27fad77b06e3179.img
done
3、添加设备规则配置文件
(1)
host: sgeappdb01 192.168.59.137
节点192.168.59.137修改/etc/udev/rules.d/70-persistent-net.rules,没有该文件则新建文件
内容如下
cat
/etc/udev/rules.d/70-persistent-net.rules
ACTION=="add",
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1",
ATTR{address}=="?*00:0c:29:15:90:9d", NAME="ens33"
ACTION=="add",
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1",
ATTR{address}=="?* 00:0c:29:15:90:a7", NAME="ens37"
ACTION=="add",
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1",
ATTR{address}=="?* 00:50:56:27:bf:33", NAME="ens39"
注意MAC地址与NAME相匹配(可以用ip addr查看)
(2)
host: sgeappdb02 192.168.59.138
cat
/etc/udev/rules.d/70-persistent-net.rules
ACTION=="add",
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1",
ATTR{address}=="?* 00:50:56:3a:67:f2",
NAME="ens33"
ACTION=="add",
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1",
ATTR{address}=="?* 00:50:56:32:1f:db", NAME="ens37"
ACTION=="add",
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1",
ATTR{address}=="?* 00:50:56:27:8d:69", NAME="ens39"
4、重启
reboot
检查:
仍存在问题,临时用ip link set 命令补救。但需要知道的是, linux系统的配置只通过命令可立即生效但系统重启后失效,必须得修改配置文件才可使得系统重启后仍生效。




