LVMの構築方法(基本編) [Linux(LVM/RAID/Storage)]
●mixiからの転記(&加筆)
HDDがアフォみたいに安くなってくる一方で、動画ファイルとか使う方もサイズがでっかくなってくるので、「ニコイチ」とか「ヨンコイチ」とかああいうディスクケースを使ったりRAIDしたりする訳ですが、特にUSBのHDDを使い出すと、だんだんPCにディスクが「鈴なり」状態に、ディスクスペースが細切れ状態になってきて微妙にもったいなかったり、使いづらかったりする訳ですよ。
で、そこで複数のディスクをガッチャンコしちゃおうという目的でLinuxでLVMしちまおう…ということでこのエントリーとあいなった訳ですよ。
基本路線としては、
・LinuxでSambaな環境を構築して、Windowsには「ネットワークドライブ」という形で見せよう
・ネットワークドライブがいっぱいになるのはかんべんな
・バックアップとか考えると頭が痛くなるので、本当ならRAID5とかしたい訳だが、失業した古いHDDを再利用してでっかいディスクとして見せたいので、「壊れたら壊れたであきらめる」前提とする(ちゃんと守りたいデータは新しいディスクを買ってきてRAIDしる!)
ということで。
なお、当方の環境の都合上話は全てCentOS5.2とかその辺の上で進行しますので念のため。
で、lvmを使うにはおおざっぱにいって3段階の手順とか必要になる。
①ハードディスクに「物理ボリューム」を作成する。
→まずは全部のハードディスクに物理ボリュームを作成することになる
②作成した物理ボリュームを、「ボリュームグループ」に登録する。
→この「ボリュームグループ」は「1個の巨大なハードディスク」みたいな感じに見えることになる。
③複数の物理ボリュームが登録されたボリュームグループから、必要に応じて「論理ボリューム」を切り出す。
→ボリュームグループは「1個の巨大なハードディスク」なら、「物理ボリューム」は「パーティション」に相当すると考えるとよろし。今回のような目的で使うなら、「1個のハードディスクに1個のパーティション」みたいな感じになるですよ。
これ以降は、普通にファイルシステムを作成してマウントして使えるですよ。
これだけならまあRAID0したり「テラタワー」みたいな製品を使えばいいじゃんということになるんだろうけども、lvmにしておけば…
メリット1:あとからハードディスクを追加して、ボリュームグループとか論理ボリュームを大きくできる
メリット2:ディスクの「交換」にも割と柔軟に対応できる(ダメな時はダメぽ…ということもあるけどなー)
メリット3:SASだろうとSATAだろうとUSBなHDDだろうとお構いなしに全部「がっちゃんこ」できる
要するに、RAIDよりもずーっと敷居が低い訳ですよ。いろんな意味で。(特に資金的にも!)まあ、その分、RAID1とかRAID5とかのようにファイルをがっちり守るとかはちょっとアレな面も。(lvmでミラーリングもできるけどなー)
そんな訳で、lvm構築方法を以下に書き殴っておく。
ステップ0:準備・lvmに必要なパッケージは入っているかな?&ディスクをつなごう~!
おそらく、普通にCentOSをセットアップしておけば標準で入ってくるような気がする今日この頃ですが、パッケージは入っているかな?チェックしてみませう。
コマンドが入っててLVM versionの表示が2以降なら多分問題ない希ガス。必要なパッケージは…
入ってない場合は、yumでさくっと入れてしまいませう。
ということなので、
ですな。なお、Vineなお友達は…
つーことなので
とするよろし。
で、ディスクをざくざく接続するですよ。OSから認識できているディスクについてはdmesgで確認するとか/proc/partitionsを見るとかしませう。
まあ、健全なパソコンオタクちゃんならこれくらいはディスクが鈴なりになっているんじゃなかろうかと思います。健全でない「マル廃」なオタクちゃんの場合はきっと「すげー高級なRAIDカード」とか使っていそうなのでそういう「マル廃本仕込み」なオタクちゃんはどっか他いくよろし。
ちなみにこのマシンの場合、sdaとsdcがマザボに接続されているHDD、sdoはRAID5なUSB-HDD(具体的にはバッキャローのUSBなアレ)で今回「がっちゃんこ」する対象外。md0はLinuxのソフトウェアRAIDなデバイスで、sdf、sde、sdd、sdbを4本束ねてRAID5してるので、これも今回の「がっちゃんこ」する対象外。
そんな訳で、sdg、sdh、sdi、sdj、sdk、sdl、sdm、sdnの8本がlvmで「がっちゃんこ」される対象となるですよ。
では、さっそく「がっちゃんこ」してまいります。
ステップ1:ハードディスクに「物理ボリューム」を作成する
えーと、本当はいらないんだけど、私はコレを省略するとどーしても気持ちが悪いのでやってますが、よい子のみんなはやってもやらなくてもどっちでもいいお。
それぞれのディスクにパーティションを切ります。おきまりの「fdisk」ですな。(サンプル中のデバイス名は適宜読み替えよう。)
1個のハードディスクを丸ごと1個のパーティションにしておいて、パーティションのIDを変更します。「n」して「t」して「8e」にして「w」すればオッケーです。(リサイクルだという場合は最初に「d」してくだちい。)何のことかさっぱりわからんという人はお帰りください。
lvmで「がっちゃんこ」したい全てのディスクにLinuxLVMのパーティションを作成したら、いよいよlvmの操作に入ります。
lvmの「物理ボリューム」の作成には pvcreate コマンドを使います。基本形としては…
です。いちいちコマンド8回も実行するのは面倒くさいので
とでもしておけば8本全部に物理ボリュームが作成されるですよ。
物理ボリュームが作成されたかどうかチェックするには pvdisplay コマンド。
すでにこのサーバではLVMでボリュームを作成してあるのでFree PEが0になってますが、作成したばっかりの状態だとFree PEになんらかの数値が入っていることでせう。VG Nameも表示されなはずですお。
ステップ2:作成した物理ボリュームを、「ボリュームグループ」に登録する。
複数ある「物理ボリューム」を「ボリュームグループ」に登録して、「1個の巨大なハードディスクのようなもの」を作成します。
このボリュームグループには何か分かり易そうな名前を付けておきます。で、使用するコマンドは vgcreate です。引数として、「ボリュームグループ名」と「登録する物理ボリュームのデバイス名」を続けて書きます。
今回の例として、「ボリュームグループ名」に「vgtera」と名前を付けることにします。
なんてことになりますが、最初から複数の物理ボリュームを追加しつつ新規作成できますので、その場合は物理ボリュームのデバイス名を書き並べることになります。
たとえば↑こんな感じ。ちなみに今回のケースだと
と、なる訳です。
ちなみに、「初めてだから1個だけ登録してみた~」とか「やっう゛ぇー。デバイス名書き忘れてしまった~」みたいな場合は、 vgextend コマンドで既存のボリュームグループに物理ボリュームを追加します。
とかこんな感じで。
ディスクが「がっちゃんこ」された様子を見たい場合は、 vgdisplay コマンドで表示されます。
↑上記の例だと、すでにlvmが以下略なのでFree PE/Sizeが以下略ですが、ボリュームグループを作成した直後の場合は以下略。
なお、コマンドにボリュームグループ名「vgtera」を付けてますが、これを省略するとそのマシンで作成されている全てのボリュームグループの情報が表示されます。また、「-v」オプションを付けると登録されている物理ボリュームの情報とかも全て表示されます。
↑上記の例だと、すでにlvmが以下略なので論理ボリュームの情報が表示されていたり以下略ですが新規に作成したばっかりの状態だと以下略。
ステップ3:複数の物理ボリュームが登録されたボリュームグループから、必要に応じて「論理ボリューム」を切り出す。
ここまでで、ディスク8本を「がっちゃんこ」して約4.5TBのでっかい領域が作成されてニヨニヨしてますが、これではまだ不完全で、ここから「論理ボリューム」を作成します。
さきほと vgdisplay コマンドで…
という表示があったと思う。この「PE」という物は「物理エクステンド」という物で、ボリュームグループをデフォルトで4MB単位のブロックに区切り、そのブロックの個数を示しています。この物理エクステンドのサイズは変更することが出来るのだけども、ぶっちゃけ、lvm2を使っている限りあんまり意味はないです。
大きくするとディスク容量の端数が無駄になりやすいとかあったり、小さくすると物理エクステンドの個数がやたら多くなってパフォーマンスが低下するとかありますが、まあ、USB-HDDを使ってる時点でパフォーマンス云々言うのは筋違いかなと思うところではありますが。(笑)
で、論理ボリュームにこの「物理エクステンド」を何個割り当てます…みたいな指定をやることで、ようやくファイルシステムをそこに作成できるようになるわけです。
今回は8個全てのディスクを「がっちゃんこ」して1個の広大な領域にしたいので、1個の論理ボリュームに全ての物理エクステンドを割り当てることになります。
使用するコマンドは lvcreate です。「-l」オプションと「-n」オプションを併用します。「-l」オプションに続けて使用する物理エクステンドの個数を、「-n」オプションに続けて論理ボリュームの名前を指定します。最後に切り出す元となるボリュームグループ名です。なお、「-n」オプションを省略するとデフォルトで変な名前が割り当てられます。別にそっちでも構わないのですがね。
今回の例でいくとこんな具合になる訳ですな。これで、論理ボリュームが作成されました。
この論理ボリュームに対して、ファイルシステムを作成したり、マウントしたりする訳ですが、デバイス名の組み立て方としては…
/dev/(ボリュームグループ名)/(論理ボリューム名)
ということになります。今回の場合は、ボリュームグループ名に「lvtera」、論理ボリューム名に「lva」と名前を付けたので、「/dev/lvtera/lva」というデバイス名が付くことになります。
ステップ4:あとはもうファイルシステムを作成してマウントしる。
あとはもう詳しく説明するのもアレなんですが、mke2fs -j /dev/lvtera/lva して、tune2fs -c 0 -i 0 /dev/lvtera/lva して、お好みに応じてe2label /dev/lvtera/lva DATAAREA とかやってからmkdir -p /mnt/mountpoint でマウントポイントを適宜作成してmount /dev/lvteta/lva /mnt/mountpoint とかやるよろしね。
これで、4.5TBの領域がウヒヒヒヒ…
まあ、もう実際に使用しているので容量がアレですが以下略。
なお、こんな場末なblogの落書きを見てしまった識者の方で指摘とかツッコミとかありましたらコメントよろしこです。
HDDがアフォみたいに安くなってくる一方で、動画ファイルとか使う方もサイズがでっかくなってくるので、「ニコイチ」とか「ヨンコイチ」とかああいうディスクケースを使ったりRAIDしたりする訳ですが、特にUSBのHDDを使い出すと、だんだんPCにディスクが「鈴なり」状態に、ディスクスペースが細切れ状態になってきて微妙にもったいなかったり、使いづらかったりする訳ですよ。
で、そこで複数のディスクをガッチャンコしちゃおうという目的でLinuxでLVMしちまおう…ということでこのエントリーとあいなった訳ですよ。
基本路線としては、
・LinuxでSambaな環境を構築して、Windowsには「ネットワークドライブ」という形で見せよう
・ネットワークドライブがいっぱいになるのはかんべんな
・バックアップとか考えると頭が痛くなるので、本当ならRAID5とかしたい訳だが、失業した古いHDDを再利用してでっかいディスクとして見せたいので、「壊れたら壊れたであきらめる」前提とする(ちゃんと守りたいデータは新しいディスクを買ってきてRAIDしる!)
ということで。
なお、当方の環境の都合上話は全てCentOS5.2とかその辺の上で進行しますので念のため。
で、lvmを使うにはおおざっぱにいって3段階の手順とか必要になる。
①ハードディスクに「物理ボリューム」を作成する。
→まずは全部のハードディスクに物理ボリュームを作成することになる
②作成した物理ボリュームを、「ボリュームグループ」に登録する。
→この「ボリュームグループ」は「1個の巨大なハードディスク」みたいな感じに見えることになる。
③複数の物理ボリュームが登録されたボリュームグループから、必要に応じて「論理ボリューム」を切り出す。
→ボリュームグループは「1個の巨大なハードディスク」なら、「物理ボリューム」は「パーティション」に相当すると考えるとよろし。今回のような目的で使うなら、「1個のハードディスクに1個のパーティション」みたいな感じになるですよ。
これ以降は、普通にファイルシステムを作成してマウントして使えるですよ。
これだけならまあRAID0したり「テラタワー」みたいな製品を使えばいいじゃんということになるんだろうけども、lvmにしておけば…
メリット1:あとからハードディスクを追加して、ボリュームグループとか論理ボリュームを大きくできる
メリット2:ディスクの「交換」にも割と柔軟に対応できる(ダメな時はダメぽ…ということもあるけどなー)
メリット3:SASだろうとSATAだろうとUSBなHDDだろうとお構いなしに全部「がっちゃんこ」できる
要するに、RAIDよりもずーっと敷居が低い訳ですよ。いろんな意味で。(特に資金的にも!)まあ、その分、RAID1とかRAID5とかのようにファイルをがっちり守るとかはちょっとアレな面も。(lvmでミラーリングもできるけどなー)
そんな訳で、lvm構築方法を以下に書き殴っておく。
ステップ0:準備・lvmに必要なパッケージは入っているかな?&ディスクをつなごう~!
おそらく、普通にCentOSをセットアップしておけば標準で入ってくるような気がする今日この頃ですが、パッケージは入っているかな?チェックしてみませう。
[root@server1 root]# pvdisplay --version LVM version: 2.02.28 (2007-08-24) Library version: 1.02.22 (2007-08-21) Driver version: 4.5.0
コマンドが入っててLVM versionの表示が2以降なら多分問題ない希ガス。必要なパッケージは…
[root@server1 root]# rpm -qa | fgrep lvm lvm2-2.02.28-0vl0.1
入ってない場合は、yumでさくっと入れてしまいませう。
[root@server2 ~]# yum search lvm Loading "fastestmirror" plugin Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * updates: ftp.iij.ad.jp * addons: ftp.iij.ad.jp * extras: ftp.iij.ad.jp lvm2.i386 : ユーザーランド論理ボリューム管理ツール system-config-lvm.noarch : A utility for graphically configuring Logical Volumes lvm2.i386 : Userland logical volume management tools lvm2-cluster.i386 : Cluster extensions for userland logical volume management tools
ということなので、
[root@server2 ~]# yum install lvm2.i386
ですな。なお、Vineなお友達は…
[root@server1 root]# apt-cache search lvm lvm2 - 論理ボリューム管理ツール lvm - Linux Logical Volume Manager utilities. ocaml - Objective Caml コンパイラとプログラミング環境
つーことなので
[root@server1 root]# apt-get install lvm2
とするよろし。
で、ディスクをざくざく接続するですよ。OSから認識できているディスクについてはdmesgで確認するとか/proc/partitionsを見るとかしませう。
[root@server1 root]# cat /proc/partitions major minor #blocks name 8 0 312570167 sda 8 1 104391 sda1 8 2 312464250 sda2 8 16 976762584 sdb 8 17 976760001 sdb1 8 32 312571224 sdc 8 33 2040223 sdc1 8 34 310528417 sdc2 8 48 976762584 sdd 8 49 976760001 sdd1 8 64 976762584 sde 8 65 976760001 sde1 8 80 976762584 sdf 8 81 976760001 sdf1 9 0 2930279808 md0 8 96 976762584 sdg 8 97 976760001 sdg1 8 112 976762584 sdh 8 113 976760001 sdh1 8 128 976762584 sdi 8 129 976760001 sdi1 8 144 976762584 sdj 8 145 976760001 sdj1 8 160 245117376 sdk 8 161 245111706 sdk1 8 176 245117376 sdl 8 177 245111706 sdl1 8 192 245117376 sdm 8 193 245111706 sdm1 8 208 245117376 sdn 8 209 245111706 sdn1 253 0 4887461888 dm-0 8 224 1464845256 sdo 8 225 1464838798 sdo1
まあ、健全なパソコンオタクちゃんならこれくらいはディスクが鈴なりになっているんじゃなかろうかと思います。健全でない「マル廃」なオタクちゃんの場合はきっと「すげー高級なRAIDカード」とか使っていそうなのでそういう「マル廃本仕込み」なオタクちゃんはどっか他いくよろし。
ちなみにこのマシンの場合、sdaとsdcがマザボに接続されているHDD、sdoはRAID5なUSB-HDD(具体的にはバッキャローのUSBなアレ)で今回「がっちゃんこ」する対象外。md0はLinuxのソフトウェアRAIDなデバイスで、sdf、sde、sdd、sdbを4本束ねてRAID5してるので、これも今回の「がっちゃんこ」する対象外。
そんな訳で、sdg、sdh、sdi、sdj、sdk、sdl、sdm、sdnの8本がlvmで「がっちゃんこ」される対象となるですよ。
では、さっそく「がっちゃんこ」してまいります。
ステップ1:ハードディスクに「物理ボリューム」を作成する
えーと、本当はいらないんだけど、私はコレを省略するとどーしても気持ちが悪いのでやってますが、よい子のみんなはやってもやらなくてもどっちでもいいお。
それぞれのディスクにパーティションを切ります。おきまりの「fdisk」ですな。(サンプル中のデバイス名は適宜読み替えよう。)
[root@server1 root]# fdisk /dev/sdg このディスクのシリンダ数は 121601 に設定されています。 間違いではないのですが、1024 を超えているため、以下の場合 に問題を生じうる事を確認しましょう: 1) ブート時に実行するソフトウェア (例. バージョンが古い LILO) 2) 別の OS のブートやパーティション作成ソフト (例. DOS FDISK, OS/2 FDISK) コマンド (m でヘルプ): p Disk /dev/sdg: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sdg1 1 121601 976760001 8e Linux LVM コマンド (m でヘルプ):
1個のハードディスクを丸ごと1個のパーティションにしておいて、パーティションのIDを変更します。「n」して「t」して「8e」にして「w」すればオッケーです。(リサイクルだという場合は最初に「d」してくだちい。)何のことかさっぱりわからんという人はお帰りください。
lvmで「がっちゃんこ」したい全てのディスクにLinuxLVMのパーティションを作成したら、いよいよlvmの操作に入ります。
lvmの「物理ボリューム」の作成には pvcreate コマンドを使います。基本形としては…
[root@server1 root]# pvcreate /dev/sdg1
です。いちいちコマンド8回も実行するのは面倒くさいので
[root@server1 root]# pvcreate /dev/sd[g-n]1
とでもしておけば8本全部に物理ボリュームが作成されるですよ。
物理ボリュームが作成されたかどうかチェックするには pvdisplay コマンド。
[root@server1 root]# pvdisplay -v /dev/sdg1 Using physical volume(s) on command line Wiping cache of LVM-capable devices --- Physical volume --- PV Name /dev/sdg1 VG Name vgtera PV Size 931.51 GB / not usable 3.19 MB Allocatable yes (but full) PE Size (KByte) 4096 Total PE 238466 Free PE 0 Allocated PE 238466 PV UUID abEiuq-JRcs-3AOl-qxEB-BP8k-QSmx-8YxlUA
すでにこのサーバではLVMでボリュームを作成してあるのでFree PEが0になってますが、作成したばっかりの状態だとFree PEになんらかの数値が入っていることでせう。VG Nameも表示されなはずですお。
ステップ2:作成した物理ボリュームを、「ボリュームグループ」に登録する。
複数ある「物理ボリューム」を「ボリュームグループ」に登録して、「1個の巨大なハードディスクのようなもの」を作成します。
このボリュームグループには何か分かり易そうな名前を付けておきます。で、使用するコマンドは vgcreate です。引数として、「ボリュームグループ名」と「登録する物理ボリュームのデバイス名」を続けて書きます。
今回の例として、「ボリュームグループ名」に「vgtera」と名前を付けることにします。
[root@server1 root]# vgcreate vgtera /dev/sdg1
なんてことになりますが、最初から複数の物理ボリュームを追加しつつ新規作成できますので、その場合は物理ボリュームのデバイス名を書き並べることになります。
[root@server1 root]# vgcreate vgtera /dev/sdg1 /dev/sdx1 /dev/sdy1
たとえば↑こんな感じ。ちなみに今回のケースだと
[root@server1 root]# vgcreate vgtera /dev/sd[g-n]1
と、なる訳です。
ちなみに、「初めてだから1個だけ登録してみた~」とか「やっう゛ぇー。デバイス名書き忘れてしまった~」みたいな場合は、 vgextend コマンドで既存のボリュームグループに物理ボリュームを追加します。
[root@server1 root]# vgextend vgtera /dev/sdz1
とかこんな感じで。
ディスクが「がっちゃんこ」された様子を見たい場合は、 vgdisplay コマンドで表示されます。
[root@server1 root]# vgdisplay vgtera --- Volume group --- VG Name vgtera System ID Format lvm2 Metadata Areas 8 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 8 Act PV 8 VG Size 4.55 TB PE Size 4.00 MB Total PE 1193228 Alloc PE / Size 1193228 / 4.55 TB Free PE / Size 0 / 0 VG UUID RBEJZT-k2Vo-AKtl-OIYq-imHx-gnca-RDbvUU
↑上記の例だと、すでにlvmが以下略なのでFree PE/Sizeが以下略ですが、ボリュームグループを作成した直後の場合は以下略。
なお、コマンドにボリュームグループ名「vgtera」を付けてますが、これを省略するとそのマシンで作成されている全てのボリュームグループの情報が表示されます。また、「-v」オプションを付けると登録されている物理ボリュームの情報とかも全て表示されます。
[root@server1 root]# vgdisplay -v vgtera Using volume group(s) on command line Finding volume group "vgtera" --- Volume group --- VG Name vgtera System ID Format lvm2 Metadata Areas 8 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 8 Act PV 8 VG Size 4.55 TB PE Size 4.00 MB Total PE 1193228 Alloc PE / Size 1193228 / 4.55 TB Free PE / Size 0 / 0 VG UUID RBEJZT-k2Vo-AKtl-OIYq-imHx-gnca-RDbvUU --- Logical volume --- LV Name /dev/vgtera/lva VG Name vgtera LV UUID suPCyY-vhXr-ptAP-sQph-TZFY-8msV-Km4cJa LV Write Access read/write LV Status available # open 1 LV Size 4.55 TB Current LE 1193228 Segments 8 Allocation inherit Read ahead sectors 0 Block device 253:0 --- Physical volumes --- PV Name /dev/sdg1 PV UUID abEiuq-JRcs-3AOl-qxEB-BP8k-QSmx-8YxlUA PV Status allocatable Total PE / Free PE 238466 / 0 PV Name /dev/sdh1 PV UUID ztiGC4-cO3A-He3a-2f2x-Dz82-qBPY-Imc45D PV Status allocatable Total PE / Free PE 238466 / 0 PV Name /dev/sdi1 PV UUID Sz7dZh-LkUM-ltYw-gKaY-PKn8-PpMY-La3TGa PV Status allocatable Total PE / Free PE 238466 / 0 PV Name /dev/sdj1 PV UUID FNhgGT-22dc-W0HJ-qDYQ-ye3L-SEG6-hn4XEi PV Status allocatable Total PE / Free PE 238466 / 0 PV Name /dev/sdk1 PV UUID mLw2JO-emCp-3auI-if98-cw4u-e82r-6znQ5D PV Status allocatable Total PE / Free PE 59841 / 0 PV Name /dev/sdl1 PV UUID lDPisv-2kgJ-kt32-OLeZ-V4uo-3Eqx-lG1rv1 PV Status allocatable Total PE / Free PE 59841 / 0 PV Name /dev/sdm1 PV UUID UjFfgA-XQgx-6xvl-PJ1m-aalI-HkIo-pv2kBB PV Status allocatable Total PE / Free PE 59841 / 0 PV Name /dev/sdn1 PV UUID Pp0EZz-2dNy-y5G3-Y92a-UZ7H-5pMA-RyM9rA PV Status allocatable Total PE / Free PE 59841 / 0
↑上記の例だと、すでにlvmが以下略なので論理ボリュームの情報が表示されていたり以下略ですが新規に作成したばっかりの状態だと以下略。
ステップ3:複数の物理ボリュームが登録されたボリュームグループから、必要に応じて「論理ボリューム」を切り出す。
ここまでで、ディスク8本を「がっちゃんこ」して約4.5TBのでっかい領域が作成されてニヨニヨしてますが、これではまだ不完全で、ここから「論理ボリューム」を作成します。
さきほと vgdisplay コマンドで…
Total PE 1193228
という表示があったと思う。この「PE」という物は「物理エクステンド」という物で、ボリュームグループをデフォルトで4MB単位のブロックに区切り、そのブロックの個数を示しています。この物理エクステンドのサイズは変更することが出来るのだけども、ぶっちゃけ、lvm2を使っている限りあんまり意味はないです。
大きくするとディスク容量の端数が無駄になりやすいとかあったり、小さくすると物理エクステンドの個数がやたら多くなってパフォーマンスが低下するとかありますが、まあ、USB-HDDを使ってる時点でパフォーマンス云々言うのは筋違いかなと思うところではありますが。(笑)
で、論理ボリュームにこの「物理エクステンド」を何個割り当てます…みたいな指定をやることで、ようやくファイルシステムをそこに作成できるようになるわけです。
今回は8個全てのディスクを「がっちゃんこ」して1個の広大な領域にしたいので、1個の論理ボリュームに全ての物理エクステンドを割り当てることになります。
使用するコマンドは lvcreate です。「-l」オプションと「-n」オプションを併用します。「-l」オプションに続けて使用する物理エクステンドの個数を、「-n」オプションに続けて論理ボリュームの名前を指定します。最後に切り出す元となるボリュームグループ名です。なお、「-n」オプションを省略するとデフォルトで変な名前が割り当てられます。別にそっちでも構わないのですがね。
[root@server1 root]# lvcreate -l 1193228 -n lva vgtera
今回の例でいくとこんな具合になる訳ですな。これで、論理ボリュームが作成されました。
この論理ボリュームに対して、ファイルシステムを作成したり、マウントしたりする訳ですが、デバイス名の組み立て方としては…
/dev/(ボリュームグループ名)/(論理ボリューム名)
ということになります。今回の場合は、ボリュームグループ名に「lvtera」、論理ボリューム名に「lva」と名前を付けたので、「/dev/lvtera/lva」というデバイス名が付くことになります。
ステップ4:あとはもうファイルシステムを作成してマウントしる。
あとはもう詳しく説明するのもアレなんですが、mke2fs -j /dev/lvtera/lva して、tune2fs -c 0 -i 0 /dev/lvtera/lva して、お好みに応じてe2label /dev/lvtera/lva DATAAREA とかやってからmkdir -p /mnt/mountpoint でマウントポイントを適宜作成してmount /dev/lvteta/lva /mnt/mountpoint とかやるよろしね。
これで、4.5TBの領域がウヒヒヒヒ…
[root@server root]# df -h ファイルシステム サイズ 使用 残り 使用% マウント位置 /dev/sda2 294G 4.3G 275G 2% / (見せられないよ! ><) /dev/mapper/vgtera-lva 4.5T 3.1T 1.4T 69% /mnt/mountpoint (見せられないよ ><)
まあ、もう実際に使用しているので容量がアレですが以下略。
なお、こんな場末なblogの落書きを見てしまった識者の方で指摘とかツッコミとかありましたらコメントよろしこです。
2008-09-29 14:15
nice!(0)
コメント(0)
トラックバック(0)
コメント 0