最近呢,由于开发需求,需要在公司的12c rac环境上添加一组IPV6的IP,使得开发工程师可以测试IPv6的相关情况。
IPV4从1981年开始使用,由于长度的原因,使得其约能提供 40 亿条 IP 地址。这在当时是绰绰有余的,随着互联网和物联网的发展,手表、手机甚至智能水杯都会占据一个IP。所以40亿个IP现在根本不够用,这也是推行IPV6的其中一个重要原因。
根据ORACLE的白皮书,oracle从12c开始完全支持IPV6,所以呢,我们现在就来试试,如何在不影响现有IPV4网络的情况下,增加一组IPv6的网络!。
Step1 ADD 2nd network
1.1提前配好/etc/hosts
标注部分为新的IP
[oracle@RAC2 ~]$ cat /etc/hosts
192.168.238.65 RAC1
192.168.238.66 RAC2
192.168.238.70 RAC1-vip
192.168.238.71 RAC2-vip
172.16.100.1 RAC1-priv
172.16.100.2 RAC2-priv
192.168.238.67 RAC-scan
2001::192:168:238:66 RAC1-6
2001::192:168:238:65 RAC2-6
2001::192:168:238:70 RAC1-vip6
2001::192:168:238:71 RAC2-vip6
2001::192:168:238:67 RAC-scan6
1.2 提前添加新的网卡,eth2 ,两个节点分别配上新的IP
1.3 查看并add网络
[grid@RAC2 ~]$ oifcfg iflist
eth0 192.168.238.0
eth1 172.16.100.0
eth1 169.254.128.0
eth1 169.254.0.0
virbr0 192.168.122.0
eth1 2001::172:16:100:0
eth2 2001::192:168:238:0
##注意,此处eth0/1为老的public和private,eth2是新加的网卡,作为新的public IP
[grid@RAC2 ~]$ oifcfg getif
eth0 192.168.238.0 global public
eth1 172.16.100.0 global cluster_interconnect,asm
添加IPV6网段的网卡到public ip
[grid@RAC2 ~]$ oifcfg setif -global eth2/2001::192:168:238:0:public
[grid@RAC2 ~]$ oifcfg getif
eth0 192.168.238.0 global public
eth1 172.16.100.0 global cluster_interconnect,asm
eth2 2001::192:168:238:0 global public
添加第二组网络
[root@mynode]# /oracle/grid/bin/srvctl add network -netnum 2 -subnet [2001::192:168:238:0]/112/eth2
若出现报错:PRCN-3005 : Failed to add or use registered network 2 with network interfaces ‘eth2’ because the network was already registered for network interfaces ‘eth0’
原因:因为之前误操作,将其他网卡eth0添加进了network 2
solution:/oracle/grid/bin/srvctl remove network -netnum 2
[root@mynode]#/oracle/grid/bin/srvctl config network -netnum 2
Network 2 exists
Subnet IPv4:
Subnet IPv6: 2001:0:0:0:192:168:238:0/112/eth2, static
Ping Targets:
Network is enabled
Network is individually enabled on nodes:
Network is individually disabled on nodes:
Step2 ADD node VIPs 添加vip到集群
[root@mynode]# srvctl add vip -node RAC1 -netnum 2 -address RAC1-vip6/112
[root@mynode]# srvctl add vip -node RAC2 -netnum 2 -address RAC2-vip6/112
Step3 添加第二组网络的监听
[grid@mynode]$ srvctl add listener -listener listnet2 -netnum 2 -endpoints “TCP:1523”
Step4 添加第二组网络的scan
[root@RAC2 ~]# /oracle/grid/bin/srvctl add scan -scanname RAC-scan6 -netnum 2
注意,名字要和原来的不一样。取自
/etc/hosts
2001::192:168:238:67 RAC-scan6
Step5 开启第二组网络的vip
[root@mynode]# srvctl start vip -vip RAC1-vip6
[root@mynode]# srvctl start vip -vip RAC2-vip6
Step6 开启第二组网络的监听
[grid@mynode]$ srvctl start listener -listener listnet2
[grid@mynode]$ srvctl status listener -listener listnet2
Listener LISTNET2 is enabled
Listener LISTNET2 is running on node(s): salessrv145,salessrv146.
Step7 开启第二组网络的scan
[root@mynode]# srvctl start scan -netnum 2
Step8 添加并开启第二组网络的scan监听(as grid user)
grid@mynode]$srvctl add scan_listener -netnum 2 -listener scanlsnr_2 -endpoints“TCP:1523”
“TCP:1523”
表示端口
grid@mynode]$srvctl start scan_listener -netnum 2
Step9 检查scan的配置
Step10 修改remote listener和local listener
可以看到,可以正常连接!实验到此就正式结束了,实现的效果就是,开发的小伙伴们既可以使用IPV4登陆,也可以使用IPV6登陆!
不得不说的是,在实际生产中,很少出现一组IPv6一组IPv4共存的情况,一般都是在建立新环境的过程中直接使用IPV6的IP,或者将老的IPV4替换成IPv6。
美创运维中心数据库服务团队拥有Oracle ACE 1人、OCM 10余人、数十名Oracle OCP、MySQL OCP、红帽RHCA、中间件weblogic、tuxedo认证、达梦工程师 ,著有《Oracle DBA实战攻略》,《Oracle数据库性能优化方法和最佳实践》,《Oracle内核技术揭秘》等多本数据运维优化书籍。目前运维各类数据库合计2000余套,精通Oracle、MySQL、SQLServer、DB2、PostgreSQL、达梦等主流商业和开源数据库。并成为首批国内达梦战略合作伙伴之一,拥有海量经验和完善的人员培养体系。并同时提供超融合,私有云整体解决方案。
来源:freebuf.com 2020-07-08 09:59:18 by: database
请登录后发表评论
注册