ルートを拡大できます(/
)再起動せずに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ファイルシステムはオンライン拡張をサポートしています。
カーネルにパーティションテーブルの更新を強制する方法はありますか?
[〜#〜] edit [〜#〜]:LVMについては知っていますが、ではありませんこの質問への回答。
影響を受けるディスク上のすべてのパーティションをアンマウントするまで、カーネルは古い(キャッシュされた)パーティションテーブルを使用します。
システムの実行中は/パーティションをアンマウントおよびマウントできないため、再起動するしかありません。
次回はLVMを使用してみてください。これにより、パーティションテーブルを変更しなくても、ボリューム(ルートボリュームでも)のサイズを変更できます。
ファイルシステム、特に/のサイズをオンラインで変更するには、物理層と仮想層の間に何らかの形の抽象化が必要です。 LVM。
LVMでサイズ変更をライブで実行するには:
pvcreate /dev/sdX
vgcreate vg1 /dev/sdX
lvcreate Root -L10G
次に、ディスクがいっぱいになりそうになったときに、lvextend /dev/mapper/vg1-Root -L+10G --resizefs
を使用して、より多くのスペースを確保します。
http://linux.die.net/man/8/lvm のLVMについて読む
[〜#〜]編集[〜#〜]
キャッシュされているパーティションテーブルを更新するようカーネルに丁寧に依頼するには、partprobe
を試すことができますが、前述のように、すべてのファイルシステムを再マウントする必要があるため、動作するとは思いません。これは、起動しない限り困難です。ライブVMに。
[〜#〜]編集[〜#〜]
パーティションのサイズを変更することはできますが、fdisk
に表示されるサイズを記憶/書き留める必要があります。これは、誰にとっても非常に高度な手順です。これらの番号を取得したら、最初のサイズからパーティションを再作成してから、ディスクをいっぱいにします。 これは、パーティションがディスクの最後のパーティションである場合は簡単です。中間のパーティションのサイズを変更する必要がある場合は、確かに運が悪いです
私は顧客のために何度かそれをしましたが、それはやっかいで神経質な破壊作業です。 安全性とデータ保持のためにこの方法はお勧めしません。