Carpe Diem

備忘録。https://github.com/jun06t

LVMパーティションの作成から論理ボリューム作成まで

前回の「HDDの増設&LVMでパーティションの統一」では元々あるLVMに追加する方法でした。 今回はLVMをゼロからというやり方です。といっても前回のやり方を試していればそんなに面倒じゃないです。 ◆環境 10GのHDDを2台用意したと仮定します。それぞれ何も設定してないので、Ubuntuでは /dev/sdb, /dev/sdc と認識されているだけとします。 ◆作成手順 ①partedでLVMパーティション作成
root@Server:~# parted /dev/sdb
(parted) mklabel gpt
(parted) mkpart primary 1 -0
(parted) set 1 lvm on
これで /dev/sdb1 が作成されます。同様に /dev/sdc1 も作成します。
root@Server:~# parted /dev/sdc
(parted) mklabel gpt
(parted) mkpart primary 1 -0
(parted) set 1 lvm on
②作成したパーティションに物理ボリュームを作成
root@Server:~# pvcreate /dev/sdb1
root@Server:~# pvcreate /dev/sdc1
※過去にLVMパーティションを作っていて設定が残っている場合、「uidが前と違うよ」と怒られます。その場合は強制的に再作成します。
root@Server:~# pvcreate -ff /dev/sdb1
③VG (VolumeGroup:ボリュームグループ)を作成する ここから前回と違うやり方になります。前回はシステム上にボリュームグループや論理ボリュームがあった環境でしたが、今回はそれも自分で作成します。 今回はボリュームグループ名を testVG とします。
root@Server:~# vgcreate testVG /dev/sdb1 /dev/sdc1
解説サイトによっては以下のようにPEサイズを指定しています。
# vgcreate -s 4m vg0 /dev/sdb1 /dev/sdc1
PE(物理エクステント)とは、LVMが扱う記憶領域の最小単位で、LV領域はPEの指定容量で小分けに分割されます。Windowsでいうクラスタサイズ(アロケーションユニットサイズ)ですね。 これはデフォルトでは4MiBとなっています。PEの最大数は65,536個とのことですが、明らかに前回ではそれを上回る個数でした。どういうことなんでしょう。よく PVサイズ ÷ 64k = PEサイズ と導出しています。 ちなみに削除方法は
# vgremove testVG
確認
root@Server:~# vgdisplay -v
    Finding all volume groups
    Finding volume group "testVG"
  --- Volume group ---
  VG Name               testVG
  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               19.99 GiB
  PE Size               4.00 MiB
  Total PE              5118
  Alloc PE / Size       0 / 0
  Free  PE / Size       5118 / 19.99 GiB
  VG UUID               Bb7p6n-C4tE-82lL-hdR0-HPKp-GAAL-0ioXQK
④論理ボリューム(LV)の作成 新しい論理ボリューム名を newlv とします。先ほどの vgdisplay でPEの数が分かったので、それを指定します。
root@Server:~# lvcreate -l 5118 -n newlv testVG
ちなみにサイズで指定したい場合は「-L」オプションを使います。
# lvcreate -L 19G -n newlv testVG
確認します。
root@Server:~# lvdisplay
  --- Logical volume ---
  LV Name                /dev/testVG/newlv
  VG Name                testVG
  LV UUID                5DLZd6-Usfp-zd9C-6pz3-5daX-lcjX-YDsnRb
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                19.99 GiB
  Current LE             5118
削除する場合は
# lvremove /dev/testVG/newlv
です。 ファイルシステムの作成
root@Server:~# mkfs /dev/testVG/newlv
⑥マウントして確認
root@Server:~# mount /dev/testVG/newlv /mnt
root@Server:~# df
Filesystem               1K-blocks    Used Available Use% Mounted on
/dev/mapper/ubuntu-root   19344076 1495700  16865748   9% /
udev                        495584       4    495580   1% /dev
tmpfs                       202472     340    202132   1% /run
none                          5120       0      5120   0% /run/lock
none                        506176       0    506176   0% /run/shm
/dev/sda1                   233191   51155    169595  24% /boot
/dev/mapper/testVG-newlv  20634236   44992  19541080   1% /mnt
ソース: LV (LogicalVolume)を作成する LVMの使い方 LVM(ロジカルボリュームマネージャ) Linux技術トレーニング 基本管理コース II 1章 LVM入門