容量が不足している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が96GBであることを示しています。これは、物理ボリュームを参照する必要があります。つまり、以下の表には、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のようです(システムを使用できるように、ファイルをいくつか削除しただけです)。ディスク容量の増加に基づいてサイズを増やすにはどうすればよいですか?
前もって感謝します
余分なディスク領域が表示されない理由は、(拡張した)ディスクとオペレーティングシステムの使用可能な領域の間に複数のレベルが関係しているためです。
これらの各層には、ディスク領域の増加について通知する必要があります。
LVMを使用しているため、2つのアプローチがあります。 Rui 's answer (十分に近い—新しいディスクの追加について説明していますが、新しいプライマリパーティションを追加できます)で説明されているように、新しいパーティションを追加して使用できます。同じ方法で既存のディスクに追加されたスペースを使用します)。代わりに、既存のパーティションを拡張することもできます...
レイヤーを見ていきましょう:
パーティション:パーティションを拡張するには、gparted
やプレーンなfdisk
などのグラフィカルツールを使用できます。
fdisk /dev/sda
既存のパーティションとそのコンテナーを削除し、開始セクターをメモします。
p
(これにより、パーティションテーブルが出力され、後で再度必要になる情報が提供されます)
d
5
d
2
これはデータを削除せず、マーカーを削除するだけです(いずれの場合も、fdisk
に書き込むように指示しない限り、ディスク上で何も変更されません)。新しい拡張パーティションを作成します。
n
e
デフォルトのパーティション番号を受け入れます。最初のセクターについては、fdisk
が以前にsda2
に使用したものと同じ開始セクターを使用していることを確認してください(この場合は1001470)。最後のセクターの場合、fdisk
は自動的に可能な最大値を選択します(必要なすべてのディスク領域を使用します)。内部に新しい論理パーティションを作成します。
n
l
ここでも、開始セクター(この場合は1001472)を確認し、すべてのディスク領域を使用します。
w
変更をディスクに書き込みます。使用中にパーティションを変更したため、この時点で再起動する必要があります。
LVM:新しいディスクスペースについてLVサブシステムに通知する必要があります。これを行うには、最初にパーティションを占める物理ボリュームを拡張します。
pvresize /dev/sda5
次に、論理ボリューム
lvresize -r -l 100%PVS /dev/mapper/webserver--vg-root
ファイルシステム:これは簡単です。上記のlvresize
の-r
オプションは、fsadm
というツールを使用して処理しました。
重要な注意:パーティションを台無しにする数時間前に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
これからは、webserver--vgだと思います
パーティションをボリュームグループに追加します。
vgextend webserver--vg /dev/sdb1
次に、を使用してサイズを変更できます(リアルタイム、リファレンスのチュートリアルのようにlvextend +サイズ変更を行うよりも優れています)
lvextend -r -l+100%FREE /dev/vg/webserver--vg-root
追伸これは、パーティションを削除せずに、@ Stephen Kittへの代替ルートです。これは、ディスクを拡張するのに十分な柔軟性があり、手順はそれほど複雑ではありません。欠点は、時間の経過とともに、ファイルシステムの拡張時にファイルシステムの管理がより複雑になることです。現状では、この手順は多くの場合、物理マシンを対象としています。 2番目のディスクでLVMパーティションを拡大します。
参照:
Linuxシステムを再起動せずにパーティションテーブルを再読み取り
LVM(論理ボリューム管理)を管理および使用する方法
関連する質問:
ディスクが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 $