概要
このドキュメントでは、ハイアベイラビリティ(HA)モードでPrime Cable Provisioning 6.1.5セカンダリサーバのフェールオーバーネットワークとパブリックインターフェイスのIPアドレスを変更する方法について説明します。この手順は、メンテナンス時間帯にのみ実行する必要があります。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Redhat Linuxネットワーキングの知識と理解。
- Linux DRBDファイルストレージのレプリケーション方法とCorosync-pacemakerクラスタの概念に関する知識。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
Platform:Red Hat Linux 7.4
ソフトウェア:Prime Cable Provisioning 6.1.5イメージ
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
Prime Cable Provisioning 6.1.5フェールオーバーノードネットワークのIPアドレスの変更
1.フェールオーバーIPを変更する手順
2.パブリックIPを変更する手順
- セカンダリノードでフェールオーバーIPとパブリックIPアドレスを同時に実行する。
- この例では、セカンダリノードのフェールオーバーIPアドレスを10.106.36.225から10.106.36.235に、パブリックIPを10.106.41.64から10.106.41.68に変更します。
- パブリックIPアドレスを使用してサーバにSSH接続する場合は、サーバのコンソールを使用してパブリックアドレスのIPアドレスを変更し、ネットワーク接続を失い、SSH接続をドロップするように確認します。
- クラスタを停止します。
# pcs cluster stop all (execute in secondary machine)
(or)
Perform the following for stopping cluster service individually in correct order.
#pcs cluster stop 10.106.41.64. ----to stop cluster on secondary server
#pcs cluster stop 10.106.40.64 --force ---to stop cluster service on primary server
1.フェールオーバーIPを変更する手順
注:DRBDブロックファイル同期は、フェールオーバーネットワークを介して実行されます。パブリックIPの変更をDRBDファイルに変更する必要はありません。セカンダリフェールオーバーIPだけが変更されているため、DRBDリソースファイル内のこのIPのみを変更します。
# cat /proc/drbd
* In secondary, disconnect the resources
# drbdadm disconnect all
or
# drbdadm disconnect r0
# drbdadm disconnect r1
# drbdadm disconnect r2
- セカンダリで、フェールオーバーインターフェイスのIPアドレスを変更し、インターフェイスを再起動します。
# vi /etc/sysconfig/network-scripts/ifcfg-ens224
# systemctl restart network
- プライマリで、新しいフェールオーバーIPがpingを実行していることを確認します。
# ping 10.106.36.225
- プライマリおよびセカンダリRDUで新しいセカンダリフェールオーバーIPアドレスを使用して、/etc/drbd.d/r0.res、r1.res、r2.resファイルを更新します。
# vi /etc/drbd.d/r0.res
resource r0 {
protocol A;
syncer {
rate 1024M;
}
on pcprduprimary {
device /dev/drbd0;
disk /dev/rdugroup/LVBPRHOME;
address 10.106.36.216:7788;
meta-disk internal;
}
on pcprdusecondary {
device /dev/drbd0;
disk /dev/rdugroup/LVBPRHOME;
address 10.106.36.158:7788;
meta-disk internal;
}
}
- r1.resおよびr2.resでも、既存のIPアドレスを赤で示された新しいフェールオーバーIPアドレスで更新します。
- セカンダリノードのDRBDリソースを接続し、セカンダリサーバのステータスを確認します。
# drbdadm adjust all
# cat /proc/drbd
version: 8.4.8-1 (api:1/proto:86-101)
GIT-hash: 22b4c802192646e433d3f7399d578ec7fecc6272 build by root@pcp-lnx-82, 2018-01-09 03:29:23
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate A r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
1: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate A r-----
ns:0 nr:0 dw:40 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
2: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate A r-----
ns:0 nr:997 dw:3054 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
2.セカンダリパブリックIPを変更する手順
目的のIPアドレスを反映するために、セカンダリノードのネットワーク設定を更新します。
/etc/hostsファイルを更新して、セカンダリノードの更新されたIPアドレスを含めます。
各ノードからpingコマンドを使用して、IPアドレスとホスト名の両方を使用して他のすべてのノードにpingを実行し、ホスト名が互いに接続し、互いのホスト名を解決できることを確認します。
- セカンダリで、フェールオーバーインターフェイスのIPアドレスを変更し、インターフェイスを再起動します。
# vi /etc/sysconfig/network-scripts/ ifcfg-ens192
# systemctl restart network
- プライマリで、新しいフェールオーバーIPがpingを実行していることを確認します。
# ping 10.106.41.68
# ping
- プライマリ・ノードとセカンダリ・ノードで、新しいパブリパブリックIPアドレスで/etc/hostsファイルを更新します。
# vi /etc/hosts
pcprdusecondary.cisco.com pcprdusecondary
# vi /etc/hosts
pcprduprimary.cisco.com pcprduprimary
- 両方のノードの/etc/corosync/corosync.confでセカンダリパブリックIPアドレスを編集します。
- ring1_addrを両方のノードのcorosync.conf内の変更されたIPアドレスに更新します(編集する前に既存のcorosync.confのバックアップを取り、編集したcorosync.confをバックアップと比較して、意図された変更だけがになっていることを確認してください)。
# vi /etc/corosync/corosync.conf
# pcs cluster corosync
totem {
version: 2
secauth: off
cluster_name: pcpcluster
transport: udpu
rrp_mode: passive
}
nodelist {
node {
ring0_addr: 10.106.40.64
ring1_addr: 10.106.36.216
nodeid: 1
}
node {
ring0_addr: 10.106.41.68
ring1_addr: 10.106.36.235
nodeid: 2
}
}
quorum {
provider: corosync_votequorum
two_node: 1
}
logging {
to_logfile: yes
logfile: /var/log/cluster/corosync.log
to_syslog: yes
}
- プライマリノードで実行して、クラスタサービスを復旧します。ノード名の代わりにノードIPアドレスを使用してpcクラスタが設定されている場合は、この手順を実行します。
# pcs cluster auth
-u hacluster -p
# pcs cluster auth 10.106.40.64 10.106.41.68 -u hacluster -p
10.106.40.64: Authorized
10.106.41.68: Authorized
# pcs cluster start –all
- corosyncの現在の呼び出し状態を確認します。
# corosync-cfgtool -s
* Printing ring status.
Local node ID 2
RING ID 0
id = 10.106.41.68
status = ring 0 active with no faults
RING ID 1
id = 10.106.36.235
status = ring 1 active with no faults
# pcs status
Cluster name: pcpcluster
WARNING: corosync and pacemaker node names do not match (IPs used in setup?)
Stack: corosync
Current DC: pcprdusecondary (version 1.1.16-12.el7_4.7-94ff4df) - partition with quorum
Last updated: Thu Jan 21 10:41:36 2021
Last change: Thu Jan 21 10:39:07 2021 by root via cibadmin on pcprduprimary
2 nodes configured
11 resources configured
Online: [ pcprduprimary pcprdusecondary ]
Full list of resources:
res_VIPArip (ocf::heartbeat:VIPArip): Started pcprduprimary
Master/Slave Set: ms_drbd_1 [res_drbd_1]
Masters: [ pcprduprimary ]
Slaves: [ pcprdusecondary ]
res_Filesystem_1 (ocf::heartbeat:Filesystem): Started pcprduprimary
Master/Slave Set: ms_drbd_2 [res_drbd_2]
Masters: [ pcprduprimary ]
Slaves: [ pcprdusecondary ]
res_Filesystem_2 (ocf::heartbeat:Filesystem): Started pcprduprimary
Master/Slave Set: ms_drbd_3 [res_drbd_3]
Masters: [ pcprduprimary ]
Slaves: [ pcprdusecondary ]
res_Filesystem_3 (ocf::heartbeat:Filesystem): Started pcprduprimary
res_bprAgent_1 (systemd:bpragent): Started pcprduprimary
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled