内容

概要

前提条件

要件

使用するコンポーネント

Prime Cable Provisioning 6.1.5フェールオーバーノードネットワークのIPアドレスの変更

1.フェールオーバーIPを変更する手順

2.セカンダリパブリックIPを変更する手順

概要

このドキュメントでは、ハイアベイラビリティ(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リソース設定を更新します。

注：DRBDブロックファイル同期は、フェールオーバーネットワークを介して実行されます。パブリックIPの変更をDRBDファイルに変更する必要はありません。セカンダリフェールオーバーIPだけが変更されているため、DRBDリソースファイル内のこのIPのみを変更します。

- DRBDの現在のステータスを確認します。

# 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