August 19, 201015 yr One of my HDDs (disk3) was nearly dead. It's when I made a parity check that I've see that the process was very very slow, it's because of this disk3, with very slow reading. The Smart Status report of disk3 shows some strange info about "Reallocated_Sector_Ct"... So, I've made a cleardisk on a new 1TB disk, add it to the array, then copy the content of the disk3 on this new disk. Because the parity process is preserved, it seems to be a good way to do. Everything fine, except there is no way to remove the disk3 now. And in the case of a hardware failure on another HDD, it may be a bad issue if the disk3 fail completely while rebuilding. After some reading on the forum, I've found there is no solution to remove the disk3 while preserving the parity, so I've decided to remove it and restart the parity calculation from scratch after. First solution : stop the array, then unassigning the disk3, and restarting the array : it still in the array (I can access it), with a red (purple?) ball, status "Not installed" (in italic), and there is no way to verify or restart a parity process ---> I'm in great trouble. The "phantom" of the disk3 is still there, but there is no way to kill this phantom for good (of course, it's already dead, yeah I know). Then I'm going to put this parity away for a while, because I want to have the hand on my array; unassigning the parity disk is not the good idea, because there is no way to start the array at all, I was completely stopped : "Stopped. Invalid configuration. Too many wrong and/or missing disks!" and the start button is grayed. No way to bypass, except if I reassign back the correct parity disk, but the previous problem back again. And now the best part, if I put the wrong disk back in the array, I'm now with a blue ball, and the rebuilding of the disk3 will be done if I start the array, with completely useless datas, on the disk3 --> a good way to loose a lot of time, and also some data maybe. I don't want to rebuild disk3, there is really nothing on it, because I've made a copy on the new disk before. Now my array is started, but I'm unprotected, and I really don't know how go forward. It's very annoying, because what I want is simply to preserve parity on the whole process, even looking before any hardware fail, but now I'm completely in the mess.... I understand that there is NO good solution of this problem, except to replace a nearly bad disk by a new one with all the rebuilding process, but even in this case there is no parity protection while rebuilding, of course, and all the disks will be running for a while. If I click on the "Check and correct parity" button in the "Array Management" of the unMenu, nothing happens. No way to remove the phantom of this bad disk, no way to restart parity, what should I do now?
August 19, 201015 yr I believe you would need to run initconfig (what replaced the RESTORE button) to make it forget disk3 and then need to rebuild then check parity. But please do not do this until someone else confirms it. I'm still learning the ropes. Found the link I was looking for: http://lime-technology.com/wiki/index.php?title=Un-Official_UnRAID_Manual#Remove_one_or_more_data_disks
August 19, 201015 yr One of my HDDs (disk3) was nearly dead. It's when I made a parity check that I've see that the process was very very slow, it's because of this disk3, with very slow reading. The Smart Status report of disk3 shows some strange info about "Reallocated_Sector_Ct"... So, I've made a cleardisk on a new 1TB disk, add it to the array, then copy the content of the disk3 on this new disk. Because the parity process is preserved, it seems to be a good way to do. Everything fine, except there is no way to remove the disk3 now. And in the case of a hardware failure on another HDD, it may be a bad issue if the nearly disk3 fail completely while rebuilding. After some reading on the forum, I've found there is no solution to remove the disk3 while preserving the parity, so I've decided to remove it and restart the parity calculation from scratch after. First solution : stop the array, then unassigning the disk3, and restarting the array : it still in the array (I can access it), with a red (purple?) bullet, status "Not installed" (in italic), and there is no way to verify or restart a parity process ---> I'm in great trouble. The "phantom" of the disk3 is still there, but there is no way to kill this phantom for good (of course, it's already dead, yeah I know). Then I'm going to put this parity away for a while, because I want to have the hand on my array; unassigning the parity disk is not the good idea, because there is no way to start the array at all, I was completely stopped : "Stopped. Invalid configuration. Too many wrong and/or missing disks!" and the start button is grayed. No way to bypass, except if I reassign back the correct parity disk, but the previous problem back again. And now the best part, if I put the wrong disk back in the array, I'm now with a blue bullet, and the rebuilding of the bad disk will be made if I start the array, with completely useless datas, on the bad disk --> a good way to loose a lot of time, and also some data maybe. I don't want to rebuild this disk, there is really nothing on it, because I've made a copy on the new disk before. Now my array is started, but I'm unprotected, and I really don't know how go forward. It's very annoying, because what I want is simply to preserve parity on the whole process, even looking before a hardware fail, but now I'm completely in the mess.... I understand that there is NO good solution of this problem, except to replace a nearly bad disk by a new one with all the rebuilding process, but in this case there is no parity protection while rebuilding, of course, and all the disks will be running for a while. Even if I click on the "Check and correct parity" button in the "Array Management" of the unMenu, nothing happens. No way to remove the phantom of this bad disk, no way to restart parity, what should I do? Basically you should not have tried to work around the process unRAID puts into place to replace a bad drive. If you do NOT trust your drives to re-construct the defective drive, then you cannot trust the disks to zero out a removed drive. Your "cautious" approach has gotten you into the bind you are now in. The process to zero a drive ONLY works if the array is healthy. To get back to where you can re-start the array you'll need to re-assign the parity drive. Once ONLY one drive is missing the array will start. If it does not start, you'll need to set a new initial configuration. This will completely invalidate parity until it can be re-calculated. If you did not make a copy of the "emulated" data from the failed drive, it will be lost, as parity in combination with all the other data drives is the only way to re-construct it. Assuming you have your data on the new drive, you can Assign the new-drive, and all the old working drives, and parity, and then issue the "initconfig" command after first stopping the array and then logging in at the system console or via telnet as "root" (Or, if on an older version of unRAID with a button labeled as "restore", check the box under it to enable it. Then press it. It is only visible when the array is stopped.) Again, you'll immediately invalidate parity, and have no protection at all until parity is completely calculated once more. Again, any "simulated" data from disk3 will be gone. What you should have done is to simply stop the array, replace disk3 with the replacement drive and then press "Start" By now you would be back up and running with parity. Instead, you've just gotten it and yourself confused. With a failing disk in the array you should NEVER have added an additional disk to the array in a different slot. Joe L.
August 19, 201015 yr Author Thanks (a lot) for answer. OK. What I should do now : - Stop the array - Telnet as root - initconfig - back on main menu, parity should be calculated now - wait until the end...(look at your watch if it still works) Is it correct? In this case, and in some other case, it may be a good idea to have a process to swap drives while preserving the parity process (it's not the case on rebuilding, and it's a long process, using all the drive). Simply to change a drive to a bigger one, or swap a suspicious drive to another (already cleared) one. Is it the zero process? How can I zeroing a disk on the array? And a zero'ed drive, is it like a cleardisk'ed one?
August 19, 201015 yr Thanks (a lot) for answer. OK. What I should do now : - Stop the array - Telnet as root Good so far. At this point you'll also want to assign the drives you want as part of the new configuration. (If everything is assigned correctly and the old disk3 is un-assigned then you are already there. You'll want to assign the parity drive. Once you run the initconfig command, and then subsequently start the array, parity will be completely re-calculated based on the new configuration. - initconfig Then on the main web-interface, refresh the screen. All the drives should show as "blue" Then, press the "Start" button. (might need to check the box under it to enable it) Then, the array will start and parity will be calculated. It will take anywhere from 4 to 20 hours, depending on the speed of your hardware and the sizes of the disks, and the number of the disks. - back on main menu, parity should be calculated now - wait until the end...(look at your watch if it still works) Is it correct? Pretty close. In this case, and in some other case, it may be a good idea to have a process to swap drives while preserving the parity process (it's not the case on rebuilding, and it's a long process, using all the drive).Simply put, there is no other way other than the "zeroing" trick as described in the wiki. Simply to change a drive to a bigger one, or swap a suspicious drive to another (already cleared) one. Is it the zero process? How can I zeroing a disk on the array? As I said, it is described in the wiki. It will only work if your hardware is good. And a zero'ed drive, is it like a cleardisk'ed one? A zeroed drive is NOT the same as a pre-cleared disk. It would NOT be recognized as pre-cleared, and would be cleared AGAIN by the array (while it is off-line) it you were to add it as a new disk in a previously unused "device" slot on the devices page. Unfortunately, there is no magic. If you wish to up-size a disk, use the procedure designed into unRAID. Stop the array Put the new, bigger disk in the slot previously occupied by the old,smaller disk. Start the array. Let it re-construct the old-contents onto the new. Joe L.
August 19, 201015 yr Author That's a complete and very concise explanation, thanks a lot. Simply put, there is no other way other than the "zeroing" trick as described in the wiki. I can't find anything called zero or zeroing process/trick in the wiki, any links ?
August 20, 201015 yr That's a complete and very concise explanation, thanks a lot. Simply put, there is no other way other than the "zeroing" trick as described in the wiki. I can't find anything called zero or zeroing process/trick in the wiki, any links ? It was in this section of the wiki: http://lime-technology.com/wiki/index.php?title=Best_of_the_Forums It was titled: - How to remove a drive from an array without losing parity protection and led to this thread: http://lime-technology.com/forum/index.php?topic=2591.msg20919#msg20919 You did not find it because it does not mention "zeroing" in the wiki itself. It assumes all your disks are working...., but you want to permanently remove one. Joe L.
August 20, 201015 yr In this case, and in some other case, it may be a good idea to have a process to swap drives while preserving the parity process (it's not the case on rebuilding, and it's a long process, using all the drive). Just to make it very clear, the unRAID architecture allows for the recovery from a single failed drive. You just experienced a single failed drive. You have no protection during the time the drive is failed until it is replaced and rebuilt. This is more or less the same as using a RAID5 array. You will have no protection against a second drive failing no matter what method is used to replace the drive. You are not preserving parity by doing your method. If, shortly after you added the new disk, the disk3 had failed then you'd also have no parity protection. With unRAID you could still continue to copy the data from disk3 to the new disk, but doing that is no better than allowing the disk3 to be rebuilt onto the new drive. If you want to have protection against a second drive failing after one drive has already failed then you should chose a solution that employs RAID6 or better. Peter
Archived
This topic is now archived and is closed to further replies.