Ubuntu9.10ワークステーションにRAID1パーティションを設定しようとしています。
このデュアルブートシステムでは、Ubuntuは別のドライブから実行されています(/dev/sdc
-非常に小さいSSDであるため、より多くのディスク容量が必要です)。それ以外に、Windows 7がインストールされている(Windowsのインストールをそのままにしておきたい)2つの従来の500 GBハードドライブがあり、スペースの約半分が未割り当てです。このスペースは、Linux用に単一の大きなRAID1パーティションをセットアップしたい場所です。
(私の理解では、これはソフトウェアRAIDですが、WindowsパーティションはハードウェアRAID上にあります-これが問題にならないことを願っています...編集:ピーターのコメントを参照してください。 Linuxでは両方のドライブが別々に表示されるので、これは問題にはならないはずです。)
両方のディスクで、/dev/sda
および/dev/sdb
、fdiskを使用して、「Linux raid autodetect」タイプの同一の新しいパーティションを作成し、未割り当て領域を埋めました。
Device Boot Start End Blocks Id System
/dev/sda1 1 10 80293+ de Dell Utility
/dev/sda2 * 11 106 768000 7 HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sda3 106 30787 246439936 7 HPFS/NTFS
/dev/sda4 30787 60801 241095200+ fd Linux raid autodetect
そこで、/ dev/sda4と/ dev/sdb4からRAIDアレイを作成したいと思います mdadm
を使用 。しかし、私はそれが機能していないようです:
$ Sudo mdadm -Cv /dev/md0 -l1 -n2 /dev/sd{a,b}4
mdadm: Cannot open /dev/sda4: Device or resource busy
mdadm: Cannot open /dev/sdb4: Device or resource busy
mdadm: create aborted
マシンを起動した後、同じコマンドで次の結果が得られます。
$ Sudo mdadm -Cv /dev/md0 -l1 -n2 /dev/sda4 /dev/sdb4
mdadm: Cannot open /dev/sda4: No such file or directory
mdadm: Cannot open /dev/sdb4: No such file or directory
そのため、起動時にデバイスが自動的に検出されないようです... fdiskを使用すると、sda
とsdb
の両方が正しく表示されます。
編集:もう一度再起動すると、デバイスが元に戻ります:
$ ls /dev/sd*
/dev/sda /dev/sda2 /dev/sda4 /dev/sdb1 /dev/sdb3 /dev/sdc /dev/sdc2
/dev/sda1 /dev/sda3 /dev/sdb /dev/sdb2 /dev/sdb4 /dev/sdc1 /dev/sdc5
ただし、RAIDアレイを作成しようとすると、「デバイスまたはリソースがビジー」になります。かなり奇妙。どんな助けでもいただければ幸いです!
更新: デバイスマッパー はこれと関係がありますか?どうやって/dev/mapper
とdmraid
は、とにかくこのすべてのmdadm
のものに関連していますか?どちらもソフトウェアRAIDを提供しますが、..違いますか?ここで私の無知をお詫びします。
下 /dev/mapper/
3つのWindowsRAIDパーティション(sd {a、b} 1からsd {a、b} 3)に何らかの形で一致するデバイスファイルがいくつかあると思います。しかし、なぜこれらの配列が4つあるのかわかりません。
$ ls /dev/mapper/
control isw_dgjjcdcegc_ARRAY1 isw_dgjjcdcegc_ARRAY3
isw_dgjjcdcegc_ARRAY isw_dgjjcdcegc_ARRAY2
解決策:私を正しい方向に導いたのは mdadm Wikipediaの記事 でした。すべてがどのように機能するかについての詳細を投稿しましたこの回答。
いよいよ進歩!
mdadmのウィキペディアエントリ が示唆しているように、dmraid
は確かに原因でした。 I dmraidを削除しようとしました パッケージ(そしてupdate-initramfs
を実行していますが、それが適切かどうかはわかりません)。
その後、再起動すると、/dev/mapper
の下のデバイスがなくなります(これは問題ありません。LinuxのWindows NTFSパーティションにアクセスする必要はありません)。
$ ls /dev/mapper/
control
そして、最も重要なのは、mdadm --create
が機能することです!
$ Sudo mdadm -Cv -l1 -n2 /dev/md0 /dev/sda4 /dev/sdb4
mdadm: size set to 241095104K
mdadm: array /dev/md0 started.
/proc/mdstat
とmdadm --detail /dev/md0
を確認したところ、どちらも新しく作成された配列ですべてが正常であることを示しています。
$ cat /proc/mdstat
[..]
md0 : active raid1 sdb4[1] sda4[0]
241095104 blocks [2/2] [UU]
[==========>..........] resync = 53.1% (128205632/241095104)
finish=251.2min speed=7488K/sec
次に、新しいパーティションにファイルシステムを作成しました。
$ Sudo mkfs.ext4 /dev/md0
そして最後に、/opt
の下に物をマウントしました(&更新された/etc/fstab
)。 (もちろん、ここでもLVMを使用することもできましたが、率直に言って、この場合、その意味はわかりませんでした。これを機能させるために、すでに十分な時間を無駄にしています...)
これで、RAIDパーティションを使用する準備が整い、十分なディスク容量が得られました。 :-)
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdc5 70G 52G 15G 79% /
/dev/md0 227G 188M 215G 1% /opt
Update:私のこのRAIDデバイスにはまだいくつかの問題があります。再起動すると、fstabにあるのにマウントに失敗し、(再起動後)非アクティブ状態のように見えて手動でもマウントできない場合があります。 フォローアップの質問 私が投稿したものを参照してください。
Sudo mdadm -Cv /dev/md0 -l1 -n2 /dev/sd{a,b}4
mdadm: Cannot open /dev/sda4: Device or resource busy
mdadm: create aborted
このトリックは私のために働いた:チェック/proc/mdstat
:そこに記載されているデバイス名に注意してください。 md_d0
、次に:
Sudo mdadm --stop /dev/md_d0
これで、createコマンドが機能するはずです。
ばかげた答えかもしれませんが、-sd {a、b} 4がubuntuによってどこにもマウントされていないのは確かですか?
そして、ハードウェアRAIDについてあなたが言うように、あなたはどのマザーボードを持っていますか?ここで邪魔になるのは、実際にはソフトウェアRAIDかもしれません。