注意 :ディスク パーティション上のファイル システムのサイズ変更は危険であり、データが失われる可能性があります。以下に概説する手順を実行する前に、バックアップが作成されていることを確認してください。
注意
1. サイズを変更するファイルシステムは、ディスクの最後のパーティションに存在する必要があります。この場合、実際のデータを破壊せずにパーティションを再作成するため、データの損失はありません。
2.最後のパーティションでない場合は、データを破棄して、必要なサイズで新しいパーティションを再作成する必要があります。
パーティションベースのファイルシステムの拡張
1. まず、ファイルシステムの既存のサイズを確認してください。
# # df -hP /data01 Filesystem Size Used Avail Use% Mounted on /dev/nvme1n1p1 1014M 33M 982M 4% /data01
# mount | grep -w data01 /dev/nvme1n1p1 on /data01 type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
上記の「mount」コマンドの出力から確認できるように、パーティションのファイルシステムは「xfs」です。
2.「parted」コマンドを使用して、パーティションの詳細とディスクの詳細をメモします。以下のコマンドでは、パーティション名ではなくディスク名を指定してください:
# parted /dev/nvme1n1 u s p Model: NVMe Device (nvme) Disk /dev/nvme1n1: 4194304s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 2048s 2099199s 2097152s primary xfs
上記の出力から、パーティション サイズ (2099199s) がディスク サイズ (4194304s) より小さいことがわかります。したがって、パーティションを増やす余地があります。
3. 最初にファイルシステムをアンマウントします。
# umount /data01
4. ファイルシステム「/data01」を持つパーティションを削除します。
# parted /dev/nvme1n1p1 rm 1 Information: You may need to update /etc/fstab.
パーティションが削除されているかどうかを確認します。ディスクには 1 つのパーティションしかなかったので、今はパーティションは表示されないはずです。
# parted /dev/nvme1n1 u s p Model: NVMe Device (nvme) Disk /dev/nvme1n1: 4194304s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags
5. 次に、より大きなサイズでパーティションを再作成します。ステップ 2 の開始セクタ、つまり 2048s に注意してください。パーティションを 1GB から 1.5GB に増やします。
# parted -s /dev/nvme1n1 mkpart primary 2048s 1.5G
新しいパーティション サイズを再度確認してください。
# parted /dev/nvme1n1 u s p Model: NVMe Device (nvme) Disk /dev/nvme1n1: 4194304s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 2048s 2930687s 2928640s primary
6. 新しく作成したパーティションで fsck を実行する必要があります。また、ファイルシステムは既にパーティションに存在するため、ここではファイルシステムを作成しないことに注意してください。 XFS ファイルシステムを使用しているため、「e2fsck」の代わりに「xfs_repair」コマンドを使用してください。
# xfs_repair /dev/nvme1n1p1 Phase 1 - find and verify superblock... bad primary superblock - bad magic number !!! attempting to find secondary superblock... .................................................................................................................................................................................................................................................found candidate secondary superblock... verified secondary superblock... writing modified primary superblock sb realtime bitmap inode 18446744073709551615 (NULLFSINO) inconsistent with calculated value 65 resetting superblock realtime bitmap ino pointer to 65 sb realtime summary inode 18446744073709551615 (NULLFSINO) inconsistent with calculated value 66 resetting superblock realtime summary ino pointer to 66 Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... sb_icount 0, counted 64 sb_ifree 0, counted 61 sb_fdblocks 259568, counted 259560 - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 - agno = 1 - agno = 2 - agno = 3 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 1 - agno = 2 - agno = 3 Phase 5 - rebuild AG headers and trees... - reset superblock... Phase 6 - check inode connectivity... - resetting contents of realtime bitmap and summary inodes - traversing filesystem ... - traversal finished ... - moving disconnected inodes to lost+found ... Phase 7 - verify and correct link counts... Note - stripe unit (0) and width (0) were copied from a backup superblock. Please reset with mount -o sunit=,swidth= if necessary done
7. 「xfs_growfs」コマンドを使用して、ファイルシステムを拡張します。また、このコマンドを実行する前に、ファイルシステムをマウントする必要があります。そうしないと、以下のエラーが発生します:
# xfs_growfs /dev/nvme1n1p1 xfs_growfs: /dev/nvme1n1p1 is not a mounted XFS filesystem
# mount /dev/nvme1n1p1 /data01
# xfs_growfs /dev/nvme1n1p1 meta-data=/dev/nvme1n1p1 isize=512 agcount=4, agsize=65536 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=262144, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 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 262144 to 366080
8. マウント ポイントの新しいサイズを確認します。
# df -hP /data01 Filesystem Size Used Avail Use% Mounted on /dev/nvme1n1p1 1.4G 33M 1.4G 3% /data01