Oracle Linuxパーティションを拡張できません。

Oracle Linuxパーティションを拡張できません。

sda3以下に示すパーティションをsda拡張するのが困難です100G。私のディストリビューションがOracle Linuxであるかどうかわからず、RHELで動作する他のサイトですべてのソリューションを試しています。

[root@localname bin]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk
├─sda2   8:2    0    8G  0 part [SWAP]
├─sda3   8:3    0 38.4G  0 part /
└─sda1   8:1    0  200M  0 part /boot/efi

しかし、まだ何も見つからなかったので、ここから直接コミュニティに助けを求めたいと思います。パーティションをsda3実際に保持できる最大容量まで拡張するのに役立つ人はいますかsda

Fdisk出力:

[root@localname bin]# fdisk -l
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes
Disk label type: dos
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1    97677311    48838655+  ee  GPT
Partition 1 does not start on physical sector boundary.

各デバイスで個別に実行されるFDISKは関連情報を提供しますが、fdisk全体は上記のように最初のパーティションの詳細のみを表示します。

[root@localname bin]# fdisk -l /dev/sda2

Disk /dev/sda2: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes

[root@localname bin]# fdisk -l /dev/sda3

Disk /dev/sda3: 41.2 GB, 41209036800 bytes, 80486400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes

答え1

fdiskパーティションがIDフィールドに表示されるたびに、ee実際のパーティションタイプがGPTであり、このバージョンではこれをサポートしていないことを示します。パーティションIDコードは、eeすべてのGPTパーティションディスクに存在する仮想MBRパーティションエントリです。これを変更しても、実際のGPTパーティションテーブルには影響しません。

この場合、代わりにまたはpartedを使用する必要があります。gdiskfdisk

実行するfdisk -l /dev/sda2と、fdisk -l /dev/sda3意味のない結果のみが生成されます。なぜなら、これらのコマンドはそのパーティションの最初のブロックを読み取り、それをパーティションテーブルとして解釈するからです。ここに適用される変更は、物理パーティション表には影響しません。

覚えておいてください:ディスクパーティションで動作するすべてのコマンドは、常に物理パーティションテーブルを含むデバイスをターゲットにする必要があります。これはほぼ常にフルディスクデバイスです。

3番目のパーティションは、物理的に他のすべてのパーティションの背後にある場合にのみ拡張できます。通常、オペレーティングシステムのインストールメディアからシステムをリカバリモードで起動するか、別のライブLinuxブートメディアを使用する方が良いですが、はいディスクの使用中にパーティションテーブルを変更できます。 3つの制限があります。

  • 保持したいパーティションの始点のディスク位置を変更しないでください。
  • ファイルシステムの現在のサイズより小さいパーティションを作成しないでください。
  • 現在使用しているディスクに変更を適用するには、コマンドを頻繁に使用または再起動する必要がpartprobeあります。 GPTがわからない場合、fdiskこれはおそらくシステムがRHEL / OEL 6.x以下であることを示します。これは、ディスクの使用中にパーティションツールがパーティション変更をすぐに適用できない可能性があることを意味します。

以下を使用して3番目のパーティションを拡張するために必要なコマンドparted

# parted /dev/sda
(parted) print      

<read the output to confirm that the third partition is physically the last one>

(parted) resizepart 3 100%
(parted) quit

次に、/proc/partitionsカーネルが3番目のパーティションの新しいサイズを認識したことを確認します。それ以外の場合は、実行してpartprobe /dev/sdaもう一度確認してください。それでも認識されない場合は、再起動が必要な場合があります。

で新しいパーティションサイズが識別されたら、/proc/partitionsパーティション内のファイルシステムを拡張する必要があります。 RHEL / OEL 6.xは通常のツールを使用するには古すぎる可能性があるため、これはファイルシステム固有のツールを使用して実行する必要がありますfsadm。これらのシステムのファイルシステムタイプは、そのため使用するツールになるext4ことresize2fsができます。したがって、次のコマンドを実行します。

resize2fs /dev/sda3

df新しいサイズはコマンドにのみ表示されます。ファイルシステムサイズが変更されました。

答え2

Oracleには、検索中にこの問題を解決するユーティリティがあります。 「しないでください」umountまたはパーティションを確認してください。/proc/partitions

以下は2つの便利なリンクです:

https://docs.oracle.com/en-us/iaas/Content/Compute/References/ociutilities.htm#OCI_Utilities

https://docs.oracle.com/en-us/iaas/Content/Compute/References/oci-growfs.htm#ocigrowfs

関連情報