At Tue, 31 Aug 2010 09:44:53 -0400 CentOS mailing list centos@centos.org wrote:
On Mon, Aug 30, 2010 at 09:13:07PM -0700, Gordon Messmer wrote:
On 08/30/2010 07:24 PM, fred smith wrote:
Aug 30 22:09:08 fcshome kernel: md: created md1
...
Aug 30 22:09:08 fcshome kernel: md: kicking non-fresh sda2 from array!
...
Aug 30 22:09:08 fcshome kernel: md: created md0
...
Aug 30 22:09:08 fcshome kernel: md: kicking non-fresh sda1 from array!
Yep, your arrays are broken. mdmonitor should have emailed you about this. Make sure that you receive and read mail to the root user.
/sbin/mdadm /dev/md1 --fail /dev/sda2 --remove /dev/sda2 /sbin/mdadm /dev/md1 --add /dev/sda2
/sbin/mdadm /dev/md0 --fail /dev/sda1 --remove /dev/sda1 /sbin/mdadm /dev/md0 --add /dev/sda1
there are only two drives in this mirrored array, sda and sdb. if I need to re-add them both (which, if I understand mdadm correctly, is what your suggestion above would do) how does it know which one is the correct one to re-sync the array with?
The one to resync with is the one that is now an active part of the array(s). In This case /dev/sdb1 for md0 and /dev/sdb2 for md1. The '-add' option tells mdadm that the specificed disk is to be 'added' to the existing RAID set and since this is a mirrored array, the contents of the RAID set is copied to the *added* disk.
The '--fail' and '--remove' options tell mdadm to
A) consider that the specified member has failed take it offline B) remove the specified member from being considered part of the raid set.
This effectively makes the raid sets consist of single disks (normally a silly thing to do, but perfectly possible).
When you then --add the disks back, mdadm treats these disks as *new* disks with no valid data on them. The new disks become spare sets and the raid subsystem procedes to rebuild/resync the raid array.
thanks for the info!