🕌
fdiskコマンドを使ってrootパーティションを拡張
初期構成
環境
Virtual Boxを使用し、仮想マシンとして構築
OSは「Alma Linux 8.7」
リソース
リソース | サイズ |
---|---|
CPU | 1 core |
メモリ | 2048 MB |
HDD | 20 GB |
パーティション
パーティション | Size | Type |
---|---|---|
/dev/sda1 | 1 GiB | boot |
/dev/sda2 | 19 GiB | LVM |
LVMのボリュームグループ名は、「Vol00」としている。
LVM構成
PV(物理ボリューム) | VG(ボリュームグループ) | LV(論理ボリューム) | 容量 |
---|---|---|---|
/dev/sda2 | Vol00 | root | 17 GiB |
/dev/sda2 | Vol00 | swap | 2 GiB |
# fdisk -l
ディスク /dev/sda: 20 GiB, 21474836480 バイト, 41943040 セクタ単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイトI/O サイズ (最小 / 推奨): 512 バイト / 512 バイトディスクラベルのタイプ: dos
ディスク識別子: 0x0486444d
デバイス 起動 開始位置 終了位置 セクタ サイズ Id タイプ
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 41940991 39841792 19G 8e Linux LVM
ディスク /dev/mapper/Vol00-root: 17 GiB, 18245222400 バイト, 35635200 セクタ単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイトI/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク /dev/mapper/Vol00-swap: 2 GiB, 2147483648 バイト, 4194304 セクタ単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイトI/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
最終構成
パーティション
パーティション | Size | Type |
---|---|---|
/dev/sda1 | 1 GiB | boot |
/dev/sda2 | 19 GiB | LVM |
/dev/sda3(New) | 追加容量(10 GiB) | LVM |
LVM構成
PV(物理ボリューム) | VG(ボリュームグループ) | LV(論理ボリューム) | 容量 |
---|---|---|---|
/dev/sda2 | Vol00 | root | 17 GiB |
/dev/sda2 | Vol00 | swap | 2 GiB |
/dev/sda3(New) | Vol00 | root | 10 GiB |
拡張していく
Virtual Box上でvdiファイルを「20 GB」→「30 GB」へ変更
パーティションを追加
# fdisk /dev/sda
fdisk (util-linux 2.32.1) へようこそ。ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。書き込みコマンドを使用する際は、注意して実行してください。
コマンド (m でヘルプ): n
パーティションタイプ p 基本パーティション (2 プライマリ, 0 拡張, 2 空き)
e 拡張領域 (論理パーティションが入ります)
選択 (既定値 p): p
パーティション番号 (3,4, 既定値 3): 3
最初のセクタ (41940992-62914559, 既定値 41940992):
最終セクタ, +セクタ番号 または +サイズ{K,M,G,T,P} (41940992-62914559, 既定値 62914559):
新しいパーティション 3 をタイプ Linux、サイズ 10 GiB で作成しました。
追加したパーティションのタイプを「LVM」へ変更
コマンド (m でヘルプ): t
パーティション番号 (1-3, 既定値 3): 3
16 進数コード (L で利用可能なコードを一覧表示します): L
0 空 24 NEC DOS 81 Minix / 古い Li bf Solaris
1 FAT12 27 隠し NTFS WinRE 82 Linux スワップ c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 隠し OS/2 また c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 拡張領域 c7 Syrinx
5 拡張領域 41 PPC PReP Boot 86 NTFS ボリューム da 非 FS データ
6 FAT16 42 SFS 87 NTFS ボリューム db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux プレーン de Dell ユーティリ
8 AIX 4e QNX4.x 第2パー 8e Linux LVM df BootIt
9 AIX 起動可能 4f QNX4.x 第3パー 93 Amoeba e1 DOS access
a OS/2 ブートマネ 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad ハ ea Rufus alignment
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs
f W95 拡張領域 (L 54 OnTrackDM6 a6 OpenBSD ee GPT
10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/
11 隠し FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC
12 Compaq 診断 5c Priam Edisk a9 NetBSD f1 SpeedStor
14 隠し FAT16 <32M 61 SpeedStor ab Darwin ブート f4 SpeedStor
16 隠し FAT16 63 GNU HURD または af HFS / HFS+ f2 DOS セカンダリ
17 隠し HPFS/NTFS 64 Novell Netware b7 BSDI fs fb VMware VMFS
18 AST SmartSleep 65 Novell Netware b8 BSDI スワップ fc VMware VMKCORE
1b 隠し W95 FAT32 70 DiskSecure Mult bb 隠し Boot Wizar fd Linux raid 自動
1c 隠し W95 FAT32 75 PC/IX bc Acronis FAT32 L fe LANstep
1e 隠し W95 FAT16 80 古い Minix be Solaris ブート ff BBT
16 進数コード (L で利用可能なコードを一覧表示します): 8e
パーティションのタイプを 'Linux' から 'Linux LVM' に変更しました。
コマンド (m でヘルプ): w
パーティション情報が変更されました。ディスクを同期しています。
パーティションの確認
# fdisk -l
ディスク /dev/sda: 30 GiB, 32212254720 バイト, 62914560 セクタ単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイトI/O サイズ (最小 / 推奨): 512 バイト / 512 バイトディスクラベルのタイプ: dos
ディスク識別子: 0x0486444d
デバイス 起動 開始位置 終了位置 セクタ サイズ Id タイプ/
dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 41940991 39841792 19G 8e Linux LVM
/dev/sda3 41940992 62914559 20973568 10G 8e Linux LVM
ディスク /dev/mapper/Vol00-root: 17 GiB, 18245222400 バイト, 35635200 セクタ単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイトI/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク /dev/mapper/Vol00-swap: 2 GiB, 2147483648 バイト, 4194304 セクタ単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイトI/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
物理ボリュームの作成
# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created.
物理ボリュームの確認
# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name Vol00
PV Size <19.00 GiB / not usable 2.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 4863
Free PE 1
Allocated PE 4862
PV UUID sU2vQa-SoUU-Cd7t-m7TR-ZpYW-6u2Y-8hB9eA
"/dev/sda3" is a new physical volume of "10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sda3
VG Name
PV Size 10.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID RRcPqB-nlx2-iCEK-B6oX-VVRm-QqDY-AuqKi3
HDDの追加容量が「/dev/sda3」として追加されたことを確認できた。
ボリュームグループの拡張
# vgextend Vol00 /dev/sda3
Volume group "Vol00" successfully extended
物理ボリュームの確認
# vgdisplay
--- Volume group ---
VG Name Vol00
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 <29.00 GiB
PE Size 4.00 MiB
Total PE 7423
Alloc PE / Size 4862 / 18.99 GiB
Free PE / Size 2561 / 10.00 GiB
VG UUID X7qL1F-MtQy-yFh9-KnMY-lD3q-vjFp-25eeXw
Free領域として「10GiB」が追加されたことが確認できた。
論理ボリュームの拡張
論理ボリュームのパスを確認
# lvdisplay
--- Logical volume ---
LV Path /dev/Vol00/root
LV Name root
VG Name Vol00
LV UUID V7rXfc-Ms9B-BA3Q-KIAb-fH9I-H8yd-Nd0Zd9
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2023-05-21 00:07:40 +0900
LV Status available
# open 1
LV Size 16.99 GiB
Current LE 4350
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
--- Logical volume ---
LV Path /dev/Vol00/swap
LV Name swap
VG Name Vol00
LV UUID eMyjAZ-I0R1-2573-7nNv-FX77-I3jW-bOitZt
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2023-05-21 00:07:41 +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
今回、拡張するのは「/dev/Vol00/root」
論理ボリュームを拡張
# lvextend -l +100%FREE /dev/Vol00/root
Size of logical volume Vol00/root changed from 16.99 GiB (4350 extents) to <27.00 GiB (6911 extents).
Logical volume Vol00/root successfully resized.
論理ボリュームの確認
# lvdisplay /dev/Vol00/root
--- Logical volume ---
LV Path /dev/Vol00/root
LV Name root
VG Name Vol00
LV UUID V7rXfc-Ms9B-BA3Q-KIAb-fH9I-H8yd-Nd0Zd9
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2023-05-21 00:07:40 +0900
LV Status available
# open 1
LV Size <27.00 GiB
Current LE 6911
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
ルートファイルシステムの拡張
今回、ルートファイルシステムは「xfs」なので「xfs_growfs」コマンドを使う。
# xfs_growfs /dev/Vol00/root
meta-data=/dev/mapper/Vol00-root isize=512 agcount=4, agsize=1113600 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0 inobtcount=0
data = bsize=4096 blocks=4454400, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log 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 4454400 to 7076864
最終確認
# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 968M 0 968M 0% /dev
tmpfs 987M 0 987M 0% /dev/shm
tmpfs 987M 8.5M 978M 1% /run
tmpfs 987M 0 987M 0% /sys/fs/cgroup
/dev/mapper/Vol00-root 27G 2.0G 26G 8% /
/dev/sda1 1014M 153M 862M 16% /boot
tmpfs 198M 0 198M 0% /run/user/0
Discussion