LVMの利用

ブリックとして利用するファイルシステムは、LinuxのLVM(論理ボリュームマネージャ)によるLV(論理ボリューム)上に作成して利用することも可能です。LVMを利用すると次のようなメリットがあります。(RHS2.0ではLVMの利用が必須となっています。)

ボリュームごとの容量の分離

例えば、下図のように、1つのファイルシステム(/data)上にディレクトリを分けて2つのブリックを用意して、2つのボリュームを作成したとします。この場合、どちらのボリュームもその容量は、各ノードのファイルシステム容量の合計(この例では2GB)として認識されます。ただし、実際に利用できるのは、それぞれのボリュームの使用量の合計が2GBまでとなります。

一方、LVMを利用して、ブリックごとに異なるLV上のファイルシステムを使用すると、それぞれのボリュームの容量を分離することができます。下図の例では、どちらのボリュームも1GBの容量として認識されて、一方のボリュームの使用量が他のボリュームの使用量に影響することはありません。

ブリックに対する容量の追加

LVとその上のファイルシステムのサイズを動的に拡張することで、ブリックの容量を後から増加することができます。ブリックの容量を増加すると、自動的にボリュームの容量も増加します。

次は、2ノード(gluster01、gluster02)のブリックからなるボリュームについて、それぞれのブリックの容量を拡張する例です。

ボリュームを作成

# gluster vol create vol01 gluster01:/data/brick01 gluster02:/data/brick01

Creation of volume vol01 has been successful. Please start the volume to access data.

# gluster vol start vol01

Starting volume vol01 has been successful

# mount -t glusterfs localhost:/vol01 /mnt/vol01

# df -h /mnt/vol01

localhost:/vol01 2.0G 67M 1.9G 4% /mnt/vol01

gluster01のブリックを拡張

# lvextend -L+500M /dev/vg_data/lv_brick01

Extending logical volume lv_brick01 to 1.49 GiB

Logical volume lv_brick01 successfully resized

# resize2fs /dev/vg_data/lv_brick01

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/vg_data/lv_brick01 is mounted on /data/brick01; on-line resizing required

old desc_blocks = 1, new_desc_blocks = 1

Performing an on-line resize of /dev/vg_data/lv_brick01 to 390144 (4k) blocks.

The filesystem on /dev/vg_data/lv_brick01 is now 390144 blocks long.

# df -h /mnt/vol01

Filesystem Size Used Avail Use% マウント位置

localhost:/vol01 2.5G 67M 2.3G 3% /mnt/vol01

gluster02のブリックを拡張

# ssh gluster02

# lvextend -L+500M /dev/vg_data/lv_brick01

Extending logical volume lv_brick01 to 1.49 GiB

Logical volume lv_brick01 successfully resized

# resize2fs /dev/vg_data/lv_brick01

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/vg_data/lv_brick01 is mounted on /data/brick01; on-line resizing required

old desc_blocks = 1, new_desc_blocks = 1

Performing an on-line resize of /dev/vg_data/lv_brick01 to 390144 (4k) blocks.

The filesystem on /dev/vg_data/lv_brick01 is now 390144 blocks long.

# logout

# df -h /mnt/vol01

Filesystem Size Used Avail Use% マウント位置

localhost:/vol01 3.0G 67M 2.8G 3% /mnt/vol01