こんばんにちは
仮想マシンでのディスク容量拡張やVPSのスケールアップなどで,システムがブートしているファイルシステムをそのシステム上から拡張したくなることがあります.
今回は,CentOSでインストール時に標準で選択される論理ボリュームを使用した構成になります.
なお,swapのサイズは変更しません.
続きをどうぞ.
目次
最初に
sakura3 ~ % cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
※ 以下,関係ないディスク等はコマンド実行結果から省いています.
変更前
25GBのディスク
sakura3 ~ % df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/centos_***-root 23G 14G 8.9G 61% /
/dev/vda1 497M 259M 238M 53% /boot
sakura3 ~ % sudo fdisk -l
Disk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x000864fc
デバイス ブート 始点 終点 ブロック Id システム
/dev/vda1 * 2048 1026047 512000 83 Linux
/dev/vda2 1026048 52428799 25701376 83 Linux
Disk /dev/mapper/centos_***-root: 24.2 GB, 24167579648 bytes, 47202304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk /dev/mapper/centos_***-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
sakura3 ~ % sudo lvdisplay
--- Logical volume ---
LV Path /dev/centos_***/swap
LV Name swap
VG Name centos_***
LV UUID ******-****-****-****-****-****-******
LV Write Access read/write
LV Creation host, time ********.**.**, 2018-01-12 13:23:40 +0900
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/centos_***/root
LV Name root
VG Name ***
LV UUID ******-****-****-****-****-****-******
LV Write Access read/write
LV Creation host, time ********.**.**, 2018-01-12 13:23:41 +0900
LV Status available
# open 1
LV Size <22.51 GiB
Current LE 5762
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
パーティションのリサイズ
論理ボリュームが乗っている /dev/vda2
をディスクいっぱいまで拡張します.
sakura3 ~ % sudo parted /dev/vda
GNU Parted 3.1
/dev/vda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) print
モデル: Virtio Block Device (virtblk)
ディスク /dev/vda: 107GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 1049kB 525MB 524MB primary xfs boot
2 525MB 26.8GB 26.3GB primary
(parted) resizepart 2
終了? [26.8GB]? 100%
(parted) print
モデル: Virtio Block Device (virtblk)
ディスク /dev/vda: 107GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 1049kB 525MB 524MB primary xfs boot
2 525MB 107GB 107GB primary
(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
sakura3 ~ % sudo fdisk -l
Disk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x000864fc
デバイス ブート 始点 終点 ブロック Id システム
/dev/vda1 * 2048 1026047 512000 83 Linux
/dev/vda2 1026048 209715199 104344576 83 Linux
Disk /dev/mapper/centos_***-root: 24.2 GB, 24167579648 bytes, 47202304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk /dev/mapper/centos_***-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
物理ボリュームのリサイズ
リサイズしたパーティションに合わせて物理ボリュームをリサイズします.
sakura3 ~ % sudo pvdisplay
--- Physical volume ---
PV Name /dev/vda2
VG Name centos_***
PV Size <24.51 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 6274
Free PE 0
Allocated PE 6274
PV UUID ******-****-****-****-****-****-******
sakura3 ~ % sudo pvresize -tv /dev/vda2
TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated.
Test mode: Skipping archiving of volume group.
Resizing volume "/dev/vda2" to 208689152 sectors.
Resizing physical volume /dev/vda2 from 6274 to 25474 extents.
Updating physical volume "/dev/vda2"
Test mode: Skipping backup of volume group.
Physical volume "/dev/vda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
sakura3 ~ % sudo pvresize -v /dev/vda2
Archiving volume group "centos_***" metadata (seqno 6).
Resizing volume "/dev/vda2" to 208689152 sectors.
Resizing physical volume /dev/vda2 from 6274 to 25474 extents.
Updating physical volume "/dev/vda2"
Creating volume group backup "/etc/lvm/backup/centos_***" (seqno 7).
Physical volume "/dev/vda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
sakura3 ~ % sudo pvdisplay
--- Physical volume ---
PV Name /dev/vda2
VG Name centos_***
PV Size <99.51 GiB / not usable 2.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 25474
Free PE 19200
Allocated PE 6274
PV UUID ******-****-****-****-****-****-******
論理ボリュームとファイルシステムのリサイズ
論理ボリュームをリサイズします.同時にファイルシステムをリサイズすることが出来ます.
sakura3 ~ % sudo lvdisplay
--- Logical volume ---
LV Path /dev/centos_***/swap
LV Name swap
VG Name centos_***
LV UUID ******-****-****-****-****-****-******
LV Write Access read/write
LV Creation host, time ********.**.**, 2018-01-12 13:23:40 +0900
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/centos_***/root
LV Name root
VG Name centos_***
LV UUID ******-****-****-****-****-****-******
LV Write Access read/write
LV Creation host, time ********.**.**, 2018-01-12 13:23:41 +0900
LV Status available
# open 1
LV Size <22.51 GiB
Current LE 5762
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
sakura3 ~ % sudo lvextend -trl +100%FREE /dev/centos_***/root
TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated.
Size of logical volume centos_***/root changed from <22.51 GiB (5762 extents) to <97.51 GiB (24962 extents).
Logical volume centos_***/root successfully resized.
sakura3 ~ % sudo lvextend -rl +100%FREE /dev/centos_***/root
Size of logical volume centos_***/root changed from <22.51 GiB (5762 extents) to <97.51 GiB (24962 extents).
Logical volume centos_***/root successfully resized.
meta-data=/dev/mapper/centos_***-root isize=256 agcount=6, agsize=1147392 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0 spinodes=0
data = bsize=4096 blocks=5900288, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 5900288 to 25561088
結果
sakura3 ~ % df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/centos_***-root 98G 14G 84G 15% /
/dev/vda1 497M 259M 238M 53% /boot
まとめ
一度も再起動してないです.
簡単すぎて驚きました...
参考
【 lvextend 】コマンド――論理ボリュームのサイズを拡張する:Linux基本コマンドTips(343) - @IT
コメント