DRBD + Keepalived + NFS on CentOS Stream 8 (2)

HW周りを変更して、同期は専用のNICを使うように構成変更します。

スペックはCPU2コア、メモリ4GB、ディスク50GB+共有ディスク800GBで行きます。
ネットワークは以下のようになります。

+------------------------------+       +------------------------------+ 
| CentOS Stream 8              |       | CentOS Stream 8              | 
| drbd01                       |       | drbd02                       | 
| sda(50GB)                    |       | sda(50GB)                    | 
| sdb(800GB)                   |       | sdb(800GB)                   | 
| 192.168.1.231(BootIP ens192) |       | 192.168.1.232(BootIP ens192) | 
| 192.168.1.230(VIP    ens192) |       | 192.168.1.230(VIP    ens192) | 
| 192.168.3.231(BootIP ens224) |       | 192.168.3.232(BootIP ens224) | 
+-ens192----------------ens224-+       +-ens224----------------ens192-+ 
   |                       |              |                     |
   |                       +--------------+ 1GbE                |
   |                                                            |
   +------------------------------------------------------------+ 1GbE

とりあえず、両ノードでkeepalivedとDRBDを停止させます。

# systemctl stop    keepalived.service
# umount /dev/drbd0
# drbdadm down r0

今回、共有ディスクとして使うsdbを変更するのでパーティションを作り直します。両ノードで実施します。

# fdisk /dev/sdb

fdisk (util-linux 2.32.1) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。

デバイスには認識可能なパーティション情報が含まれていません。
新しい DOS ディスクラベルを作成しました。識別子は 0xf91ed2d3 です。

コマンド (m でヘルプ): n
パーティションタイプ
   p   基本パーティション (0 プライマリ, 0 拡張, 4 空き)
   e   拡張領域 (論理パーティションが入ります)
選択 (既定値 p):

既定の回答 p であるものとみなします。
パーティション番号 (1-4, 既定値 1):
最初のセクタ (2048-1677721599, 既定値 2048):
最終セクタ, +セクタ番号 または +サイズ{K,M,G,T,P} (2048-1677721599, 既定値 1677721599):

新しいパーティション 1 をタイプ Linux、サイズ 800 GiB で作成しました。

コマンド (m でヘルプ): w
パーティション情報が変更されました。
ioctl() を呼び出してパーティション情報を再読み込みします。
ディスクを同期しています。

設定ファイルを書き直します。アドレスの部分を今回追加しているens224のIPに変更します。両ノードで実施します。

# cd /etc/drbd.d/
# vi r0.res
↓ ファイルを作って追記します
resource r0 {
    net{
        protocol    C;
        max-buffers 128K;
    }
    on drbd01 {
        device    /dev/drbd0;
        disk      /dev/sdb1;
        address   192.168.3.231:7788;
        meta-disk internal;
    }

    on drbd02 {
        device    /dev/drbd0;
        disk      /dev/sdb1;
        address   192.168.3.232:7788;
        meta-disk internal;
    }
}

設定ができたらメタデータ作成と起動を行います。両ノードで実施します。

# drbdadm create-md r0
# 

起動すると、まだ未同期なので同期します。

[root@drbd01 ~]# drbdadm status r0
r0 role:Secondary
  disk:Inconsistent
  drbd02 role:Secondary
    peer-disk:Inconsistent

[root@drbd01 ~]# drbdadm --force primary r0
[root@drbd01 ~]# drbdadm secondary r0
[root@drbd01 ~]# drbdadm status r0
r0 role:Secondary
  disk:UpToDate
  drbd02 role:Secondary
    replication:SyncSource peer-disk:Inconsistent done:0.03

[root@drbd01 ~]#

ファイルシステムを作ります。

[root@drbd01 ~]# mkfs.xfs /dev/drbd0
meta-data=/dev/drbd0             isize=512    agcount=4, agsize=52427134 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=209708535, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=102396, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

ここまでできたら後は前回の設定がそのまま使えますので、keepalivedを再起動します。

[root@drbd01 ~]# systemctl restart keepalived.service
[root@drbd02 ~]# systemctl restart keepalived.service

[root@drbd01 ~]# systemctl status rpcbind nfs-server
● rpcbind.service - RPC Bind
   Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; disabled; vendor pr>
   Active: active (running) since Sun 2022-11-20 21:37:04 JST; 39s ago

● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor>
  Drop-In: /run/systemd/generator/nfs-server.service.d
           mqorder-with-mounts.conf
   Active: active (exited) since Sun 2022-11-20 21:37:05 JST; 39s ago

先に起動したdrbd01がサービスを起こしているのが確認できました。

これで同期はens224経由、NFSはens192経由で行えるようになりました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)