@LVMを使っての構築術
-LVMについて
例)LVMは2台のハードディスクをOSから1台のハードディスクに見えさせる。ということが出来ます。
-物理的なデバイスについて
Linuxでは、ハードディスクが/dev/hda1,/dev/sda1などのように割り当てられます。
[root@filesv1 ~]# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda1 1019208 248828 717772 26% /
/dev/hda2 8131028 257828 7453504 4% /var
/dev/hda3 8131028 2528452 5182880 33% /usr
/dev/hda6 19553108 254392 18289436 2% /home
tmpfs 1037800 0 1037800 0% /dev/shm
-これに新しくハードディスを2台増設して使いたいと考えたが、ともに4TB・・・しかしワンパーテションで8TBとしたい・・・・そんな時にLVMを使います。
1.PVを作成
PVとは物理ボリュームのことです。上で言った/dev/hda1などのことです。
#fdisk
/dev/sdb
などで作成できますが、fdiskは2TBを超える容量は認識してくれません。最大2TBで切られてしまいます。おそらくそのままfdiskでディスクを切ろうとすると下記のようなエラーが出てしまいます。
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
そこで活用するのが「partedコマンド」です。
# parted /dev/sdb
GNU Parted 1.6.19
Copyright (C) 1998 - 2004 Free Software Foundation, Inc.
This program is free software, covered by the GNU General Public License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
/dev/sdb を使用
(parted) mklabel hd
(parted) mkpart
パーティションの種類? primary/プライマリ? primary
ファイルシステムの種類? [ext2]? ext3
開始? 0
終了? 4072036.750
(parted) quit
これでディスクが切れました。次にファイルシステムを作成します。
# mkfs.ext3 /dev/sdb1
これでしばらく待つ。
これを2台のハードディスクそれぞれで行います。
#/usr/sbin/pvcreate /dev/sdb1 /dev/sdc1
2.VGの作成(*)
今回は、8TBをひとつのパーテションとするのでPEを32MBにします。
/usr/sbin/vgcreate -s 32m Volume00 /dev/sdb1 /dev/sdc1
(*)ボリュームグループはPEの集まりとして管理される。
(*) 1つのボリュームグループは64K個までのPEを持てます。
(*)PEのサイズのデフォルト値は4MBで256GBを扱えます。何もオプションをつけないと最大256GBしか扱えなくなります。
ちなみに/dev/sdb1と/dev/sdc1の順番は重要です。ストライプを使用しない場合この順番でLVMは書き込みを行います。
ストライプを使用しない場合は、片側のディスクが一杯になった時点で、もう片方のディスクに書き込みに行くようになります。(これをリニアLVといいます)
ちなみにストライプはストライプLV、ミラーリングをLVMで行うこともできます(ミラーLV)
ストライプは次のストライプサイズで到達したパケットを分割してそれぞれのディスクに書き込みを行います。
3.論理ボリュームの作成
# /usr/sbin/lvcreate -i 2 -I 32 -L 8TB -n LogVol01 Volume00
ストライプサイズを32KBにしています。
ディスクが2本なので 「-i 2」です。
※ストライプサイズの決定ですが、メーカやRedhatに聞いてみたのですがこちらは実際に計測するしかないみたいです。ただしこのページの最後の方に指標は出しておきます。
ストライプが正常にされているか否かは、コマンドでは確認できません。実際にディスクランプを見て両方に書き込みがされているかを確認します。
4.ストライプサイズの変更
ストライプサイズを後で変更する場合は、再度ファイルシステムの構築(=フォーマット)を行うことになりますので慎重にストライプサイズは決定しなければなりません。
5.ストライプサイズの指標
WEBサーバ、プリントサーバ等の細かいファイル 16K-64K
ファイルサーバ、CADなどの容量が大きいサーバ 128K
データベースサーバ 32K-128K
ストライプサイズは用途によって変化します。上記はあくまで指標でありパフォーマンスが期待したどおりでない場合があります。
またLVMでストライプした後、ディスクでRAIDを組んでいる場合はそちらのストライプサイズも気にしなければなりません。
最終更新:2010年02月24日 14:38