web-dev-qa-db-ja.com

Mdadm-RAID 10チャンクサイズを変更し、「遠い」レイアウトに切り替えます

私はUbuntuLinux NASサーバーとソフトウェアRAID10で4つの2TBドライブを実行しています。

インストール中に(Ubuntu Serverディスクを使用して)アレイを作成しましたが、レイアウトはnearで、チャンクサイズは64です。

チャンクサイズを256に、レイアウトをfarに変更したいと思います。どうすればよいですか?

Mdstatの出力は次のとおりです。

root@server:~# cat /proc/mdstat

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid10 sde1[3] sdd1[2] sdc1[1] sdb1[0]
      3907026816 blocks 64K chunks 2 near-copies [4/4] [UUUU]

データを再度コピーする時間を節約するために、非破壊的に変更を加えたいと思いますが、データはバックアップされるため、破壊的な変更も問題ありません。

助けてくれてありがとう。

3
Andrew Ensley

唯一の方法は、新しいパラメータを使用して配列を破棄して再作成することです。 Neil Brownは、最近公開されたmdのロードマップに次のように書いています。

RAID10アレイの形状変更をサポートします。

現在、RAID10アレイの形状を変更することはできません。 「ニア」モードのRAID10をRAID0に変換することは可能ですが、それだけです。いくつかの実際の形状変更が可能であり、実装する必要があります。

全体のロードマップはここにあります: http://lwn.net/Articles/428206/

4
Paweł Brodacki

私もこれを試してみたかったのですが、これを行う際のいくつかの注意点があります。パウエルが言ったように、それは再現せずに行うことはできません。近道はありません。私がしたことは、単に配列を無効にし、同じパーティションで再作成してから、いくつかの奇跡によって魔法のように機能することを期待してマウントしようとしました(機能しませんでした)。試してみると、カーネルパニックが発生します(はい、試してみましたが、これが発生しました)。リモートサーバーがあり、KVMリモート/再起動がない場合(幸い、私は持っていますが、多くは持っていません))、非常に悪い考えです。

もう1つの注意点は、-layout = f2の同じパーティションが数百ブロックだけわずかに小さいことを見てショックを受けたことです。なぜこれが問題なのですか?サイズが完全に同じでなければならないDRBDのようなものを使用している場合、それは苦境です。

MdadmでのDRBDの問題の例を示すには、ここを参照してください(f2レイアウトで512ブロック小さい違い):RAID10 --layout = n2サイズ:アレイサイズ:897500160(855.92 GiB 919.04 GB) RAID10 --layout = f2サイズ:アレイサイズ:897500672(855.92 GiB 919.04 GB)

実際、RAID10ではmdadmがデフォルトで--layout = f2になることを望みます。基本的に、実際のRAID1パフォーマンスを得るには、f2レイアウトで2ディスクRAID10を実行する必要があります(非常にばかげています)が、少なくともそれはオプションです。

0
Areeb Soo Yasir