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