仮想ディスクのサイズを変更した後にアクティブパーティションのサイズを大きくする方法は?

仮想ディスクのサイズを変更した後にアクティブパーティションのサイズを大きくする方法は?

スペース不足のWebサーバーを実行しています。 VMware ESXで仮想マシンとして実行されており、ハードドライブのサイズを2倍にしました。

Disk /dev/sda: 96 GiB, 103079215104 bytes, 201326592 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x51f6b050

Device     Boot   Start       End  Sectors  Size Id Type
/dev/sda1  *       2048    999423   997376  487M 83 Linux
/dev/sda2       1001470 100661247 99659778 47.5G  5 Extended
/dev/sda5       1001472 100661247 99659776 47.5G 8e Linux LVM

dev/sda は 96 GB と表示されます。これは物理ボリュームを参照する必要があります。これは、下の表にsda1、sda2、sda2の3つのパーティションがあることを意味します。

ただし、DFコマンドを実行すると、次の結果が表示されます。

Filesystem                     1K-blocks     Used Available Use% Mounted on
udev                             4068132        0   4068132   0% /dev
tmpfs                             817508     9312    808196   2% /run
/dev/mapper/webserver--vg-root  44762192 35857748   6607612  85% /
tmpfs                            4087524        0   4087524   0% /dev/shm
tmpfs                               5120        0      5120   0% /run/lock
tmpfs                            4087524        0   4087524   0% /sys/fs/cgroup
/dev/sda1                         482922   152390    305598  34% /boot
tmpfs                             817508        0    817508   0% /run/user/1000

パーティションではない場合、パーティションは何ですか?問題は/dev/mapper/webserver--vg-rootのようです(システムを使用するためにいくつかのファイルを削除しました)。ディスク容量が増えるにつれて、サイズをどのように増やすことができますか?

事前にありがとう

答え1

追加のディスク容量が表示されないのは、ディスク(拡張)とオペレーティングシステムで利用可能なスペースの間に複数のレベルが関連しているためです。

  • ディスク自体
  • ディスクのパーティション(単一ディスクをさまざまな目的に使用できます)
  • LVM(論理ボリューム管理、ディスク容量管理を容易にします)
  • ファイルシステム(パーティションまたは論理ボリュームのファイルストアの管理)

これらの各層はディスク容量の増加を認識する必要があります。

LVMを使用しているので、2つの方法があります。新しいパーティションを追加し、次の説明に従って使用できます。鋭い~の回答(十分に近いです。これは新しいディスクの追加について説明しますが、同じ方法で既存のディスクに追加されたスペースを使用するために新しいプライマリパーティションを追加できます。)既存のパーティションを拡張することもできます。

レイヤー別に見てみましょう。

  1. ディスク自体:完了しました。
  2. パーティション:パーティションを拡張するには、gpartedまたは一般などのグラフィックツールを使用できますfdisk

    fdisk /dev/sda
    

    既存のパーティションとそのコンテナを削除し、開始セクタをメモします。

    p
    

    (これによりパーティションテーブルが印刷され、後で必要な情報が提供されます。)

    d
    5
    d
    2
    

    これは、データを削除せずに表示のみを削除します(とにかく書き込みを指示しfdiskない限り、ディスクでは何も変更されません)。新しい拡張パーティションを作成します。

    n
    e
    

    デフォルトのパーティション番号を受け入れます。最初のセクターの場合は、以前fdiskに使用したものと同じ開始セクターsda2(あなたの場合は1001470)を使用する必要があります。最後のセクタでは、fdisk可能な最大値が自動的に選択されます(必要なすべてのディスク領域を使用)。内部に新しい論理区画を作成します。

    n
    l
    

    開始セクター(あなたの場合は1001472)を再確認し、すべてのディスクスペースを使用してください。

    w
    

    変更がディスクに書き込まれます。使用中にパーティションを変更したため、この時点で再起動する必要があります。

  3. LVM:新しいディスク容量についてLVサブシステムに通知する必要があります。まず、パーティションを占める物理ボリュームを拡張してこれを実行します。

    pvresize /dev/sda5
    

    その後、論理ボリューム

    lvresize -r -l 100%PVS /dev/mapper/webserver--vg-root
    
  4. ファイルシステム:上記の-rオプションは非常に簡単lvresizeですfsadm

答え2

ディスクがGPTを使用している場合、partedはこの問題を解決する良い方法です。

例:

sudo parted
(parted) select /dev/sda
Using /dev/sda
(parted) mkpart
Partition type?
primary File system type? [ext2]?
Start? 1
End? 10000
(parted) quit
cro@mac-mini-Ubuntu $

答え3

重要:パーティションを操作する数時間前にVMのスナップショットを撮ることをお勧めします。 VMWareのスナップショットは、修正時にしばしば間違っています。まもなく仕上げ後。

最も簡単な方法は、新しいディスク、新しいプライマリパーティションを作成し、それをボリュームグループに追加することです。

fdiskを使用して新しいパーティションを作成する必要があります。

次に、新しいディスクに新しいパーティションを作成します(または既存のディスクのパーティション1の代わりに/ dev / sdaとパーティション3 - / dev / sda)。

sudo fdisk /dev/sdb
n         -- new 
p         -- primary
(accept all defaults with ENTER)

パーティションタイプの変更:

t
1
8E         -- Linux LVM

それを書いてください:

w        
q

(この時点で生成されたものと仮定します/dev/sdb1。他のものであれば、vgextend以下で交換してください。)

システムによっては、この時点で再起動するように求められます。再起動するか、次を実行できます。

partprobe

該当するコマンドがない場合は、以下を使用してインストールします。

sudo apt-get install parted

ボリュームグループ(VG名)の内容を確認してください。

vgdisplay

これから私はそれがWebサーバーであると仮定します--vg

ボリュームグループにパーティションを追加します。

vgextend webserver--vg /dev/sdb1

その後、(リアルタイムで参照チュートリアルのlvextend + resizeよりも良い)を使用してサイズを変更できます。

lvextend -r -l+100%FREE /dev/vg/webserver--vg-root

PS これはパーティションを削除せずに@Stephen Kittの代替パスです。ディスク拡張に十分柔軟性があり、プロセスが複雑すぎません。欠点は、ファイルシステムを拡張すると、時間が経つにつれてファイルシステムの管理がより複雑になることです。実際、このプロセスは通常、2番目のディスクでLVMパーティションを増やすなど、より物理的なシステム指向です。

引用:

Linuxシステムを再起動せずにパーティションテーブルを再読み込みします。
論理ボリューム管理(LVM)の管理と使用方法

関連質問:

LVMルートの成長

関連情報