Ubuntu – Rebuilding Software Raid 1 with dmraid
Background
Recently, I had two Seagate 1TB hard drives fail. One was 4 years old and the other was the 3 month old warranty replacement. Luckily, I had two of these hard drives setup in a RAID 1 configuration. Since I have an Intel chipset, I also have Intel’s support for software RAID. After having configured this in the BIOS, I setup the Operating System side of the RAID configuration in Ubuntu.
Second HDD Failure
After connecting the second refurbished HDD from Seagate and while booting, I entered the RAID controller setup. In this screen, I saw that the new hard drive was automatically marked as ready to be used to rebuild the RAID configuration. After confirming yes, I booted into Ubuntu 11.10. The software RAID automatically started rebuilding itself. There are two main commands to monitor and confirm completion of the rebuild status. The first, gives a detailed analysis of the current RAID setup: sudo dmraid -s -v. The second, gives a detailed progress report on the re-build status: sudo dmsetup status.
Conclusion
The two 1TB hard drives usually take a few hours to completely synchronize, 2.5 hrs in my case. The process is very simple and easy.
Main Commands Used:
sudo dmsetup status (display progress)
sudo dmraid -s -v (display overall raid status, mirror and ok or nosync)
*Update: A comment left by Arie Skliarouk says that a rebuild command needs to be issued, although I recall setting the rebuild status in the BIOS, this might be needed for some users. Example command: sudo dmraid -R isw_ebdfjfbgdj
Properly Working dmraid Status:
j@j:~$ sudo dmraid -s -v *** Group superset isw_ebdfjfbgdj --> Active Subset name : isw_ebdfjfbgdj_JRaid1TB size : 1953519872 stride : 128 type : mirror status : ok subsets: 0 devs : 2 spares : 0
Needing to be Rebuilt dmraid Status:
j@j:~$ sudo dmraid -s -v *** Group superset isw_ebdfjfbgdj --> Active Subset name : isw_ebdfjfbgdj_JRaid1TB size : 1953519872 stride : 128 type : mirror status : nosync subsets: 0 devs : 2 spares : 0
Rebuild Progress Status (569/14905):
j@j:~$ sudo dmsetup status isw_ebdfjfbgdj_JRaid1TB2: 0 102400000 linear isw_ebdfjfbgdj_JRaid1TB1: 0 1851117568 linear isw_ebdfjfbgdj_JRaid1TB: 0 1953519880 mirror 2 8:48 8:32 569/14905 1 AA 1 core
Helpful Links
http://techie.org/Blog/2010/09/03/how-to-rebuild-intel-raid-isw-on-linux/
http://nitinsharma.info/linux/fakeraid-on-ubuntu-using-dmraid-part2/
Hard Drive Details:
Both 7200rpm 1TB Seagate drives
ST31000333AS (4 yrs old – Part of the Seagate Barracuda 7200.11 family)
ST31000524AS (2nd Refurbished Replacement)
thanks for this article 🙂 solved my problem!
Somehow you forgot to specify the rebuild command:
/sbin/dmraid -R isw_ebdfjfbgdj