複数のドライブを1つのボリュームに結合する

複数のドライブを1つのボリュームに結合する

現在、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>

答え1

/proc/mdstatOS (md1) とホーム (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 つのパーティションから RAID5 を作成し、missing3 番目として使用します。これにより、実際には元のパーティション (md3) の 2 倍のサイズの一時 RAID0 が作成されます。mdadm --create -n 3 --level=5 --bitmap=internal /dev/md3 /dev/sda2 /dev/sdb2 missing
  • このRAID5を元のmd2に1つのミラーとして追加し、再同期が完了するまで待ちます。mdadm --add /dev/md2 /dev/md3 同期を待たないとデータが失われます。
  • md2から最後の元のミラーを削除し、1本の脚を残して、新しく作成されたmd3を作成します。mdadm --remove /dev/md2 /dev/sdc2
  • md2 を拡張して md3 をすべて使用するmdadm --grow --size=max /dev/md2
  • md2全体を使用するようにファイルシステムのサイズを変更しますこれは使用されるFSによって異なります
  • この最後のパーティションからFSとRAIDスーパーブロックを消去しますwipefs --all /dev/sdc2
  • それを RAID5 に追加し、再同期が完了するまで待ちます。mdadm --add /dev/md3 /dev/sdc2

これで、ミラーが 1 つだけあるミラー セットが作成されました。これは、それ自体が RAID5 であり、初期サイズの 2 倍です。これは、冗長性とサイズの間で非常に適切なバランスのように見えます。

良い点は、ダウンタイムが発生しないことです。上記のすべての手順は、ファイル システムの使用中に実行できます。

関連情報