web-dev-qa-db-ja.com

ディスクの使用中にパーティションを再作成しますか?

密接に関連する2つの質問があるので、それらを1つのSF質問にまとめます。

質問1

ダウンタイムを最小限に抑える必要のあるLinux(debian)サーバーがあります。ディスクには2つのパーティションがあり、1つは/(ext3)そして1つはスワップです。移動したい/homeもともとは何らかの理由で、すべてを1つのパーティションにまとめて構築されていたため、独自のパーティションに。ただし、ディスクのサイズを変更して新しいパーティションを作成するために、マシンを数分間停止させたくありません。

サイズを変更することはできますか/使用中ですか?

質問2

最終的にはこの同じサーバーを再インストールしたいと思います。もう一度、ダウンタイムなしで。質問1の回答を使用してディスクのサイズを変更したら、元のシステムがまだオンラインのときに、どういうわけか新しいパーティションにインストールできますか。したがって、新しいOSを再起動して、古いOSパーティションを削除し、新しいパーティションのサイズを変更して、古い削除パーティションのスペースを引き継ぐことができます。

このやや奇妙な質問への回答に感謝します。残念ながら、私はこの特定のプロジェクトのサーバーが少し不足しています。残念ながら、これはできないと思いますが、結論を出す前に確認するのが最善だと思いました。

いくつかのメモと質問:

  • おそらく、ネットワークでホストされているカーネルを何らかの方法で起動することで解決策が考えられますか?
  • 2番目のディスクは使用できません。残念ながら、このマシンは非常に柔軟性のないホスティングプロバイダーにあります。
  • スワップを一時的に取り除くことでこれが可能になりますか?それは私に2GBのパーティション化されていないスペースを与えて遊ぶでしょう。
5
Adam Gibbins

質問1:

いいえ。frommanresize2fs「ファイルシステムがマウントされている場合、カーネルがオンラインサイズ変更をサポートしていると仮定すると、マウントされたファイルシステムのサイズを拡張するために使用できます。」

質問2:

はい、chrootを使用して実行中に別のパーティションにインストールできます。

追加のディスクを購入します。または、物理的なアクセス権がない場合は、オンライン中に別のサーバーにデータを移行してから、すばやく切り替えます。

編集への回答:

はい、ネットワークで何かを行うための追加のオプションがあり、ダウンタイムを減らすのに役立ちます。それはあなたのサーバーが何をしているか、そしてあなたがどんなオプションを持っているかに正確に依存します。両方がオンラインのときにデータを別のサーバーに移動する一般的な解決策を示しました。サーバー1を停止し、サーバー2を起動してサーバー1が行っていたことを実行します。サーバー1を修正してから、同じ方法でサーバー1に戻ります。

ネットワークがなければ、スワップオフを実行し、chrootを使用してスワップにLinuxをインストールし、再起動するか、kexecで何かを試し、他のパーティションをすばやく縮小して新しいパーティションを追加することができます。

2
Ian Kelling

新しいホスティングプロバイダーを手に入れましょう。 Ianがすでに回答したように、マウントされたext3ファイルシステムを縮小することはできませんが、スペースができたら、chrootで(debootstrapを使用して)再インストールし、再起動して切り替えることができます。

スワップを削除すると、パート2のスペースを確保できる可能性があります。スワップパーティションに再インストールする必要があるものをすべて絞り込める場合は、そのパーティションを起動し、現在のルートパーティションをいじって少し小さくし、/home、新しく解放されたスペースに新しいスワップパーティションを作成し、そこから続行します。

必要となるダウンタイムと、何かを台無しにして大きな混乱を引き起こす可能性を考えると、すべてを行うための時間のコスト(台無しになった場合のクリーンアップに必要なコストを含む)は言うまでもありません。何よりもまず、ホスティングの状況を修正します。あなたがcan本当にしなければならないのなら、あなたが役に立たない供給者によってそれをすることを強制されるべきであるという意味ではありません。

ああ、そして次回は、LVMを試して、必要なときにだけスペースを割り当ててください。 ext3のオンライン拡張は天の恵みです。

2
womble