GNU/Linux >> Linux の 問題 >  >> Linux

CentOS / RHEL :非 LVM デバイス (ハードディスク パーティション) 上の非ルート EXT3/4 ファイルシステムのサイズを変更 (縮小) します。

サイズ変更するファイルシステム上のすべてのデータをバックアップします

ファイルシステムとその下にあるデバイスのサイズ変更は危険であり、不適切に実行すると破壊される可能性があります。デバイスの再パーティション化も同様に破壊的であり、データが完全に失われる可能性があります。続行する前に、サイズ変更するファイルシステム/デバイスの内容をバックアップしてください。

ハードディスク パーティション (非 LVM) 上の非ルート ファイルシステムのサイズ変更 (拡張)

<強い>1.サンプル設定
この例では、デバイス /dev/sdb (20Gb) には 20Gb の単一のプライマリ パーティション (/dev/sdb1) と、パーティション全体にわたる EXT3/4 ファイル システム (/data) が含まれています。パーティションの最後とデバイスの最後の間にディスクの空き容量がありません。続行する前に、次のコマンドを実行します。後で使用するために出力を記録します。

# df -k /data
Filesystem          1K-blocks      Used Available Use% Mounted on
/dev/sdb1            20635700  10672240   8915224  55% /data
# cat /proc/partitions | grep sdb
   8     16  20971520 sdb
   8     17  20964793 sdb1
# fdisk -l /dev/sdb

Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 2610 20964793+ 83 Linux

<強い>2.サイズ変更するファイルシステムをアンマウント
サイズを変更する EXT3/4 ファイルシステムをアンマウントします。例:

# umount /data

<強い>3.ファイルシステム チェックを実行する
サイズ変更するファイルシステムのファイルシステムタイプ、つまり EXT3、EXT4 などを確認してください。

# blkid /dev/sdb1
/dev/sdb1: LABEL="/data" UUID="1fc0bbcd-ba86-40b6-b562-5da90fb0d7af" TYPE="ext3"

ファイルシステムのファイルシステムチェックを実行して、ファイルシステムタイプに対応するファイルシステムチェックユーティリティ (fsck.ext3、fsck.ext4) を使用するようにします。例:

# fsck.ext3 -fy /dev/sdb1
e2fsck 1.39 (29-May-2006)
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
data: 21/2621440 files (4.8% non-contiguous), 2750333/5241198 blocks

<強い>4.ファイルシステムのサイズを変更 (縮小) します
resize2fs ユーティリティを使用して EXT3/4 ファイルシステムを縮小し、パーティション内の使用スペースを減らします。以前に記録された df の出力を確認して、ファイルシステムをどれだけ縮小するかを決定します。 ETX3/4 ファイルシステムを、含まれる実際のデータ量よりも小さくしないようにしてください。

# df -k /data
Filesystem         1K-blocks      Used Available Use% Mounted on
/dev/sdb1           20635700  10672240   8915224  55% /data
# resize2fs /dev/sdb1 11G
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/sdb1 to 2883584 (4k) blocks.
The filesystem on /dev/sdb1 is now 2883584 blocks long.
注意 :resize2fs の実行時にサイズが指定されていない場合、ファイルシステムは、パーティション内の使用可能な/残りのスペースをすべて利用するように拡張されます。

<強い>4.ファイルシステム チェックを実行する
サイズ変更された EXT3/4 ファイルシステムのファイルシステム チェックを実行し、使用中のファイル システム タイプに対応するファイル システム チェック ユーティリティ (fsck.ext3、fsck.ext4) を使用するようにします。例:

# fsck.ext3 -fy /dev/sdb1
e2fsck 1.39 (29-May-2006)
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
data: 21/1441792 files (4.8% non-contiguous), 2712300/2883584 blocks

<強い>5.パーティションのサイズを変更 (縮小) します
上記のファイルシステム チェックの出力から、ファイル システムのサイズは 2883584 (* 4Kb) ブロックになりました。つまり:

# expr 2883584 \* 4096
11811160064 (bytes)

パーティションのサイズは、その中で現在使用されているファイルシステムのサイズよりも大きくする必要があります。したがって、パーティションは 12Gb 以上の安全な値にサイズ変更されます。つまり:

# expr 1024 \* 12
12288 (Mb)

fdisk コマンドを使用して小さいパーティションを削除してから再作成し、元のパーティションの開始ブロックを再利用するようにします。例:

# fdisk /dev/sdb

The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 2610 20964793+ 83 Linux

Command (m for help): d
Selected partition 1

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1): [enter]
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610): +12288M

Command (m for help): p

Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 1495 12008556 83 Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

この時点で、パーティションの末尾とデバイスの末尾の間のディスク領域が再利用可能になります。

<強い>6.パーティションのサイズ変更を確認
新しくサイズ変更されたパーティションがシステムに表示されることを確認します。例:

# cat /proc/partitions | grep sdb
   8    16   20971520 sdb
   8    17   12008556 sdb1

システムが新しいパーティション サイズの検出に失敗した場合は、サイズ変更されたデバイスに対して partprobe ユーティリティを実行します。例:

# partprobe /dev/sdb

7.ファイルシステム チェックを実行する
サイズ変更された EXT3/4 ファイルシステムのファイルシステム チェックを実行し、使用中のファイル システム タイプに対応するファイル システム チェック ユーティリティ (fsck.ext3、fsck.ext4) を使用するようにします。例:

# fsck.ext3 -fy /dev/sdb1
e2fsck 1.39 (29-May-2006)
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
data: 21/1441792 files (4.8% non-contiguous), 2712300/2883584 blocks

<強い>8.サイズ変更されたファイルシステムをマウントする
新しくサイズ変更された EXT3/4 ファイルシステムをマウントします。例:

# mount /data

9.ファイルシステムのサイズ変更を確認
dmesg、メッセージ ログ、df コマンド出力などを確認して、ファイル システムのサイズ変更が成功したことを確認します。例:

# df -k /data
Filesystem          1K-blocks     Used Available Use% Mounted on
/dev/sdb1            11353328 10668192    223764  98% /data
CentOS / RHEL :非 LVM デバイス (ハードディスク パーティション) の非ルート EXT3/4 ファイル システムのサイズ変更 (拡張)


Linux
  1. CentOS/RHEL でマルチパス デバイス上の ASM ディスクを削除する方法

  2. CentOS / RHEL :デバイスまたはファイルシステムの UUID を見つける方法

  3. 3 番目のディスクを追加して 3 方向ミラー RAID1 MD デバイスを作成する方法 (CentOS/RHEL 7)

  1. XFS ファイルシステム (CentOS/RHEL 7) で /boot パーティションのサイズを拡張する

  2. CentOS/RHEL で OS レベルから ASM ディスクを拡張する方法

  3. CentOS / RHEL 6 :ルート ディスク デバイスのボリューム グループ名を変更する方法

  1. CentOS / RHEL 5 :デバイス マッパー マルチパス (dm-multipath) を無効にする方法

  2. CentOS / RHEL :既存の物理ボリューム (PV) をリサイズ (拡張) する方法

  3. CentOS / RHEL :LVM デバイス上の非ルート EXT3/4 ファイルシステムのサイズ変更 (拡張)