DRBD9 使用說明

  • DRBD9 支援多節點同步,相較之前的版本,有提供更容易配置 DRBD 的工具,可以使用 drbdmanage 或是 linstor 指令管理,由於 drbdmanage 指令到2018年底變為 EOL,後續指令改用 linstor 來維護,因此本篇使用 linstor 作說明。

  • LINSTOR 是一個用於在Linux系統上存儲的配置管理系統。 管理節點集群上的LVM 或 ZFS ZVOL, 利用DRBD在不同節點之間進行複制。

  • LINSTOR 的架構為 一個 controller 和多個 satellites(需要備份的節點) 。 linstor-controller 儲存了整個集群的所有設定,並且維護整個集群,因此 linstor-controller 通常使用Pacemaker和DRBD作為HA服務,因為 controller 系統的關鍵部分。

  • 更多詳細資訊及操作請至 LINBIT官網

安裝 DRBD9

  • 安裝相關套件

    # apt install -y linstor-controller linstor-satellite linstor-client drbd-dkms lvm2
  • 啟用和啟動 linstor-controller 和 linstor-client 服務

    # systemctl enable linstor-controller.service
    # systemctl start linstor-controller.service
    # systemctl enable linstor-satellite.service
    # systemctl start linstor-satellite.service
  • 重啟server

    # reboot

建立節點

  • 此範例為三台server,一個controller和三個satellite,其中一個節點為controller和satellite

  • 以下所有指令都在 nodeA 執行。

節點名稱

IP

角色

nodeA

10.50.2.4

Controller, satellite

nodeB

10.50.2.5

satellite

nodeC

10.50.2.6

satellite

建立節點,由於 nodeA 的角色為 controller 和 satellite,因此 type 為 Cmbined

使用 linstor node list 確認節點

建立 LVM 的 drbdpool群組,此範例的drbd的硬碟為vdb

定義 storage pool

定義一個 storage pool 名為 drbdpool

建立 storage pool

各節點建立 lvm 並指定 drbdpool

定義 Resource 和 volume

  • 定義一個 demo 的 Resource,並指定volume的size,此範例的 /dev/vdb 有 20G,這裡分 15G 給 demo 的resource

  • 確認已定義的volume

建立 resource

  • 在三個節點建立 resource

  • 查看磁碟並格式化 drbd 磁區

  • 查看 resource

  • State 為 UpToDate 代表資料完全同步, Inconsistent 代表尚未完全同步, 可以用 drbdadm 查看進度

驗證

  • 完成後可以 mount /dev/drbd1000 至目錄,測試是否有完成資料同步

  • nodeA 節點

  • nodeB 節點

Last updated

Was this helpful?