On Thu, 21 Oct 2010 13:16:20 +0200 "Ulrich Windl"
<[email protected]> wrote:
> Hi,
>
> not an iSCSI question, but maybe here's the right audience: I had sucessfully
> created a RAID1 using mdadm, multipath, iSCSI and some SAN storage on SLES10
> SP3+Updates on x86_64. When I tried to do the same thing on a comparable
> machine, the RAID could not be created, because something tried to access the
> disk at a bad position. I reapeated the attempt with another set of disks of
> the same size, and it also failed.
You need an updated version of mdadm. The fix for this was committed to
SLES10-SP3 in early August this year, so you need an update since then.
However as far as I can tell an update hasn't been released yet... I should
probably look into that.
But you can work-around by explicitly setting the bitmap chunk size.
Anything larger than 64K will do. I generally suggest a much bigger bitmap
chunk size these days. so maybe add
--bitmap-chunk=65536
(which is 64Meg) to the --create line.
The source-code fix is:
--- mdadm-2.6.orig/super0.c
+++ mdadm-2.6/super0.c
@@ -833,7 +833,7 @@ static int add_internal_bitmap0(struct s
* size is in sectors, chunk is in bytes !!!
*/
unsigned long long bits;
- unsigned long long max_bits = 60*1024*8;
+ unsigned long long max_bits = (60*1024 - sizeof(bitmap_super_t))*8;
unsigned long long min_chunk;
int chunk = *chunkp;
mdp_super_t *sb = sbv;
--- mdadm-2.6.orig/super0.c
+++ mdadm-2.6/super0.c
@@ -833,7 +833,7 @@ static int add_internal_bitmap0(struct s
* size is in sectors, chunk is in bytes !!!
*/
unsigned long long bits;
- unsigned long long max_bits = 60*1024*8;
+ unsigned long long max_bits = (60*1024 - sizeof(bitmap_super_t))*8;
unsigned long long min_chunk;
int chunk = *chunkp;
mdp_super_t *sb = sbv;
Your bitmap comes to 59.9998K and there is only room for 59.75K.
(If you have a support contract and want to log a call to get an official
update, please mention bnc#579170)
NeilBrown
>
> Details:
> # mdadm --verbose --create /dev/md5 --raid-devices=2 --level=raid1
> --bitmap=internal --assume-clean /dev/mapper/EVA1_L232_host05
> /dev/mapper/EVA2_L232_host05
> mdadm: /dev/mapper/EVA1_L232_host05 appears to be part of a raid array:
> level=raid1 devices=2 ctime=Thu Oct 21 12:26:18 2010
> mdadm: /dev/mapper/EVA2_L232_host05 appears to be part of a raid array:
> level=raid1 devices=2 ctime=Thu Oct 21 12:26:18 2010
> mdadm: size set to 31457216K
> Continue creating array? y
> mdadm: RUN_ARRAY failed: Input/output error
> mdadm: stopped /dev/md5
> hostname:~ # tail -24 /var/log/messages
> Oct 21 12:28:05 hostname kernel: md: md5 stopped.
> Oct 21 12:28:07 hostname kernel: md: md5 stopped.
> Oct 21 12:29:46 hostname kernel: md: bind<dm-21>
> Oct 21 12:29:46 hostname kernel: md: bind<dm-14>
> Oct 21 12:29:46 hostname kernel: raid1: raid set md5 active with 2 out of 2
> mirrors
> Oct 21 12:29:46 hostname kernel: md5: bitmap file is out of date (0 < 1) --
> forcing full recovery
> Oct 21 12:29:46 hostname kernel: md5: bitmap file is out of date, doing full
> recovery
> Oct 21 12:29:46 hostname kernel: attempt to access beyond end of device
> Oct 21 12:29:46 hostname kernel: dm-14: rw=8, want=62914568, limit=62914560
> Oct 21 12:29:46 hostname kernel: attempt to access beyond end of device
> Oct 21 12:29:46 hostname kernel: dm-21: rw=8, want=62914568, limit=62914560
> Oct 21 12:29:46 hostname kernel: md5: bitmap initialized from disk: read
> 15/16 pages, set 489472 bits, status: -5
> Oct 21 12:29:46 hostname kernel: md5: failed to create bitmap (-5)
> Oct 21 12:29:46 hostname kernel: md: pers->run() failed ...
> Oct 21 12:29:46 hostname kernel: md: md5 stopped.
> Oct 21 12:29:46 hostname kernel: md: unbind<dm-14>
> Oct 21 12:29:46 hostname kernel: md: export_rdev(dm-14)
> Oct 21 12:29:46 hostname kernel: md: unbind<dm-21>
> Oct 21 12:29:46 hostname kernel: md: export_rdev(dm-21)
>
> hostname:~ # mdadm --query -X /dev/mapper/EVA2_L232_host05
> mdadm: WARNING: bitmap file is not large enough for array size 62914432!
>
> Filename : /dev/mapper/EVA2_L232_host05
> Magic : 6d746962
> Version : 4
> UUID : c522ab5a:24f292a0:0b3d7356:64ade12a
> Events : 0
> Events Cleared : 0
> State : Out of date
> Chunksize : 64 KB
> Daemon : 5s flush period
> Write Mode : Normal
> Sync Size : 31457216 (30.00 GiB 32.21 GB)
> Bitmap : 489472 bits (chunks), 489472 dirty (100.0%)
> hostname:~ # mdadm --query -X /dev/mapper/EVA1_L232_host05
> mdadm: WARNING: bitmap file is not large enough for array size 62914432!
>
> Filename : /dev/mapper/EVA1_L232_host05
> Magic : 6d746962
> Version : 4
> UUID : c522ab5a:24f292a0:0b3d7356:64ade12a
> Events : 0
> Events Cleared : 0
> State : Out of date
> Chunksize : 64 KB
> Daemon : 5s flush period
> Write Mode : Normal
> Sync Size : 31457216 (30.00 GiB 32.21 GB)
> Bitmap : 489472 bits (chunks), 489472 dirty (100.0%)
>
> "blockdev --getsize" reports "62914560" for each LUN being used.
>
> Regards,
> Ulrich
>
>
>
> --
> dm-devel mailing list
> [email protected]
> https://www.redhat.com/mailman/listinfo/dm-devel
--
You received this message because you are subscribed to the Google Groups
"open-iscsi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/open-iscsi?hl=en.