转自:http://blog.itpub.net/15480802/viewspace-742160/
RAC节点常用到的IP包括public IP,
VIP和private IP, 11R2开始还多出了一个SCAN VIP,这些IP信息都应该在安装阶段配置,但是可能在后续维护过程中需要修改相应的信息。
下面就分别介绍一下修改各类IP信息的大致步骤
一 修改Public network信息
Case I. 修改public hostname
--除非是重装clusterware或重新添加该node,否则无法更改
Public hostname is recorded in OCR, it is entered during installation phase. It cannot be modified after the installation. The only way to modify public hostname is by deleting the node, then add the node back with a new hostname, or reinstall the clusterware.
Case II. 修改public IP,但不改动子网信息
--更改public IP,不修改子网信息,只需要更改OS配置,但需要重启clusterware
If the change is only public IP address and the new ones are still in the same subnet, nothing needs to be done on clusterware layer, all changes need to be done at OS layer to reflect the change.
1. Shutdown Oracle Clustereware stack
2. Modify the IP address at network layer, DNS and /etc/hosts file to reflect the change
3. Restart Oracle Clusterware stack
Case III.修改public IP,更改子网信息
--需要修改OCR,需要重启clusterware
If the change involves different subnet(netmask) or interface, delete the existing interface information from OCR and add it back with the correct information is required. In the example here, the subnet is changed from 10.2.156.0 to 10.2.166.0 via two separate commands - first a 'delif' followed by a 'setif':
For example:
% $CRS_HOME/bin/oifcfg delif -global eth0/10.2.156.0
% $CRS_HOME/bin/oifcfg setif -global eth0/10.2.166.0:public
Make the change at OS layer and restart Oracle Clusterware.
Once public network is changed, its associated VIP and SCAN VIP are also required to change, refer to CASE IV and CASE V.
--当public 网段改变的时候,其相应的VIP和SCAN VIP也需要做出相应的改变
二 修改VIP信息
--修改VIP,10203以后ASM/DB instance不再依赖VIP,因此修改VIP时无需将其关闭,但此过程中该节点将无法被客户端访问;
--11R2若使用GNS,则VIP无需手工配置
--先停止现有的VIP,修改OS配置,以root用户运行srvctl修改其VIP信息,重启该服务既可
Planning for VIP changes
In general, a complete outage is only required for pre-10.2.0.3 release. From 10.2.0.3 onwards, the ASM/database instance dependency on the VIP resource is removed, so the VIP could be modified without having to take down the ASM/database instance, only client connections to the database will be affected when VIP is down. If the modification is a node specific, then only connection to that node will be affected during the time of change.
Please follow Case III to ensure public network changes are made first.
Gathering Current VIP Configuration
1. Gather the existing setup
for 10g and 11gR1, as Oracle Clusterware owner:
$ srvctl config nodeapps -n racnode1 -a
VIP exists.: /racnode1-vip/101.17.80.184/255.255.254.0/eth1
for 11gR2, as Grid Infrastructure owner:
$ srvctl config nodeapps -a
Network exists: 1/101.17.80.0/255.255.254.0/eth1, type static
VIP exists: /racnode1-vip/101.17.80.184/101.17.80.0/255.255.254.0/eth1, hosting node racnode1
VIP exists: /racnode2-vip/101.17.80.186/101.17.80.0/255.255.254.0/eth1, hosting node racnode2
2. Verify VIP status
10.2 and 11.1:
$ crs_stat -t
11.2:
$ crsctl stat res -t
- it should show VIPs are ONLINE
$ ifconfig -a
(netstat -in for HP and ipconfig /all for Windows)
- VIP logical interface is bound to the public network interface
Stopping Resources
3. Stop the nodeapps resources (and all dependent resources ASM/DB only if required):
10g and 11gR1, as Oracle Clusterware owner:
$ srvctl
stop instance -d
$ srvctl
stop asm -n
$ srvctl
stop nodeapps -n
11gR2, as Grid Infrastructure owner:
$ srvctl
stop instance -d
$ srvctl
stop vip -n
Note 1: The -f option is required for 11gR2 to stop listener resource, otherwise following error will occur:
PRCR-1014 : Failed to stop resource ora.racnode1.vip
PRCR-1065 : Failed to stop resource ora.racnode1.vip
CRS-2529: Unable to act on 'ora.racnode1.vip' because that would require stopping or relocating 'ora.LISTENER.lsnr', but the force option was not specified
...
4. Verify VIP is now OFFLINE and the interface is no longer bound to the public network interface
$ crs_stat -t (or $ crsctl stat res -t for 11gR2)
$ ifconfig -a
(netstat -in for HP and ipconfig /all for windows)
Modifying VIP and Its Associated Attributes
5. Determine the new VIP IP/subnet/netmask or VIP hostname, make the network change on OS first, ensure the new VIP is registered in DNS or modified in /etc/hosts (for Unix/Linux) and \WINDOWS\System32\drivers\etc\hosts file (for Windows). If the network interface is changed, ensure the new interface is available on the server before proceeding with the modification.
For example:
New VIP is: 110.11.70.11 racnode1-nvip
new subnet is 110.11.70.0
new netmask is 255.255.255.0
new interface is eth2
6. Modify the VIP resource, as root user:
# srvctl
modify nodeapps -n
eg:
# srvctl modify nodeapps -n racnode1 -A racnode1-nvip/255.255.255.0/eth2
* A special case for 11gR2 modifying the VIP hostname only without changing the IP address.
For example: only VIP hostname changes from racnode1-vip to racnode1-nvip, IP and other attributes remain same.
If IP address is not changed, above modify command will not change the USR_ORA_VIP value in 'crsctl stat res ora.racnode1.vip -p' output. To workaround:
1. modify VIP to use another valid hostname, for example node2 VIP host:
# srvctl modify nodeapps -n racnode1 -A racnode2-vip/255.255.255.0/eth2
2. modify VIP again to use the new VIP hostname
# srvctl modify nodeapps -n racnode1 -A racnode1-nvip/255.255.255.0/eth2
3. Verify the changes for USR_ORA_VIP field:
# crsctl stat res ora.racnode1.vip -p
Note 1: For Windows platform, the interface name needs to be in quote (") if there is a space in between, eg:
As administrator user or software install user:
> srvctl modify nodeapps -n racnode1 -A 110.11.70.11/255.255.255.0/"Local Area Connection 1"
Note 2: Starting with 11.2, the VIP depends on network resource (ora.net1.network), the OCR only records the VIP hostname or the IP address associated with the VIP resource. The network attributes (subnet/netmask) is recorded with the network resource.
From 11.2.0.2 onwards, if only subnet/netmask change is required, network resource can be modified directly via srvctl modify network command.
as root user:
# srvctl
modify network -k
eg:
# srvctl modify network -k 1 -S 110.11.70.0/255.255.255.0/eth2
There is no need to modify VIP or SCAN if other attributes are not changed.
7. Verify the change
$ srvctl
config nodeapps -n
$ srvctl config nodeapps -a (11gR2)
eg:
$ srvctl config nodeapps -n racnode1 -a
VIP exists.: /racnode1-nvip/110.11.70.11/255.255.255.0/eth2
Restarting Resources
8. Start the nodeapps and the other resources
10g and 11gR1, as Oracle Clusterware owner:
$ srvctl
start nodeapps -n
$ srvctl
start asm -n
$ srvctl
start instance -d
eg:
$ srvctl start nodeapps -n racnode1
$ srvctl start asm -n racnode1
$ srvctl start instance -d RACDB -i RACDB1
11gR2, as Grid Infrastructure owner:
$ srvctl
start vip -n
$ srvctl
start instance -d
eg,
$ srvctl start vip -n racnode1
$ srvctl start instance -d RACDB -n racnode1
9. Verify the new VIP is ONLINE and bind to the public network interface
$ crs_stat -t (or $ crsctl stat res -t for 11gR2)
$ ifconfig -a
(netstat -in for HP or ipconfig /all for windows)
10. Repeat the same steps for the rest nodes in the cluster only if the similar change is required.
Others
11. Modify listener.ora, tnsnames.ora and LOCAL_LISTENER/REMOTE_LISTENER parameter to reflect the VIP change if necessary.
三 修改SCAN VIP
Case V. Change SCAN VIP associated with public network change
--修改SCAN VIP(仅限于不使用GNS的场景)
--首先需要修改DNS配置,然后停止scan服务并同步其OCR配置
--原有的SCAN IP地址10.100.10.81, 10.100.10.82 & 10.100.10.83,修改后的SCAN IP为10.100.10.121, 10.100.10.122 & 10.100.10.123
1
确认DNS的scan ip已经修改
$ nslookup sales-scan.example.com
Server: dns1.example.com
Address: 10.100.10.70#53
Name: sales-scan.example.com
Address: 10.100.10.123
Name: sales-scan.example.com
Address: 10.100.10.122
Name: sales-scan.example.com
Address: 10.100.10.121
2
停止scan和scan listener服务
# $GRID_HOME/bin/srvctl stop scan_listener
# $GRID_HOME/bin/srvctl stop scan
# $GRID_HOME/bin/srvctl status scan
# $GRID_HOME/bin/srvctl status scan_listener
3
修改OCR配置
# $GRID_HOME/bin/srvctl modify scan -n sales-scan.example.com
4
重启scan和scan listener
# $GRID_HOME/bin/srvctl start scan
# $GRID_HOME/bin/srvctl start scan_listener
Before the SCAN VIPs can be changed, the entry for the SCAN name on the Domain Name Server (DNS) needs to be updated with the new IP addresses. This usually will be done by a network administrator. To check the current setting, the following command can be used:
nslookup
To check the current IP address(es) of the SCAN VIPs, run the following commands as the root user: $GRID_HOME/bin/srvctl config scan
Next
refresh the SCAN VIPs with the new IP addresses from the DNS entry:
$GRID_HOME/bin/srvctl modify scan -n
To check if the SCAN VIPs have been changed, run the following command, it should now show the new IP addresses.$GRID_HOME/bin/srvctl config scan
With Grid Infrastructure 11gR2, SCAN and SCAN VIP are introduced for client connections. To modify the SCAN VIP, please refer to
Note
952903.1 How to update the IP address of the SCAN VIP resources
(ora.scan
Note 972500.1 How to Modify SCAN Setting or SCAN Listener Port after Installation
四 修改private IP
--
Case I. Changing private hostname
--11R2起 private hostname不再存储于OCR中,可以在/etc/hosts随意修改;此前的版本private hostname一旦确定便不可修改,除非重装clusterware
In pre-11.2 Oracle Clusterware, private hostname is recorded in OCR, it can not be updated. Generally private hostname is not required to change. Its associated IP can be changed. The only way to change private hostname is by deleting/adding nodes, or reinstall Oracle Clusterware.
In 11.2 Grid Infrastructure, private hostname is no longer recorded in OCR and there is no dependancy on the private hostname. It can be changed freely in /etc/hosts.
Case II. 只修改private IP
--关闭clusterware,然后再修改OS配置文件/etc/hosts
For example, private IP is changed from 192.168.1.10 to 192.168.1.21, network interface name and subnet remain the same.
Simply shutdown Oracle Clusterware stack, make IP modification at OS layer (eg: /etc/hosts, OS network config etc) for private network, restart Oracle Clusterware stack will complete the task.
Case III. 修改private IP及其子网信息
--不仅修改/etc/hosts,还要修改OCR配置文件
When netmask is changed, the associated subnet ID is also changed. Oracle only store network interface name and subnet ID in OCR, not the netmask. Oifcfg command can be used for such change, oifcfg commands only require to run on 1 of the cluster node, not all.
Pre11R2
1 调用oifcfg增加新的private network信息,然后删除旧的信息
% $ORA_CRS_HOME/bin/oifcfg setif -global eth3/192.168.2.0:cluster_interconnect
% $ORA_CRS_HOME/bin/oifcfg delif -global eth1/192.168.1.0
2 关闭clusterware
以root用户执行crsctl stop crs
3 更改OS层面的配置文件
修改/etc/hosts,需要修改每个节点
4 重启clusterware
11R2
--11.2的Grid框架中,private network配置信息还存在于GPnP中,但无法手工直接修改该文件,在修改之前需要备份一下profile.xml
以下操作都需要以grid用户执行
1
确认所有节点的集群都在运行
2
添加新的cluster_interconnect信息
$ oifcfg setif -global eth3/192.168.1.96:cluster_interconnect
--使用-node选项会导致节点被驱逐
3
关闭所有节点的clusterware
4
修改OS层面的网络配置
5
重启所有节点的clusterware
6
删除旧的cluster_interconnect信息
$ oifcfg delif -global eth0/192.168.0.0
参考文档
How to Modify Public Network Information including VIP in Oracle Clusterware [ID 276434.1]
How to Modify Private Network Information in Oracle Clusterware [ID 283684.1]
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23141985/viewspace-1656647/ ,如需转载,请注明出处,否则将追究法律责任。