Yup, I wasn't root. My fault!
Rodman
-------- Original Message --------
Subject: Re: Checkarray doesn't seem to do anything
From: Piergiorgio Sartor [off-list ref]
Date: Wed, March 02, 2016 11:44 am
To: rodman@shellport.com
Cc: Piergiorgio Sartor [off-list ref],
linux-raid@vger.kernel.org
On Tue, Mar 01, 2016 at 05:50:09PM -0700, rodman@shellport.com wrote:
>
> It appears this is not an Mdadm bug but is in fact kernel/dash issue
as
> you noted, Piergiorgio.
>
> >From the bug tracker here:
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=787950
>
> "This is a kernel/dash issue. In kernel 4.0, the md sysfs
implementation
> does not work with partial reads from /sys/block/md0/md/sync_action;
> the read syscall returns the entire contents of the file even if you
> try to read less. Dash has an inefficient implementation which reads
> input one byte at a time, and fails when it hits the kernel
> misbehavior."
Just tested:
dd if=/sys/block/md0/md/sync_action bs=1 count=1
On kernel 3.x I get "i", on kernel 4.x I get "idle"... :-)
>
> The work around is what you said. Substitute bash for sh at the
> beginning of the script. Unfortunately that doesn't work for me as I
> get this error when trying to run checkarray now:
> "checkarray: E: /sys/block/md0/md/sync_action not writeable."
Well, first check the permissions with:
ls -l /sys/block/md0/md/sync_action
Then make sure you're root, otherwise it will
not be possible to write, of course.
bye,
pg
>
> I'll do some research to see what's that's about. I'm glad to know
its
> not a Mdadm issue per say.
>
> Rodman Frowert
>
> -------- Original Message --------
> Subject: Re: Checkarray doesn't seem to do anything
> From: Piergiorgio Sartor [off-list ref]
> Date: Tue, March 01, 2016 4:25 pm
> To: rodman@shellport.com
> Cc: linux-raid@vger.kernel.org
>
> On Tue, Mar 01, 2016 at 02:57:21PM -0700, rodman@shellport.com wrote:
> > Thank you for that information. My kernel is 4.2.0.
>
> I guess the problem is the same.
>
> >
> > Is this it's intended behavior or is it simply a bug that has not
been
> > corrected?
>
> Well, I think it is a bug.
> I'm not sure if "dash" bug or kernel bug.
> I suspect "dash", since "bash" works...
>
> >
> > I only bring this up as nearly all mdadm config tutorials at some
point
> > mention the checkarray function. They also point out that
checkarray is
> > also auto configured in the cron tab (cron.d) to run once a month.
But
> > of course, if checkarray doesn't work then people may think it is
> > running once a month when it really isn't.
>
> Exactly!
> I've some Ubuntu 14.04.x with old kernel, and one
> with new kernel.
> This one has a "weak" HDD in RAID (one / some blocks
> waiting for relocation).
> In my sytems the check occurs weekly, but it did not!
> Tried from command line to no avail...
> Debugging the script led to the previous result.
>
> I'm not sure, maybe someone should file a bug, but I
> have not to much faith in Ubuntu md/mdadm support.
> In the past they were slow or no reacting, and "mdadm"
> was always an obsolete version (like it is in 14.04.x).
> Maybe Debian could be a better place, not sure.
>
> bye,
>
> pg
>
> >
> >
> > Rodman Frowert -------- Original Message --------
> > Subject: Re: Checkarray doesn't seem to do anything
> > From: Piergiorgio Sartor [off-list ref]
> > Date: Tue, March 01, 2016 3:33 pm
> > To: rodman@shellport.com
> > Cc: linux-raid@vger.kernel.org
> >
> > On Tue, Mar 01, 2016 at 02:09:44PM -0700, rodman@shellport.com
wrote:
> > >
> > > Hello,
> > >
> > > I have a question as it pertains to the checkarray function of
Mdadm.
> > I
> > > can't actually get it to do anything. I'm running Ubuntu 14.04.4
> > Server
> > > LTS with the latest mdadm installed. I have a single RAID 1
mirror
> > > configured and working properly near as I can tell.
> > >
> > > I can force a check if I issue "echo check >
> > > /sys/block/md0/md/sync_action" as root. I can then see the status
of
> > > the check via /proc/mdstat or using the --detail switch on mdadm
> > itself.
> > >
> > > However, nothing happens if I type in:
> > > /usr/share/mdadm/checkarray -a
> > > or
> > > /usr/share/mdadm/checkarray -a /dev/mdX
> > > or
> > > /usr/share/mdadm/checkarray -as
> > >
> > > I've tried the commands as root and using sudo. The array sits
idle
> > > after all of the above commands. The only thing I can actually
get
> > > checkarray to perform is to give me the help output if I pass it
-h.
> > I
> > > have attached, below, the current status of the mdadm managed
array.
> > > Doing some Googling I haven't been able to find anyone else that
> > isn't
> > > able to use the checkarray function so I must be doing something
> > wrong.
> > >
> > > Any ideas?
> >
> > Well, yes, I've the same problem.
> >
> > Ubuntu 14.04.x with kernel 3.13, "checkarray" works.
> > Ubuntu 14.04.x with kernel 4.11 (I think), "checkarray"
> > does not work.
> >
> > The script runs with "dash" (not "bash") and it has
> > a "read cur_status < something_from_sysfs" in order to check
> > the array status.
> > With kernel 3.13, the "read" returns the proper value,
> > with kernel 4.11 (I think) the very same "read" exits
> > the script without any message or else.
> >
> > One option is to use "bash", that is change the top
> > of the script from: #!/bin/sh to #!/bin/bash
> >
> > Another is to change the "read", with a "cat", that is
> > something like: cur_status=$( cat something_from_sysfs )
> >
> > You can check yourself, there is only one "read" in
> > the script (if I recall correctly).
> >
> > Hope this helps,
> >
> > bye,
> >
> > pg
> >
> > >
> > > Rodman Frowert
> > >
> >
> > >
> > > cat /proc/mdstat shows:
> > > ------------------
> > > rodman@nas:/usr/share/mdadm$ cat /proc/mdstat
> > > Personalities : [linear] [multipath] [raid0] [raid1] [raid6]
[raid5]
> > > [raid4] [raid10]
> > > md0 : active raid1 sdc1[1] sdb1[0]
> > > 5860389696 blocks super 1.2 [2/2] [UU]
> > > -----------------
> > >
> > > sudo mdadm --detail /dev/md0 shows:
> > > ------------------
> > > rodman@nas:/usr/share/mdadm$ sudo mdadm --detail /dev/md0
> > > /dev/md0:
> > > Version : 1.2
> > > Creation Time : Fri Feb 26 14:07:40 2016
> > > Raid Level : raid1
> > > Array Size : 5860389696 (5588.90 GiB 6001.04 GB)
> > > Used Dev Size : 5860389696 (5588.90 GiB 6001.04 GB)
> > > Raid Devices : 2
> > > Total Devices : 2
> > > Persistence : Superblock is persistent
> > >
> > > Update Time : Tue Mar 1 07:40:19 2016
> > > State : clean
> > > Active Devices : 2
> > > Working Devices : 2
> > > Failed Devices : 0
> > > Spare Devices : 0
> > >
> > > Name : nas:0 (local to host nas)
> > > UUID : 4765e7df:0e1a6ad2:1321765f:a2d9f2c9
> > > Events : 164
> > >
> > > Number Major Minor RaidDevice State
> > > 0 8 17 0 active sync /dev/sdb1
> > > 1 8 33 1 active sync /dev/sdc1
> > >
> > > -----------------
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe
linux-raid"
> > in
> > > the body of a message to majordomo@vger.kernel.org
> > > More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
> > --
> >
> > piergiorgio
> > --
> > To unsubscribe from this list: send the line "unsubscribe
linux-raid"
> > in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > --
> > To unsubscribe from this list: send the line "unsubscribe
linux-raid" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> --
>
> piergiorgio
--
piergiorgio
--
To unsubscribe from this list: send the line "unsubscribe linux-raid"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html