再起動せずに/パーティションを拡大できますか?

再起動せずに/パーティションを拡大できますか?

/再起動せずにルート()パーティションを拡張できますfdisk(削除して同じ最初のセクタで再作成しますが、最後のセクタが大きくなります)。

しかし、カーネルを作成することはできません。パーティションテーブルの再読み込み:

# partx -va /dev/vda
partx: /dev/vda: adding partition #5 failed: Device or resource busy
partx: /dev/vda: error adding partition 5

# kpartx -va /dev/vda
device-mapper: reload ioctl on vda5 failed: Invalid argument
add map vda5 : 0 41492480 linear 0:0 2048

# hdparm -z /dev/vda
/dev/vda:
 re-reading partition table
 BLKRRPART failed: Device or resource busy

# sfdisk -R /dev/vda
BLKRRPART: Device or resource busy
This disk is currently in use.

私が何をしているのか知っています。パーティションのextファイルシステムは、オンライン拡張をサポートします。

カーネルにパーティションテーブルの更新を強制する方法はありますか?

編集する:LVMについて知っていますが、いいえこれは質問に対する答えです。

答え1

カーネルは、影響を受けるディスク上のすべてのパーティションをアンマウントするまで、古い(キャッシュされた)パーティションテーブルを使用します。

システムの実行中に/パーティションをアンマウントしてマウントできないため、唯一のオプションは再起動です。

パーティションテーブルを変更せずにボリューム(ルートボリュームを含む)のサイズを変更できるので、次にLVMを試してください。

答え2

オンラインでファイルシステムのサイズを変更するには(特に/)、LVMなどの物理層と仮想層間の抽象化が必要です。

リアルタイムのサイジングに LVM を使用するには、次のようにします。

pvcreate /dev/sdX
vgcreate vg1 /dev/sdX
lvcreate Root -L10G

その後、次回ディスクがほぼいっぱいになったとき、lvextend /dev/mapper/vg1-Root -L+10G --resizefsより多くのスペースを確保するようになります!

LVMについて読むhttp://linux.die.net/man/8/lvm

編集する

カーネルにキャッシュされたパーティションテーブルを更新するように慎重に要求することを試みることができますが、partprobe 前述のようにすべてのファイルシステムを再マウントする必要があるため、うまくいきません。これは、ライブVMで起動しない限り難しいです。

編集する

パーティションのサイズを変更できますが、これを行うには、見えるサイズを覚えておく必要があります。fdiskこれはすべての人にとって非常に高度なステップです。この数を取得したら、開始サイズでパーティションを再作成してディスクを埋めることができます。 パーティションがディスクの最後のパーティションであれば簡単です。中間パーティションのサイズを変更する必要がある場合は、確かに幸運ではありません。

私は顧客のために何度も試しましたが、それはひどくて気になることです。 セキュリティとデータ保存の理由から、この方法はお勧めできません。

関連情報