複数のハードディスクを、LVMを使って一つのパーティションとしてまとめたいと思います。冗長性は皆無なのでご注意を。速さ重視!
目次
したいこと
今回は2つのハードディスク(/dev/sda , /dev/sdb)を使って一つのLVMパーティションを作り上げます。言うまでもなく冗長性はありませんので1つのディスクが死ぬと全部死にます。
それぞれでパーティションを作成する
まずはそれぞれのハードディスクでLVMに組み込みたいパーティションを作成する必要があります。 今回利用する /dev/sda には既に3つのパーティション(/boot など)が作成されていましたので、パーティション番号4で作成しています。但し /dev/sdb については未使用でしたのでパーティション番号は1です。
# fdisk /dev/sda コマンド (m でヘルプ): n ← パーティションの新規作成 コマンドアクション e 拡張 p 基本パーティション (1-4) p ← 基本パーティションを指定 選択した領域 4 ← 領域番号を指定 最初 シリンダ (4870-243201, 初期値 4870): ← そのままエンター Last シリンダ, +シリンダ数 or +size{K,M,G} (4870-243201, 初期値 243201): ← そのままエンター コマンド (m でヘルプ): t ← タイプ変更を指示 パーティション番号 (1-4): 4 ← タイプ変更するパーティション番号を指定 16進数コード (L コマンドでコードリスト表示): 8e ← タイプ(LVM)を指定 コマンド (m でヘルプ): p ← 現状を確認。下記のように作成したパーティションが表示されるはず ~~~略~~~ /dev/sda4 4870 243201 1914394208+ 8e Linux LVM ~~~略~~~ コマンド (m でヘルプ): w ← パーティションを書込
手順は上と同じなので省きますが、引き続き同様に /dev/sdb でパーティション /dev/sdb1 を作成します。
作成が完了したらシステムをリブートしてください。
# reboot
物理ボリューム(PV)を作成する
先ほど作成したパーティションから物理ボリューム(Physical Volume)を作成します。
# pvcreate /dev/sda4 Physical volume "/dev/sda4" successfully created # pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created
作成したPVボリュームを確認します。
# pvdisplay -C PV VG Fmt Attr PSize PFree /dev/sda4 lvm2 --- 1.78t 1.78t /dev/sdb1 lvm2 --- 1.82t 1.82t # pvdisplay "/dev/sda4" is a new physical volume of "1.78 TiB" --- NEW Physical volume --- PV Name /dev/sda4 VG Name PV Size 1.78 TiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID Rhqdpt-lryL-bVeG-ZObb-xVDv-plMf-6Da04S "/dev/sdb1" is a new physical volume of "1.82 TiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 1.82 TiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID QF1KfH-2EWA-YoeM-Mvgm-XNj8-8t82-onDdCR
問題なく作成されていました。
ボリュームグループ(VG)を作成する
続いてボリュームグループ(Volume Group)を作成します。
作成するボリュームグループの名前は voldata にしています。
# vgcreate voldata /dev/sda4 /dev/sdb1 Volume group "voldata" successfully created
作成したボリュームグループを確認します。
# vgdisplay -v voldata DEGRADED MODE. Incomplete RAID LVs will be processed. Using volume group(s) on command line Finding volume group "voldata" --- Volume group --- VG Name voldata System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 3.60 TiB PE Size 4.00 MiB Total PE 944312 Alloc PE / Size 0 / 0 Free PE / Size 944312 / 3.60 TiB VG UUID ztCeBJ-osuq-BCMM-KA3Z-bbW9-0wiY-cmyomy --- Physical volumes --- PV Name /dev/sda4 PV UUID Rhqdpt-lryL-bVeG-ZObb-xVDv-plMf-6Da04S PV Status allocatable Total PE / Free PE 467381 / 467381 PV Name /dev/sdb1 PV UUID QF1KfH-2EWA-YoeM-Mvgm-XNj8-8t82-onDdCR PV Status allocatable Total PE / Free PE 476931 / 476931
論理ボリューム(LV)を作成する
論理ボリューム(Logical Volume)を作成します。
作成するボリュームグループの名前は voldatalv にしています。 サイズ指定で 100%FREE を指定するので全て使い切る形です。
# lvcreate -l 100%FREE -n voldatalv voldata Logical volume "voldatalv" created
作成した論理ボリュームを確認します。
# lvdisplay -C LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert voldatalv voldata -wi-a----- 3.60t # lvdisplay /dev/voldata/voldatalv --- Logical volume --- LV Path /dev/voldata/voldatalv LV Name voldatalv VG Name voldata LV UUID 2sJBvn-RGfi-Xw4x-KMTv-QPlO-ph9d-vLjIi9 LV Write Access read/write LV Creation host, time hogesv.lan, 2014-12-05 11:52:36 +0900 LV Status available # open 0 LV Size 3.60 TiB Current LE 944312 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0
ここまででLVMボリュームの作成が完了です。
作成した論理ボリュームをフォーマットしてマウントする
最後に作成した論理ボリュームをフォーマットしてマウントさせてみます。 最終的にはUUID指定でのマウント設定を追加します。
# mkfs -t ext4 /dev/voldata/voldatalv
フォーマットが完了したらマウントしてみます。
# mount -t ext4 /dev/mapper/voldata-voldatalv /mnt/ # df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 29G 3.7G 24G 14% / tmpfs 1.9G 72K 1.9G 1% /dev/shm /dev/sda1 190M 55M 125M 31% /boot /dev/mapper/voldata-voldatalv 3.6T 69M 3.4T 1% /mnt
無事にマウントできれば完了です。
自動マウントするように /etc/fstab に記載しますが、ここはUUIDを指定した方がいいので、UUIDを確認してそのIDを記載します。
# blkid /dev/voldata/voldatalv /dev/voldata/voldatalv: UUID="9df5caf9-7f48-4cb5-b437-3e6d7d72d677" TYPE="ext4" # vi /etc/fstab 下記を追記 UUID=9df5caf9-7f48-4cb5-b437-3e6d7d72d677 /mnt ext4 defaults 0 0
これですべての作業が完了です。