こんにちは、斉藤です。 > >ataraidの場合 各カード毎に格納場所が異なります。これは、各カードの BIOS >毎に構成情報の内容や格納する場所が異なるためです。atacontrolで書き込まれ >る情報は、BIOSで構成した場合と同等になるよう配慮されています。 >で src/sys/dev/ata/ata-raid.[ch] を見ると、SiIは最終セクタから 512bytes >がRAID構成用情報の領域として使用されていることが分かります。 > >一方、geom label は(使用カードに関係なく)最後の1セクタ分をラベル用として >使用しています。 >(src/sys/geom/label/g_label.c, src/sys/geom/mirror/g_mirror.c) > >というわけで、SiIの場合は ataraid と geom label の書かれる場所は同一の >ようです。ただし書かれる内容は違うので、構成情報が壊れていると勘違いした >カードBIOSが、当該領域を初期化してしまったという可能性はあります。 >#ふつーはそんな余計なことはしないと思うんですが…。 > おー、すばらしい。 さっそく確認してみました。
RAIDのBIOSは、構成がない状態("Delete RAID Set"を実行)で: deneb# atacontrol delete ar0 deneb# diskinfo -c /dev/ad4 /dev/ad4 512 # sectorsize 500107862016 # mediasize in bytes (466G) 976773168 # mediasize in sectors 969021 # Cylinders according to firmware. 16 # Heads according to firmware. 63 # Sectors according to firmware. ... 最終セクタを0クリア: deneb# dd if=/dev/zero of=/dev/ad4 bs=512 count=1 seek=976773167 deneb# dd if=/dev/zero of=/dev/ad6 bs=512 count=1 seek=976773167 deneb# dd if=/dev/ad4 bs=512 count=1 skip=976773167 | hd 1+0 records in 1+0 records out 512 bytes transferred in 0.000300 secs (1705706 bytes/sec) 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000200 クリアされているようですので、gmirrorでRAID1構成: deneb# gmirror label -v -b split -s 16384 ad46 /dev/ad4 Metadata value stored on /dev/ad4. Done. deneb# gmirror insert -v ad46 /dev/ad6 Done. 最終セクタは: deneb# dd if=/dev/ad4 bs=512 count=1 skip=976773167 | hd 1+0 records in 1+0 records out 512 bytes transferred in 0.000895 secs (572205 bytes/sec) 00000000 47 45 4f 4d 3a 3a 4d 49 52 52 4f 52 00 02 00 00 |GEOM::MIRROR....| 00000010 03 00 00 00 61 64 34 36 00 c2 66 c0 80 fd 2a c3 |....ad46.ツfタ..*テ| 00000020 34 2a 3f d4 af d3 88 a6 5c 6d e5 e6 02 00 00 00 |4*?ヤッモ.ヲ\m......| 00000030 00 01 00 00 00 00 00 40 00 00 03 00 5e c0 70 74 |[EMAIL PROTECTED]| 00000040 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 |................| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000070 60 c0 70 74 00 00 00 84 4e f8 cc e7 1a 26 2b e3 |`タpt....N.フ..&+.| 00000080 fa cc 60 64 c0 dc b4 00 00 00 00 00 00 00 00 00 |.フ`dタワエ.........| 00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000200 deneb# dd if=/dev/ad6 bs=512 count=1 skip=976773167 | hd 00000000 47 45 4f 4d 3a 3a 4d 49 52 52 4f 52 00 00 00 00 |GEOM::MIRROR....| 00000010 03 00 00 00 61 64 34 36 00 3c 96 da 8b 45 65 c0 |....ad46.<.レ.Eeタ| 00000020 80 0a 2b c3 af d3 88 a6 81 bd 90 27 02 00 00 00 |..+テッモ.ヲ.ス.'....| 00000030 00 01 00 00 00 00 00 40 00 00 03 00 5e c0 70 74 |[EMAIL PROTECTED]| 00000040 00 00 00 00 02 00 00 00 00 26 77 00 00 00 00 00 |.........&w.....| 00000050 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 |................| 00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000070 60 c0 70 74 00 00 00 a6 7e c1 0a c4 59 a5 39 fc |`タpt...ヲ~チ.トY・9.| 00000080 1a 4c 87 17 47 4b f9 00 00 00 00 00 00 00 00 00 |.L..GK..........| 00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 1+0 records in 1+0 records out 512 bytes transferred in 0.084255 secs (6077 bytes/sec) 00000200 それっぽい感じで、構成情報と思われるデータが書かれています。 ここで再起動し、最終セクタを見てみると・・・ deneb# dd if=/dev/ad4 bs=512 count=1 skip=976773167 | hd 1+0 records in 1+0 records out 512 bytes transferred in 0.000264 secs (1938162 bytes/sec) 00000000 5a 04 ff 3f 37 c8 10 00 00 00 00 00 3f 00 00 00 |Z..?7ネ......?...| 00000010 00 00 00 00 20 20 20 20 20 20 46 56 34 44 30 30 |.... FV4D00| 00000020 34 52 4e 43 57 4e 43 34 03 00 a7 77 34 00 32 2e |4RNCWNC4..ァw4.2.| 00000030 31 30 20 20 20 20 48 69 74 61 63 68 69 20 48 44 |10 Hitachi HD| 00000040 54 37 32 35 30 35 30 56 4c 41 33 36 30 20 20 20 |T725050VLA360 | 00000050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 10 80 | ..| 00000060 00 00 00 2f 00 40 00 02 00 02 07 00 30 58 38 3a |.../[EMAIL PROTECTED]:| 00000070 00 00 00 00 00 00 00 01 ff ff ff 0f 00 00 07 04 |................| 00000080 03 00 78 00 78 00 78 00 78 00 00 00 00 00 00 00 |..x.x.x.x.......| 00000090 00 00 00 00 00 00 1f 00 06 07 00 00 5e 00 40 00 |[EMAIL PROTECTED]| 000000a0 fc 00 1a 00 6b 34 e9 7f 73 47 68 34 01 bc 63 47 |....k4..sGh4.シcG| 000000b0 7f 00 60 00 00 00 00 00 fe ff 00 00 fe 80 08 00 |..`.............| 000000c0 ca 00 f9 00 10 27 00 00 30 60 38 3a 00 00 00 00 |ハ....'..0`8:....| 000000d0 ca 00 00 00 00 00 87 5a 00 50 a2 cc c9 13 c9 65 |ハ......Z.P「フノ.ノe| 000000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 40 |...............@| 000000f0 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |[EMAIL PROTECTED]| 00000100 01 00 0b 00 14 31 95 10 04 00 02 00 43 49 08 05 |.....1......CI..| 00000110 04 07 00 00 64 00 00 fd ff ff 02 00 00 00 00 00 |....d...........| 00000120 00 00 00 00 08 00 00 00 01 02 00 00 00 00 53 69 |..............Si| 00000130 49 20 52 61 69 64 31 20 53 65 74 20 20 20 98 35 |I Raid1 Set .5| 00000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000190 00 00 00 00 00 00 00 00 00 00 00 00 3f 00 00 00 |............?...| 000001a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a5 39 |..............・9| 00000200 あー、書き換わってる! 文字列で見えている"SiI Raid1 Set"というのはカードのBIOSにも表示されていました。 前回にも指摘されましたが、BIOSがここを書き換えているようです。 ("Delete RAID Set"しているにもかかわらず、削除する前の情報を書いている) ためしにRAID0をカードBIOSで設定し、その後"Delete RAID Set"で削除して再起動、 見てみると、"SiI Raid0 Set"とか書かれています。 BIOSが書き換えていることは、ほぼ間違いないようです。 > >gmirror構成後、カードBIOSでRAID構成いぢっていませんよね? >ataraidを使用しない場合、カードBIOS側でのRAID構成は御法度です。単なる >ATAデバイスとして見えるよう、事前に設定しておきましょう。 > 了解しました。 じつはJBODと指定するメニューがカードのBIOSにありませんでした。 (マニュアルには書いてありますが) ので、構成がない状態がJBODだと思っていましたが、ちがうのかな? Silicon ImageのホームページにBIOSがおいてありましたので、ひょっとしたら、 RAIDではないBIOSに書き換えれば、最終セクタに悪さすることもないかもしれません。 (少々怖いので今はできませんが) いろいろと情報ありがとうございました。 おかげさまで原因がわかり、幾分すっきりした感じです。