しばらく前にウェブサーバーをセットアップして間違えました。私は以下を持っています:
/dev/md0 swap (made from sda1 and sdb1)
/dev/md1 /boot (made from sda2 and sdb2)
/dev/md2 / (made from sda3 and sdb3)
/dev/md3 /home (made from sda5 and sdb5)
(sda4とsdb4は拡張パーティションです)
RAIDのセットアップ中にタイプミスし(インストーラースクリプトを使用していました)、次のサイズになりました。
swap 10GB
/boot 500MB
/ 50GB
/home The Rest (About 1,8TB)
約80GBのファイルを/ var/wwwにアップロードし、転送が途中でクラッシュするまで、すべてが正常に機能しました。すべてがおかしくなりました。しばらくすると、MySQLサーバーをクラッシュさせる/パーティションを埋めただけで、/を小さくするのは馬鹿げていることにすぐに気付きました(または、少なくとも/ var/wwwを別のパーティションに配置する必要がありました)。さて、サーバーはかなり長い間使用されており、私は本当にすべてを再設定することに興味がありません。念のため、すべてをバックアップしましたが、ご存知のとおり、サーバーのセットアップは作業であり、バックアップの使用中にサーバーを既知の状態にセットアップするのはさらに作業が必要です。だから私は問題を解決したいと思います。
私が今やりたいことは次のとおりです。
だから、私の計画は次のとおりでした:
(これまでのところ、これまでのすべてが機能しました)
私は今、立ち往生しています。 6:レイドが縮小され、/ dev/md3のサイズは約1TBで、すべてが完全に正常ですが、パーティション/ dev/sda5と/ dev/sdb5はまだ古いサイズです。 w何が恋しかった?パーティションはmdで縮小されるべきではありませんか?レイドを壊さずにそれらを縮小するにはどうすればよいですか?
RAIDを縮小しても、パーティションは縮小されません。手動で行う必要があります。
MD RAIDの最初にRAIDスーパーブロックが含まれている可能性があるため、これは100%簡単ではありませんOR最後に)。
RAIDスーパーブロックが最初(バージョン1以降)にある場合は、簡単なはずです:fdisk
または選択して削除するツール(はい:削除を意味します)sda5
開始ブロックに注意した後次に、同じ開始ブロックと十分なスペースで再作成します。その後、残りのスペースにsda6
を作成できます。 sdb
でプロセスを繰り返す前に、再起動してすべてが計画どおりに機能することを確認することをお勧めします。
RAIDスーパーブロックが最後(バージョン0.9)にある場合、状況は非常に乱雑になります。mdadm --detail
、次にmdadm --stop
、最後にmdadm --create ... --metadata=1.0
を使用して、デバイスの先頭に移動し、次に、上記のように進めます。
[〜#〜]編集[〜#〜]
私は(私が間違って明確だと思っていたので)最初にmdadm --stop ...
する必要があることを指摘しませんでした:終了すると、fdisk
はカーネルにパーティションテーブルを再読み込みするように指示します。最新ではないとして襲撃の。
残念ながら、これは難しいようです。 MDブロックデバイスは、基盤となるディスク上のパーティション(およびこれらのディスクは適切なサイズである必要があります)と連続したスペースブロックを使用します。
注:この種のディスク操作は危険です。最初にバックアップします。
ホームディレクトリはwwwディレクトリの後にあるため、縮小するとディスクの最後のスペースが解放されますが、ディスクの最初にスペースが必要です。 gpartedを使用して/ sda3、sda5、sdb3、およびsdb5をディスクの最後に移動できる場合がありますが、そのツールにはあまり運がありませんでした。
私がそれを行う方法(以下の理由で最初から始めない場合)は、fdiskを使用して/ homeを一時的に/ wwwに(またはすでに大きすぎる場合は外部ストレージに)移動し、sda3,5とsdb3,5を削除します。 sda2とsdb2を削除し、同じ開始ブロックで再作成しますが、後で終了ブロックでパーティションタイプを設定して(RAIDの場合はfdに)、sda3,5とsdb3,5(または単にsdb3-)を再作成します。残りのスペースで4つ以上のパーティションが必要です。
この後、RAIDを再起動して拡張し、md3、/ homeを再作成して、データをコピーして戻します。 fstabも変更する必要があります。
そうは言っても、私は2つのRAIDパーティションだけを使用してやり直すことを真剣に検討したいと思います。小さなパーティションはブート用で、大きなパーティションは他のすべてのものです。次に、大きなRAIDパーティションの上でLVMを使用して、/ www、/ homeなどのブロックに分割します。LVMを使用すると、基盤となるジオメトリに関係なくパーティションのサイズを変更したり、ディスクを追加したり、スナップショットを作成したりできるなど、柔軟性が高くなります。 。