例えば、/dev/hda1が/boot、/dev/hda2がLVM、/dev/hda3 がFAT32、みたいなマシンがあって、こんな感じにファイルシステムが埋まってしまったとする。
% df -h一昔前なら/をでかく取っておけば良かったと後悔後の祭りになるが、LVMだとオンラインで領域を追加できる。例えばこの時に、hda3のパーティションを潰して、/を拡張しみよう、ということである。
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
38G 36G 1.1G 95% /
/dev/hda1 99M 25M 70M 26% /boot
/tmpfs 501M 0 501M 0% /dev/shm
/dev/hda3 60G 20G 39G 33% /export/fat
おおざっぱに言うと、LVMパーティションを追加してPV作成->VGにPVを突っ込んで拡張->LVを拡張->ファイルシステムを拡張、という操作が必要である。
まずfdiskでhda3を潰し、Linux LVMパーティションを確保する。IDは0x8e。d -> 3 -> n -> p -> 3 -> [RET] -> [RET] -> t -> 3 -> 8e -> w だ。
こんなパーティションテーブルになった。
デバイス Boot Start End Blocks Id Systemこれで追加するLVMパーティションが確保できたので、これを既存のLVMに追加する。
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 4864 38965657+ 8e Linux LVM
/dev/hda3 4865 12161 58613152+ 8e Linux LVM
最初に、pvcreateでPVを作り、LVMパーティションを使えるようにする。
# pvcreate /dev/hda3次に、/ が入っているVGである VolGroup00 に、今作ったPVを追加する。VGを見るコマンドはvgdisplay。追加前は
Physical volume "/dev/hda3" successfully created
# pvdisplay /dev/hda3
"/dev/hda3" is a new physical volume of "55.90 GB"
--- NEW Physical volume ---
PV Name /dev/hda3
VG Name
PV Size 55.90 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID i3iHBK-Lm4l-wIR1-iKBl-gFlJ-063G-kDI9nM
# vgdisplayだったところに、vgextendで追加する。
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 37.16 GB
PE Size 32.00 MB
Total PE 1189
Alloc PE / Size 1189 / 37.16 GB
Free PE / Size 0 / 0
VG UUID JOT4c8-pOkz-hVtX-Aprl-fOol-Ow01-EgeRfl
(以下略)
# vgextend VolGroup00 /dev/hda3VGサイズが拡張されたので、VGの中にあるLVの拡張を行う。LVを見るコマンドはlvdisplay。拡張前は
Volume group "VolGroup00" successfully extended
# vgdisplay VolGroup00
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 93.03 GB
PE Size 32.00 MB
Total PE 2977
Alloc PE / Size 1189 / 37.16 GB
Free PE / Size 1788 / 55.88 GB
VG UUID JOT4c8-pOkz-hVtX-Aprl-fOol-Ow01-EgeRfl
# lvdisplayだったところに、lvresizeで追加する。
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID rJeiKe-4a8g-52sS-nAwu-Yeah-z9wx-U2C5tm
LV Write Access read/write
LV Status available
# open 1
LV Size 35.19 GB
Current LE 1126
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
(以下略)
# lvresize -L +58G /dev/VolGroup00/LogVol00次がようやく最終段階。/ のファイルシステムをリサイズ。ext3 なら、resize2fsでオンラインのまま拡張できる(resize2fsは結構時間が掛かる)。
Extending logical volume LogVol00 to 35.19 GB
Logical volume LogVol00 successfully resized
# lvdisplay
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID rJeiKe-4a8g-52sS-nAwu-Yeah-z9wx-U2C5tm
LV Write Access read/write
LV Status available
# open 1
LV Size 91.06 GB
Current LE 2914
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
(以下略)
# resize2fs -p /dev/mapper/VolGroup00-LogVol00とまあ、これでめでたく、/が拡張された。
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/mapper/VolGroup00-LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/mapper/VolGroup00-LogVol00 to 23871488 (4k) blocks.
The filesystem on /dev/mapper/VolGroup00-LogVol00 is now 23871488 blocks long.
# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
89G 24G 61G 28% /
/dev/hda1 99M 25M 70M 26% /boot
/tmpfs 501M 0 501M 0% /dev/shm
▼レンタルサーバー・VPS比較表を見る▼