LoginSignup
0
0

【2023年05月版】Ubuntu22.04 上での DRBD によるストレージレプリケーション ホスト追加編

Posted at

はじめに

  • DRBDで対象ホストを追加したい・・・

image.png

まとめはこちら

【2023年05月版】Ubuntu22.04 上での DRBD によるストレージレプリケーション

前提条件

  • 3台の ubuntu 22.04
  • 2台の ubuntu 22.04 で、すでにDRBD稼働中、1台を追加
  • Primary を node1 、Secndary を node2 とする
  • 今回追加する Secondary を node3 とする
  • Primary/Secondary 共に /dev/sda をシステム、/dev/sdb, /dev/sdc をストレージレプリケーションとして利用
  • node1 の IPアドレスは 192.168.100.101 とする
  • node2 の IPアドレスは 192.168.100.102 とする
  • node2 の IPアドレスは 192.168.100.103 とする
  • 既存デバイスは、/dev/drbd0, /dev/drbd1 とする
  • 既存のマウント先は /export, /export2 とする

手順

既存の node1, node2

  • 設定の追加
  • 設定の読み込み

新規の node3

  • DRBDのインストール
  • 設定の作成
  • メタデータの作成
  • DRBD の開始

既存の node1

  • Primary の決定 〜 自動的に同期

作業

既存の node1, node2 で作業

設定の追加

既存の設定ファイル

/etc/drbd.d/global_common.conf
global {
    usage-count no;
}
common {
    net {
        protocol C;
    }
}
/etc/drbd.d/r0.res
resource r0 {
    volume 0 {
      device /dev/drbd0;
      disk /dev/sdb;
      meta-disk internal;
    }
    volume 1 {
      device /dev/drbd1;
      disk /dev/sdc;
      meta-disk internal;
    }
    on node1 {
        address 192.168.100.101:7789;
    }
    on node2 {
        address 192.168.100.102:7799;
    }
}

ホストを追加した設定ファイル

/etc/drbd.d/r0.res
resource r0 {
    volume 0 {
      device /dev/drbd0;
      disk /dev/sdb;
      meta-disk internal;
    }
    volume 1 {
      device /dev/drbd1;
      disk /dev/sdc;
      meta-disk internal;
    }
    on node1 {
        node-id 0;
        address 192.168.100.101:7789;
    }
    on node2 {
        node-id 1;
        address 192.168.100.102:7789;
    }
    on node3 {
        node-id 2;
        address 192.168.100.103:7809;
    }
    connection {
        host node1;
        host node2;
    }
    connection {
        host node1;
        host node3;
    }
    connection {
        host node2;
        host node3;
    }

}

DRBD の設定ファイル変更の読み込み

  • Primary/Secondary 共に
$ sudo drbdadm adjust r0

新規の node3 で作業

DRBD のインストール

$ sudo add-apt-repository ppa:linbit/linbit-drbd9-stack
$ sudo apt update
$ sudo apt install drbd-utils drbd-dkms
$ sudo modprobe drbd
$ cat /proc/drbd
version: 9.2.2 (api:2/proto:86-121)
GIT-hash: 8435da3ec2a0a70dee0fedf354276d6f1c6ba708 build by root@drbd1, 2023-05-26 13:01:35
Transports (api:18): tcp (9.2.2)

設定の作成

$ sudo tee /etc/drbd.d/global_common.conf <<EOF > /dev/null 
global {
    usage-count no;
}
common {
    net {
        protocol C;
    }
}
EOF
$ sudo tee /etc/drbd.d/r0.res <<EOF > /dev/null 
resource r0 {
    volume 0 {
      device /dev/drbd0;
      disk /dev/sdb;
      meta-disk internal;
    }
    volume 1 {
      device /dev/drbd1;
      disk /dev/sdc;
      meta-disk internal;
    }
    on node1 {
        node-id 0;
        address 192.168.100.101:7789;
    }
    on node2 {
        node-id 1;
        address 192.168.100.102:7789;
    }
    on node3 {
        node-id 2;
        address 192.168.100.103:7809;
    }
    connection {
        host node1;
        host node2;
    }
    connection {
        host node1;
        host node3;
    }
    connection {
        host node2;
        host node3;
    }

}
EOF

メタデータの作成

$ sudo drbdadm create-md r0

DRBDの開始

$ sudo drbdadm up r0
$ sudo drbdadm status r0

既存の node1 で作業

Primary 決定

$ sudo drbdadm primary r0
$ sudo drbdadm status r0
$ sudo mount /dev/drbd0 /export
$ sudo mount /dev/drbd0 /export2

さいごに

  • かんたんでしたね

参考

Ubuntu 22.04 man page drbdadm
Ubuntu 22.04 man page drbd

DRBD9 ユーザーズガイド
LINSTOR ユーザーズガイド

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0