Centos 7未割り当て領域のあるパーティションの拡張


14

CentOS 7サーバーを使用し(CentOS Linux release 7.3.1611 (Core))ていますサーバーを更新したときに、余分なスペースが必要なエラーが表示されました。しかし、サーバーに20GBのディスクがあり、4.5GBのパーティションのみが作成され、16GBのパーティションは未割り当ての空き領域がないことを確認しました。16GBの空き容量からパーティションを拡張するにはどうすればよいですか?

lsblk:

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0               2:0    1    4K  0 disk
sda               8:0    0   20G  0 disk
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0  4.5G  0 part
  ├─centos-root 253:0    0    4G  0 lvm  /
  └─centos-swap 253:1    0  512M  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom

ここに画像の説明を入力してください


do man lvmまたはtldp.org/HOWTO/LVM-HOWTO
alexus

回答:


20

作成する3つのステップがあります。

  1. sda2ディスクの終わりで終わるようにパーティションテーブルを変更します
  2. パーティションテーブルを再読み込みします(再起動が必要です)
  3. を使用してLVM pvのサイズを変更します pvresize

ステップ1-パーティションテーブル

を実行しますfdisk /dev/sdap現在のパーティションテーブルを印刷し、その出力を安全な場所にコピーする問題。今の問題はd続く22番目のパーティションを削除します。n新しい2番目のパーティションを作成する問題。開始が前に印刷したパーティションテーブルの開始と等しいことを確認してください。ディスクの最後にあることを確認してください(通常はデフォルト)。

問題がt続く2続く8e8Eに新しい第二パーティション(LinuxのLVM)のパーティションタイプを切り替えること。

問題は、p新しいパーティションレイアウトを見直し、旧第二のパーティションがあった場所を確認してください新しい第二パーティションの開始が正確であることを確認します。

すべてが正常に見える場合wは、パーティションテーブルをディスクに書き込むために発行します。(ディスクが使用中のため)パーティションテーブルを再読み取りできなかったというエラーメッセージがpartprobeから表示されます。

システムを再起動します

この手順は必要なので、パーティションテーブルを再読み込みします。

LVM PVのサイズを変更する

システムがリブートした後、invokeを実行しpvresize /dev/sda2ます。これで、物理LVMボリュームがドライブの残りの部分にまたがり、そのスペースに論理ボリュームを作成または拡張できます。


優れたソリューションであり、完全に機能します。まだ論理ボリュームを拡張する方法の一部のみ。
ミモウニ

この優れた答えは、フィニッシュラインの少し手前で止まりました!私はそれをどのように仕上げるかを考え出しました。質問で共有された例は2つの論理ボリュームを示しましたsda2centos-rootおよびcentos-swap。この場合、ボリュームグループはcentos、そのグループ内の二つの論理ボリュームがあるrootswapcentos-rootこの例のボリュームを、新しく拡張したsda2パーティションの使用可能なスペースの50%で拡張したい場合は、を使用しますlvextend -r -l +50%FREE /dev/centos/root-r拡張論理ボリュームに一致するように、基礎となるファイルシステムのサイズを変更します。
Shadoninja

@Shadoninjaは元の質問の範囲外です。それで、私はそれを追加しませんでした、そして、将来この質問にそれを追加しません。
アンドレアスロッジ

@AndreasRoggeこの分野の用語は混乱を招きやすく、混同しやすいため、この質問の範囲内に完全に収まっていると主張します。ファイルシステムで割り当てられていないディスク領域を使用できるようにする方法の完全な要約を投稿する価値があります。
Shadoninja

13

CentOS 7で再起動せずにこれを行うことができます。ディスクが/ dev / vdaおよび標準のRHEL / CentOSパーティションであると仮定します。

パーティションを拡張する

# fdisk /dev/vda

Enter pを押して、初期パーティションテーブルを印刷します。

d(delete)を入力し2て、既存のパーティション定義を削除します(パーティション1は通常/ bootで、パーティション2は通常ルートパーティションです)。

n(new)に続けてp(primary)を入力し、続いて2パーティション番号2を再作成しenter、開始ブロックenterを受け入れ、デフォルトでディスクの終わりに設定されている終了ブロックを受け入れます。

入力しtた後(タイプ)2、その後8eの「Linux LVM」に新しいパーティションの種類を変更します。

Enter pを押して新しいパーティションテーブルを印刷し、開始ブロックが上記の初期パーティションテーブルにあったものと一致することを確認します。

Enter wを押して、パーティションテーブルをディスクに書き込みます。Device or resource busy無視できるエラーが表示されます。

カーネルのメモリ内パーティションテーブルを更新する

パーティションテーブルを変更した後、次のコマンドを実行して、カーネルのメモリ内パーティションテーブルを更新します。

# partx -u /dev/vda

物理ボリュームのサイズを変更する

余分なスペースを認識するためにPVのサイズを変更します

# pvresize /dev/vda2

LVおよびファイルシステムのサイズ変更

このコマンドでcentosは、PV、rootLV、および/dev/vda2拡張されたパーティションです。物理ボリューム名と論理ボリューム名がわからない場合は、pvsand lvsコマンドを使用して確認してください。-rこのコマンドのオプションは、ファイルシステムのサイズを適切に変更するので、呼び出しresize2fsたりxfs_growfs個別に呼び出したりする必要はありません。

# lvextend -r centos/root /dev/vda2

「選択された答え」よりも複雑な答え!
ファーカット大学

これは素晴らしいです。ありがとうございました!これは受け入れられた答えであるはずです。lvおよびファイルシステムのサイズを変更する最後のステップがありませんでした!
Skinner927

4

私のような論理ボリュームの拡張に苦労している人にとって、この投稿を読むことは助けになるかもしれません。要約すると、あなたが使用することができますlvextend:あなたの論理ボリュームを拡張するために lvextend -l +<PE> <LV_PATH> 、あなたは、PE(残りの数を取得することができます<PE>によって)vgdisplayとあなたの論理ボリューム(のパスを取得するLV_PATH)ことによってlvdisplay

次に、ディストリビューションに応じてxfs_growfs <LV_PATH>(Centos 7)またはresize2fs <LV_PATH>最終的にサイズを変更します。


0

これを確認してください-単一行ですべて、質問なし:

parted —pretend-input-tty /dev/vda resizepart 2 100%;
partx -u /dev/vda; pvresize /dev/vda2;
lvextend -r centos/var /dev/vda2

説明と環境を追加することを検討する必要があります。たとえば、私のpartxにはオプションがありません-u(Centos6.7 util-linux-ng-2.17.2-12.28.el6)。
ブープ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.