Problem with definition raid on ich7r in se7230nh1-lx

GreenX FreeBSD freebsd at azimut-tour.ru
Tue Aug 8 15:35:30 UTC 2006


Hi,
Probably I the idiot since recently has purchased a motherboard from 
intel SE7230NH1-LX.
And now I try to get on her RAID, all over again I tried to make RAID10.
But in reality, she has problems and with RAID0 and RAID1 if them to use 
at once two
As it has appeared on ICH7R RAID it is made through LSI embedded 
MegaRAID V3.
After I have created RAID10 in BIOS system to me have given out the 
following:

    /...
    atapci0: <GENERIC ATA controller> port
    0x2040-0x2047,0x2050-0x2053,0x2038-0x203f,0x204c-0x204f,0x2020-0x202f
    irq 18 at device 0.2 on pci4
    ata2: <ATA channel 0> on atapci0
    ata3: <ATA channel 1> on atapci0
    ...
    atapci1: <Intel ICH7 UDMA100 controller> port
    0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x3030-0x303f irq 18 at device
    31.1 on pci0
    ata0: <ATA channel 0> on atapci1
    ata1: <ATA channel 1> on atapci1
    ...
    //atapci2: <Intel ICH7 SATA300 controller> port
    0x3048-0x304f,0x3064-0x3067,0x3040-0x3047,0x3060-0x3063,0x3020-0x302f
    mem 0x48200000-0x482003ff irq 19 at device 31.2 on pci0/
    /ata4: <ATA channel 0> on atapci2/
    /ata5: <ATA channel 1> on atapci2/
    /ata6: <ATA channel 2> on atapci2/
    /ata7: <ATA channel 3> on atapci2/
    /..../
    /ad8: 152627MB <Seagate ST3160811AS 3.AAB> at ata4-master SATA300/
    /ad10: 152627MB <Seagate ST3160811AS 3.AAB> at ata5-master SATA300/
    /ad12: 152627MB <Seagate ST3160811AS 3.AAB> at ata6-master SATA300/
    /ad14: 152627MB <Seagate ST3160811AS 3.AAB> at ata7-master SATA300/
    /ar0: WARNING - mirror protection lost. RAID1 array in DEGRADED mode/
    /ar0: 305040MB <LSILogic v3 MegaRAID RAID1> status: DEGRADED/
    /ar0: disk0 READY (master) using ad8 at ata4-master/
    /ar0: disk1 READY (master) using ad14 at ata7-master/
    /...../

That is connected into RAID only first and last HDDs.
If to create simultaneously RAID1 and RAID0, in RAID they connected too, 
only they, both.
After some experiments, I have understood - work rotten.
After has tried to create RAID by means of atacontrol, he has given out 
me the following:

    /# atacontrol create RAID0+1 128 ad8 ad10 ad12 ad14/
    /ar0: 305255MB <Intel MatrixRAID RAID0+1 (stripe 64 KB)> status: READY/
    /ar0: 625163520 sectors [38914C/255H/63S] <> subdisks defined as:/
    /ar0: disk0 READY (master) using ad8 at ata4-master/
    /ar0: disk1 READY (master) using ad10 at ata5-master/
    /ar0: disk2 READY (mirror) using ad12 at ata6-master/
    /ar0: disk3 READY (mirror) using ad14 at ata7-master/

It was created... Has tried to work, like works, but at reboot BIOS has 
given out the message on that that RAID not configured.
But the system was normally loaded and has shown me:

    /ar0: 305255MB <Intel MatrixRAID RAID0+1 (stripe 64 KB)> status: READY/
    /ar0: 625163520 sectors [38914C/255H/63S] <> subdisks defined as:/
    /ar0: disk0 READY (master) using ad8 at ata4-master/
    /ar0: disk1 READY (master) using ad10 at ata5-master/
    /ar0: disk2 READY (mirror) using ad12 at ata6-master/
    /ar0: disk3 READY (mirror) using ad14 at ata7-master
    /

I began to test system, and finally she rebooted with Fatal Trap.
Business has appeared even worse.
I have removed RAID created through atacontrol and have created it anew 
in LSI embedded RAID.
I has started to investigate source codes.
Has established a variable testing in 1 into 
/usr/src/sys/dev/ata/ara-raid.c - has received following dmesg:

    /....skip...///
    /ad0: 152627MB <Seagate ST3160812A 2AAA> at ata0-master UDMA100/
    /ad0: Intel check1 failed/
    /ad0: Adaptec check1 failed/
    /ad0: LSI (v3) check1 failed/
    /ad0: LSI (v2) check1 failed/
    /ad0: FreeBSD check1 failed/
    /acd0: DVDR <NEC DVD RW ND-3551A/2.01> at ata0-slave UDMA33/
    /ad8: 152627MB <Seagate ST3160811AS 3.AAB> at ata4-master SATA300/
    /ad8: Intel check1 failed/
    /ad8: Adaptec check1 failed/
    /******* ATA LSILogic V3 MegaRAID Metadata *******/
    /lsi_id              <$_IDE$>/
    /dummy_0             0xe000003/
    /version             0x0131/
    /dummy_0             0xe000003/
    /RAID configs:/
    /00  stripe_pages       16/
    /00  type               RAID1/
    /00  total_disks        2/
    /00  array_width        2/
    /00  sectors            312360960/
    /00  offset             0/
    /00  device             0x00/
    /DISK configs:/
    /00  disk_sectors       312360960/
    /00  flags              0x00/
    /01  disk_sectors       312360960/
    /01  flags              0x00/
    /device              0x00/
    /timestamp           0x44442cc0/
    /checksum_1          0xb9/
    /=================================================/
    /ad10: 152627MB <Seagate ST3160811AS 3.AAB> at ata5-master SATA300/
    /ad10: Intel check1 failed/
    /ad10: Adaptec check1 failed/
    /******* ATA LSILogic V3 MegaRAID Metadata *******/
    /lsi_id              <$_IDE$>/
    /dummy_0             0xe000003/
    /version             0x0131/
    /dummy_0             0xe000003/
    /RAID configs:/
    /00  stripe_pages       16/
    /00  type               RAID1/
    /00  total_disks        2/
    /00  array_width        2/
    /00  sectors            312360960/
    /00  offset             0/
    /00  device             0x00/
    /DISK configs:/
    /00  disk_sectors       312360960/
    /00  flags              0x00/
    /01  disk_sectors       312360960/
    /01  flags              0x00/
    /device              0x10/
    /timestamp           0x44442cc0/
    /checksum_1          0xa9/
    /=================================================/
    /ad12: 152627MB <Seagate ST3160811AS 3.AAB> at ata6-master SATA300/
    /ad12: Intel check1 failed/
    /ad12: Adaptec check1 failed/
    /******* ATA LSILogic V3 MegaRAID Metadata *******/
    /lsi_id              <$_IDE$>/
    /dummy_0             0xe000003/
    /version             0x0131/
    /dummy_0             0xe000003/
    /RAID configs:/
    /00  stripe_pages       16/
    /00  type               RAID1/
    /00  total_disks        2/
    /00  array_width        2/
    /00  sectors            312360960/
    /00  offset             0/
    /00  device             0x00/
    /DISK configs:/
    /00  disk_sectors       312360960/
    /00  flags              0x00/
    /01  disk_sectors       312360960/
    /01  flags              0x00/
    /device              0x01/
    /timestamp           0x44442cc0/
    /checksum_1          0xb8/
    /=================================================/
    /ad14: 152627MB <Seagate ST3160811AS 3.AAB> at ata7-master SATA300/
    /ad14: Intel check1 failed/
    /ad14: Adaptec check1 failed/
    /******* ATA LSILogic V3 MegaRAID Metadata *******/
    /lsi_id              <$_IDE$>/
    /dummy_0             0xe000003/
    /version             0x0131/
    /dummy_0             0xe000003/
    /RAID configs:/
    /00  stripe_pages       16/
    /00  type               RAID1/
    /00  total_disks        2/
    /00  array_width        2/
    /00  sectors            312360960/
    /00  offset             0/
    /00  device             0x00/
    /DISK configs:/
    /00  disk_sectors       312360960/
    /00  flags              0x00/
    /01  disk_sectors       312360960/
    /01  flags              0x00/
    /device              0x11/
    /timestamp           0x44442cc0/
    /checksum_1          0xa8/
    /=================================================/
    /ATA PseudoRAID loaded/
    /********** ATA PseudoRAID ar0 Metadata **********/
    /=================================================/
    /format              LSILogic v3 MegaRAID/
    /type                RAID1/
    /flags               0x00 0/
    /magic_0             0x0000000044442cc0/
    /magic_1             0x0000000000000000/
    /generation          0/
    /total_sectors       624721920/
    /offset_sectors      0/
    /heads               255/
    /sectors             63/
    /cylinders           38887/
    /width               2/
    /interleave          128/
    /total_disks         2/
    /    disk 0:      flags = 0x0b b<ONLINE,ASSIGNED,PRESENT>/
    /        ad8:  sectors 312360960/
    /    disk 1:      flags = 0x0b b<ONLINE,ASSIGNED,PRESENT>/
    /        ad14:  sectors 312360960/
    /=================================================/
    /ar0: WARNING - mirror protection lost. RAID1 array in DEGRADED mode/
    /ar0: 305040MB <LSILogic v3 MegaRAID RAID1> status: DEGRADED/
    /ar0: 624721920 sectors [38887C/255H/63S] <> subdisks defined as:/
    /ar0: disk0 READY (master) using ad8 at ata4-master/
    /ar0: disk1 READY (master) using ad14 at ata7-master/
    /Trying to mount root from ufs:/dev/ad0s1a/


In general, I looked through source codes much, but have found only the 
reason on which atacontrol specifies that it MatrixRAID:
Function ata_raid_create determines type of the chip only on pcivendor 
(i.e. in my case 8086) and does not consider a format already 
established metadata as it does ara_raid_read_metadata.
Can be it is meaningful lead to their identical kind or allocate in 
separate function for example ara_raid_ident?

On greater my knowledge has not sufficed and further only questions :)
1. Where it is stored metadata on HDD or memories of the controller?
2. Whether probably to determine the maximal size metadata or it is 
identical to all controllers?
3. Why to not use for Intel/LSI the driver amr?
4. In what place BSD determines which driver to substitute?
5. Where to find a format metadata?

I have some more questions, but these will help assist me for 
construction of a course of an idea more.
Can be bad I googled - I apologize - specify a finger :)

Best regards GreenX.








More information about the freebsd-stable mailing list