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

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

ファイルシステムのサイズ変更 (拡張) の実現可能性

ファイルシステムのサイズを変更する前に、EXT3/4 ファイルシステムが存在する基盤となるデバイス (この場合はパーティション) を最初にサイズ変更する必要があります。したがって、ファイルシステムのサイズ変更が可能かどうかを判断するために、基本的なデバイスのサイズ変更の実現可能性を最初に確立する必要があります。
次の条件/シナリオにより、EXT3/4 ファイルシステムのサイズ変更 (拡張) が可能になります:

<オール>
  • EXT3/4 ファイル システムはデバイス/パーティション上にありますが、パーティション内のスペース全体を完全に占有しておらず、ファイル システムの最後とパーティションの最後の境界の間に十分なディスク スペースが存在します。
  • EXT3/4 ファイル システムは、パーティション スペース全体を占有するデバイス/パーティション上にありますが、ファイル システム パーティションの終了境界の直後のディスク/デバイス上に十分な連続した空きブロックが存在し、
    • 次のパーティションの開始境界または
    • ディスク/デバイス全体の終わり)
  • サイズ変更するファイルシステム上のすべてのデータをバックアップします

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

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

    <強い>1.サンプル設定
    この例では、デバイス /dev/sdb (20Gb) には 11Gb の単一のプライマリ パーティション (/dev/sdb1) と、パーティション全体にわたる EXT3/4 ファイル システム (/data) が含まれています。
    およそパーティションの最後とデバイスの最後の間に 9Gb の空きディスク容量があります。

    # df -k /data
    Filesystem          1K-blocks      Used Available Use% Mounted on
    /dev/sdb1            11353328  10668192    223764  98% /data
    # cat /proc/partitions | grep sdb
       8    16   20971520 sdb
       8    17   12008556 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 1495 12008556 83 Linux

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

    # umount /data

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

    # 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/1441792 files (4.8% non-contiguous), 2712300/2883584 blocks

    <強い>4.パーティションのサイズ変更 (拡張)
    この手順では、パーティションの最後とデバイスの最後の間に空きディスク容量があることを前提としています。空きディスク容量が利用できない場合は、より大きなパーティションを再作成する前に、ストレージ管理者に基盤となるデバイスを拡大/拡張してもらいます。 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 1495 12008556 83 Linux
    
    Command (m for help): d       ### this step deletes the partition
    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): [enter]
    Using default value 2610
    
    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): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.

    <強い>5.パーティションのサイズ変更を確認
    新しく作成された大きなパーティションをシステムが認識できることを確認します。例:

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

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

    # partprobe /dev/sdb

    <強い>6.ファイルシステムのサイズ変更 (拡張)
    resize2fs ユーティリティを使用して EXT3/4 ファイルシステムを拡張し、パーティション内の追加スペースを利用します。例:

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

    <強い>6.ファイルシステム チェックを実行する
    サイズ変更された 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/2621440 files (4.8% non-contiguous), 2750333/5241198 blocks

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

    # mount /data

    <強い>8.ファイルシステムのサイズ変更を確認
    dmesg、メッセージ ログなどを確認して、ファイル システムのサイズ変更が成功したことを確認します。例:

    # df -h /data
    Filesystem         Size Used Avail Use% Mounted on
    /dev/sdb1           20G  11G  9.0G  54% /data
    CentOS / RHEL :非 LVM デバイス (ハードディスク パーティション) 上の非ルート EXT3/4 ファイルシステムのサイズを変更 (縮小) します


    Linux
    1. CentOS / RHEL :既存のルート ファイルシステムを LVM パーティションに変換する

    2. CentOS / RHEL :LUKS 暗号化デバイスを削除する方法

    3. CentOS / RHEL :LVM のボリューム グループ (VG) に物理ボリューム (PV) を追加する方法

    1. CentOS/RHEL で tmpfs ファイルシステムを作成する方法

    2. Linux でパーティションベースのファイルシステムのサイズを変更 (拡張) する方法

    3. Linux および ext3/4 で raw デバイスのオフセットから i ノード/ファイルを逆引きしますか?

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

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

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