スペース不足の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つの方法があります。新しいパーティションを追加し、次の説明に従って使用できます。鋭い~の回答(十分に近いです。これは新しいディスクの追加について説明しますが、同じ方法で既存のディスクに追加されたスペースを使用するために新しいプライマリパーティションを追加できます。)既存のパーティションを拡張することもできます。
レイヤー別に見てみましょう。
- ディスク自体:完了しました。
パーティション:パーティションを拡張するには、
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
ファイルシステム:上記の
-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)の管理と使用方法
関連質問: