You are not logged in.

#1 2013-08-24 12:47:54

rep_movsd
Member
Registered: 2013-08-24
Posts: 142

[Solved] Long delay while initializing RAID-0 in kernel

I just installed Arch on a RAID-0 setup

I have two hard drives with the following partitions :

Disk /dev/sda: 180.0 GB, 180045766656 bytes, 351651888 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xaa4cff46

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        4096      208895      102400   fd  Linux raid autodetect
/dev/sda2          208896   205008895   102400000   fd  Linux raid autodetect
/dev/sda3       233560064   336027647    51233792   83  Linux


Disk /dev/sdb: 120.0 GB, 120034123776 bytes, 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000203a1

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        4096      208895      102400   fd  Linux raid autodetect
/dev/sdb2          208896   195521402    97656253+  fd  Linux raid autodetect

sda1 and sdb1 are on /boot
sda2 and sdb2 are on /
sda3 is my older Kubuntu installation

I have no swap ( 20 GB RAM)

[rep@archaic log]$ cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sda1[0] sdb1[1]
      203776 blocks super 1.2 512k chunks

md1 : active raid0 sda2[0] sdb2[1]
      200055296 blocks super 1.2 512k chunks

unused devices: <none>

[rep@archaic etc]$ cat /etc/mdadm.conf
ARRAY /dev/md/archiso:1 metadata=1.2 name=archiso:1 UUID=c95305b7:3e38c710:f7baf1f9:9711c869
ARRAY /dev/md/archiso:0 metadata=1.2 name=archiso:0 UUID=514bcc23:3a298779:235e3907:43d2e5e9
[rep@archaic etc]$ cat /etc/fstab
# /etc/fstab: static file system information
#
# <file system> <dir>   <type>  <options>       <dump>  <pass>
UUID=9a336f35-6fc3-4466-988e-2d5688ef2ad5       /               ext4            rw,noatime,discard,stripe=256,data=ordered      0 1
UUID=b2b35d72-71b7-4558-beb0-eceacc59294f /boot         ext4            rw,noatime,discard,stripe=1024,data=ordered     0 2

[rep@archaic etc]$ mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=10242128k,nr_inodes=2560532,mode=755)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
/dev/md1 on / type ext4 (rw,noatime,discard,stripe=256,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=35,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
tmpfs on /tmp type tmpfs (rw)
/dev/md0 on /boot type ext4 (rw,noatime,discard,stripe=1024,data=ordered)

Here is the dmesg section showing the delay... It jumps from 2.9 to 7.9 and there are no messages in between

[    2.850814] sd 2:0:0:0: [sdb] 234441648 512-byte logical blocks: (120 GB/111 GiB)
[    2.850830] sd 0:0:0:0: [sda] 351651888 512-byte logical blocks: (180 GB/167 GiB)
[    2.850859] sd 2:0:0:0: [sdb] Write Protect is off
[    2.850862] sd 2:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    2.850877] sd 2:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.850988] sd 0:0:0:0: [sda] Write Protect is off
[    2.850991] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.851044] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.851840]  sdb: sdb1 sdb2
[    2.852371] sd 2:0:0:0: [sdb] Attached SCSI disk
[    2.852865]  sda: sda1 sda2 sda3
[    2.854301] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.856409] sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda caddy
[    2.856411] cdrom: Uniform CD-ROM driver Revision: 3.20
[    2.856612] sr 1:0:0:0: Attached scsi CD-ROM sr0
[    2.905288] md: md1 stopped.
[    2.906088] md: bind<sdb2>
[    2.906302] md: bind<sda2>
[    2.907494] md/raid0:md1: md_size is 400110592 sectors.
[    2.907497] md: RAID0 configuration for md1 - 2 zones
[    2.907498] md: zone0=[sda2/sdb2]
[    2.907502]       zone-offset=         0KB, device-offset=         0KB, size= 195311616KB
[    2.907503] md: zone1=[sda2]
[    2.907505]       zone-offset= 195311616KB, device-offset=  97655808KB, size=   4743680KB

[    2.907519] md1: detected capacity change from 0 to 204856623104
[    2.908317]  md1: unknown partition table
[    7.926246] md: md0 stopped.
[    7.926987] md: bind<sdb1>
[    7.927124] md: bind<sda1>
[    7.928475] md/raid0:md0: md_size is 407552 sectors.
[    7.928478] md: RAID0 configuration for md0 - 1 zone
[    7.928480] md: zone0=[sda1/sdb1]
[    7.928487]       zone-offset=         0KB, device-offset=         0KB, size=    203776KB

[    7.928503] md0: detected capacity change from 0 to 208666624
[    7.929124]  md0: unknown partition table
[   12.964576] EXT4-fs (md1): mounted filesystem with ordered data mode. Opts: (null)
[   13.002570] systemd[1]: systemd 204 running in system mode. (+PAM -LIBWRAP -AUDIT -SELINUX -IMA -SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ)

Why does this happen?
When installing the OS, mdadm took no time to assemble the arrays - why does it take so long in the kernel on boot?

Thanks in advance
V

Last edited by rep_movsd (2013-08-25 00:15:52)

Offline

#2 2013-08-24 23:19:17

rep_movsd
Member
Registered: 2013-08-24
Posts: 142

Re: [Solved] Long delay while initializing RAID-0 in kernel

Hurray!
Solved this issue - Posting solution here for posterity....

My mdadm.conf had

ARRAY /dev/md1 metadata=1.2 name=archiso:1 UUID=c95305b7:3e38c710:f7baf1f9:9711c869
ARRAY /dev/md0 metadata=1.2 name=archiso:0 UUID=514bcc23:3a298779:235e3907:43d2e5e9

I changed that to simply

ARRAY /dev/md1 UUID=c95305b7:3e38c710:f7baf1f9:9711c869
ARRAY /dev/md0 UUID=514bcc23:3a298779:235e3907:43d2e5e9

That was it!

Now I have

[    2.820579] md: md1 stopped.
[    2.821200] md: bind<sdb2>
[    2.821384] md: bind<sda2>
[    2.822487] md/raid0:md1: md_size is 400110592 sectors.
[    2.822565] md: RAID0 configuration for md1 - 2 zones
[    2.822633] md: zone0=[sda2/sdb2]
[    2.822742]       zone-offset=         0KB, device-offset=         0KB, size= 195311616KB
[    2.822859] md: zone1=[sda2]
[    2.822952]       zone-offset= 195311616KB, device-offset=  97655808KB, size=   4743680KB

[    2.823134] md1: detected capacity change from 0 to 204856623104
[    2.823975]  md1: unknown partition table
[    2.830596] md: md0 stopped.
[    2.831730] md: bind<sdb1>
[    2.831912] md: bind<sda1>
[    2.833088] md/raid0:md0: md_size is 407552 sectors.
[    2.833164] md: RAID0 configuration for md0 - 1 zone
[    2.833232] md: zone0=[sda1/sdb1]
[    2.833341]       zone-offset=         0KB, device-offset=         0KB, size=    203776KB

[    2.833523] md0: detected capacity change from 0 to 208666624
[    2.834209]  md0: unknown partition table
[    2.861592] EXT4-fs (md1): mounted filesystem with ordered data mode. Opts:$ sudo hdparm -t /dev/md1


Went from 5 seconds down to 0.04

This RAID0 really blazes!

$ sudo hdparm -t /dev/md1
/dev/md1:
Timing buffered disk reads: 1632 MB in  3.00 seconds = 543.76 MB/sec

smile smile smile

Last edited by rep_movsd (2013-08-25 00:15:15)

Offline

#3 2013-08-24 23:27:48

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,424
Website

Re: [Solved] Long delay while initializing RAID-0 in kernel

Glad you got it sorted.

Please remember to mark your thread as [Solved] by editing your first post and prepending it to the title (you can add in the code tags at the same time).


Arch + dwm   •   Mercurial repos  •   Surfraw

Registered Linux User #482438

Offline

Board footer

Powered by FluxBB