色々な設定ができるスクリプトがあって、この作業はそれを使って行えます。必要で あれば、スクリプトを使わずに 1 つ 1 つ実行もできます。
ボリューム・グループ内に空きがあり、ext2 ファイルシステムを使っているなら (一般的に使用されています)、使い勝手の良いこのツールが使えます。
e2fsadm
コマンドは、商用の resize2fs ツールを利用しています。
良いソフトウェアという評判ですが、広く使われているわけではありません。
FSF の ext2resize
を使うなら、
e2fsadm
に情報を下記のようにして渡す必要があります。
# export E2FSADM_RESIZE_CMD=ext2resize
# export E2FSADM_RESIZE_OPTS=""
後は簡単です。e2fsadm
は他の LVM のコマンドと非常によく似ています
ので。
# e2fsadm /dev/test/HOWTO -L+50M
e2fsadm -- correcting size 102 MB to physical extent boundary 104 MB
e2fsck 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/test/HOWTO: 11/25688 files (0.0% non-contiguous), 3263/102400 blocks
lvextend -- extending logical volume "/dev/test/howto" to 104 MB
lvextend -- doing automatic backup of volume group "test"
lvextend -- logical volume "/dev/test/HOWTO" successfully extended
ext2_resize_fs
ext2_grow_fs
ext2_block_relocate
ext2_block_relocate_grow
ext2_grow_group
ext2_add_group
ext2_add_group
ext2_add_group
ext2_add_group
ext2_add_group
ext2_add_group
direct hits 4096 indirect hits 0 misses 1
e2fsadm -- ext2fs in logical volume "/dev/test/HOWTO" successfully extended to 104 MB
e2fsadm
でこの作業は行えますが、e2fsadm
を使わない方法を
理解しておいても損はないと思います。
# lvextend -L+12M /dev/test/HOWTO
lvextend -- rounding size to physical extent boundary
lvextend -- extending logical volume "/dev/test/HOWTO" to 116 MB
lvextend -- doing automatic backup of volume group "test"
lvextend -- logical volume "/dev/test/HOWTO" successfully extended
これは vgextend ユーティリティを使いますが、とても簡単です。まず最初に
物理ボリュームを作ります。これは pvcreate
ユーティリティを使います。
このツールを使ってブロック・デバイスを物理ボリュームに置き換えます。
それが終った後に、vgextend
を実行します。
# pvcreate /dev/sda1
pvcreate -- physical volume "/dev/sda1" successfully created
# vgextend webgroup /dev/sda1
vgextend -- INFO: maximum logical volume size is 255.99 Gigabyte
vgextend -- doing automatic backup of volume group "webgroup"
vgextend -- volume group "webgroup" successfully extended
おぼえておいて欲しいことは、これを実行するには、ボリューム・グループが アクティブである必要があるということです。「vgchange -a y webgroup」を 実行すればアクティブにできます。
ツールを使わずに実現したいなら、いくつかの方法があります。
オフラインとは、ファイルシステムのマウントを外して、これから行う変更作業 ができる状態のことを指します。ファイルシステムやその中のデータは、この 状態では利用することができません。つまり、root や他の重要なパーティションの大きさ を変更する場合は、他にブートできる媒体が必要となることを忘れないでください。
ext2resize ツールは、GNU の ftp サイトから取ってこられますが、大抵のディス トリビューションは、パッケージの 1 つとして用意してあります。使い方はとても簡単 です。
# ext2resize /dev/HOWTO/small 40000
40000 という数字は、拡張もしくは縮小された後のファイルシステムのブロック数です。
FIXME: ここに書いてください。