CentOS 8
Sponsored Link

Pacemaker : LVM 共有ストレージを設定する2020/02/21

 
クラスターに アクティブ/パッシブ 構成の HA-LVM (High Availability LVM) ボリュームを設定します。
当例では以下のような環境で設定します。
事前に クラスターの基本構成を設定していること および フェンスデバイスを設定していることが前提です。
                        +--------------------+
                        | [  ISCSI Target  ] |
                        |  storage.srv.world |
                        +---------+----------+
                         10.0.0.50|
                                  |
+----------------------+          |          +----------------------+
| [  Cluster Node#1  ] |10.0.0.51 | 10.0.0.52| [  Cluster Node#2  ] |
|   node01.srv.world   +----------+----------+   node02.srv.world   |
|                      |                     |                      |
+----------------------+                     +----------------------+

[1]
こちらを参考に、ISCSI ターゲット サーバーに共有ストレージを作成しておきます
当例では、IQN (iSCSI Qualified Name) を [iqn.2020-02.world.srv:storage.target02] として [10G] のストレージを設定しています。
[2]
[3] クラスターを構成する全ノードで、LVM システム ID の設定を変更します。
[root@node01 ~]#
vi /etc/lvm/lvm.conf
# 1217行目:変更

system_id_source = "
uname
"
[4] クラスターのいずれかのノード上で、共有ストレージ上に LVM を設定します。
下例の [sdb] は ISCSI ターゲット サーバーの共有ストレージです。
# 共有ストレージに LVM タイプをセット

[root@node01 ~]#
parted --script /dev/sdb "mklabel msdos"

[root@node01 ~]#
parted --script /dev/sdb "mkpart primary 0% 100%"

[root@node01 ~]#
parted --script /dev/sdb "set 1 lvm on"
# 物理ボリューム作成

[root@node01 ~]#
pvcreate /dev/sdb1

  Physical volume "/dev/sdb1" successfully created.

# ボリュームグループ作成

[root@node01 ~]#
vgcreate vg_ha /dev/sdb1

  Volume group "vg_ha" successfully created with system ID node01.srv.world

# [System ID] 値が [$ uname -n] と同じ値になっているか確認

[root@node01 ~]#
vgs -o+systemid

  VG    #PV #LV #SN Attr   VSize   VFree System ID
  cl      1   2   0 wz--n- <29.00g    0
  vg_ha   1   0   0 wz--n-   9.99g 9.99g node01.srv.world

# 論理ボリューム作成

[root@node01 ~]#
lvcreate -l 100%FREE -n lv_ha vg_ha

  Logical volume "lv_ha" created.

# ext4 でフォーマット

[root@node01 ~]#
mkfs.ext4 /dev/vg_ha/lv_ha
# ボリュームグループを非アクティブ化

[root@node01 ~]#
vgchange vg_ha -an

  0 logical volume(s) in volume group "vg_ha" now active
[5] [4] で LVM を設定したノード以外のノード上で、作成した LVM ボリュームを認識させておきます。
[root@node02 ~]#
lvm pvscan --cache --activate ay

  pvscan[1932] PV /dev/vda2 online, VG cl is complete.
  pvscan[1932] PV /dev/sdb1 ignore foreign VG.
  pvscan[1932] VG cl run autoactivation.
  2 logical volume(s) in volume group "cl" now active
[6] [4] で LVM を設定したノード上で、共有ストレージをクラスターリソースとして設定します。
# [lvm_ha] ⇒ 任意の名称

# [vgname=***] ⇒ ボリュームグループ名

# [--group] ⇒ 任意のグループ名

[root@node01 ~]#
pcs resource create lvm_ha ocf:heartbeat:LVM-activate vgname=vg_ha vg_access_mode=system_id --group ha_group

# ステータス確認

# 設定した LVM リソースが [Started] であれば OK

[root@node01 ~]#
pcs status

Cluster name: ha_cluster
Stack: corosync
Current DC: node02.srv.world (version 2.0.2-3.el8_1.2-744a30d655) - partition with quorum
Last updated: Fri Feb 20 01:34:06 2020
Last change: Fri Feb 20 01:34:01 2020 by root via cibadmin on node01.srv.world

2 nodes configured
2 resources configured

Online: [ node01.srv.world node02.srv.world ]

Full list of resources:

 scsi-shooter   (stonith:fence_scsi):   Started node01.srv.world
 Resource Group: ha_group
     lvm_ha     (ocf::heartbeat:LVM-activate):  Started node02.srv.world

Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
関連コンテンツ