複数のドライブを1つのボリュームにまとめる


0

現在3台のSSDドライブを搭載した専用サーバーがあります。私たちは、実際には1台のドライブにOSを展開しており、残りの2台は現在使用されていないことに気付きました。ただし、このディスクはほぼいっぱいです。

/dev/md2         91G   83G  3.0G  97% /home

ここでの論理的な解決策は、3つすべてのドライブの容量(3 x 120 GB)を組み合わせて、それらを1つのボリュームにすることです。これを行うための最良の方法は何ですか?

残念ながら、OSの再インストールなどは今のところオプションではありません。

サーバーはUbuntu 14.04.5 LTSを実行しています。私はLVMを見つけましたが、これが最善の解決策であるかどうかはまだわかりません。

要求どおり:

root@hv01:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        20G  2.5G   16G  14% /
devtmpfs         16G  4.0K   16G   1% /dev
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            3.2G  572K  3.2G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             16G   24K   16G   1% /run/shm
none            100M     0  100M   0% /run/user
/dev/md2         91G   84G  2.6G  98% /home

root@hv01:~# cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]     [multipath] [faulty] 
md1 : active raid1 sdc1[2] sda1[0] sdb1[1]
  20478912 blocks [3/3] [UUU]

md2 : active raid1 sdc2[2] sda2[0] sdb2[1]
  96211904 blocks [3/3] [UUU]

unused devices: <none>

マイナス投票の理由を説明してください。
William Edwards

ドライブをRAID-0にして、その後OSを再インストールしてください。ああ再インストールすることはできません。
Alex

@アレックス間違っていたら私を訂正してください、しかしRAID 0は2台までのドライブをサポートしませんか?
William Edwards

最小2ドライブです。
Alex

と言っていますあなたが言ったようにそれは選択肢ではないでしょうがあなたの助けをありがとう。
William Edwards

回答:


0

/proc/mdstat あなたはあなたのOS(md1)とHome(md2)のために3方向ミラーセット(RAID1)を作成したことを明らかにします。これにより十分な冗長性が得られますが、多くのスペースが必要になります。

あなただけにディスクバウンドされているので /home最も簡単な方法は、少しディスクジャグリングすることです。

警告:間違った時点でSSDが機能しなくなると、すべてのファイルにコストがかかることになります。バックアップして準備しておいてください。

それは言った、私はの線に沿って進むだろう

  • md2から2つのミラーを削除します。これにより、ダウンタイムはありませんが2つの空きパーティションがあり、まだ使用可能なシステムを使用できます。 mdadm --remove /dev/md2 /dev/sda2 && mdadm --remove /dev/md2 /dev/sdb2
  • これら2つからすべてのfsとRAIDスーパーブロックを消去します。 wipefs --all /dev/sda2 && wipefs --all /dev/sdb2
  • を使用して、これら2つのパーティションからRAID 5を作成します。 missing 第三として。これにより、実際には一時RAID 0が作成され、元のパーティションのサイズの2倍(md 3)になります。 mdadm --create -n 3 --level=5 --bitmap=internal /dev/md3 /dev/sda2 /dev/sdb2 missing
  • このRAID 5を元のmd 2に1つのミラーとして追加し、再同期が完了するのを待ちます。 mdadm --add /dev/md2 /dev/md3 同期を待つか、データを失います。
  • 最後のオリジナルのミラーをmd2から削除し、それを片足で残します、新しく作成されたmd3 mdadm --remove /dev/md2 /dev/sdc2
  • md3をすべて使用するようにmd2を拡張する mdadm --grow --size=max /dev/md2
  • すべてのmd2を使用するようにファイルシステムのサイズを変更します これは使用されるFSに依存します
  • この最後のパーティションからFSとRAIDのスーパーブロックを消去します。 wipefs --all /dev/sdc2
  • それをRAID 5に追加し、再同期が完了するのを待ってください。 mdadm --add /dev/md3 /dev/sdc2

ミラーは1つだけのミラーセットになりました。ミラー自体はRAID 5で、初期サイズの2倍です。これは冗長性とサイズの間のかなり良いバランスのように思えます。

良い部分:あなたは少しのダウンタイムも経験しません - ファイルシステムを使用している間上記のステップの全てが利用可能です。


ありがとうございます。私にとっては、これは代数のように聞こえます。あなたはおそらく何らかの種類のガイドへの参照を持っていますか?
William Edwards

まさにこのシナリオをカバーするガイドはありません - それは非常に珍しいです、そして私はそれが元の設定で十分に理解されていないものすべてから生じていると思う。リストにコマンドを追加してみます。
Eugen Rieck
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.