Hey all
I'm rather stuck with a situation, and hope someone can help
Anyway, I built myself a media server with HP N36L microserver and 4 2TB EARX WD drives running in RaidZ
Originally I was using FreeBSD, but ended up messing something up and formatted it and moved to ubuntu (possibly not the best choice), mostly because not being really clued up with *nix in general, ubuntu was simpler to get around, although I have learnt a lot
Regardless, 2 of my drives started showing bad sectors, and this past weekend I decided to replace them, so I swapped out the 1st drive
To learn that using ZFSonLinux (Native ZFS) is some what flawed when it comes to this aspect
It has been working fine (well functioning, but the failing drives whee causing hassles), untill I tried to replace
using zpool replace command wouldn't work as it constantly return that the old drive I'm replacing, does not exist, which of coarse it does not, as it has been swapped out
I spent a good few hours trying, and researching, and all I turned up is that it is meant to be as easy as I had thought it would have been, but the command just doesn't work that way in ubuntu
So after getting frustrated, I downloaded Nas4Free, and made a live USB
And behold, importing the array, and running zpool replace, worked flawlessly, and 40 odd hours later (after loosing some data, due to the other drive being in bad shape as well) it completed
So all was well, I rebooted and loaded up ubuntu, and it read the repaired array
But it started resilvering again, so I left it to be
It completed again, but much quicker, like 8 hours, I thought all was ok
but even though it was done, I still get this:
But thought nothing of it and assumed it would go away after a reboot
So I shutdown and pulled the old drive to go and swap it out, and got home, put in the new drive and booted up
To only notice that it is resilvering again, but not to the new drive, but to the other replacement drive
So again, I left it, and let it finish
Once it was done, which again was quickish, another 8 hours, of which my array was online and it was actually more stable with streaming and copying than before I replaced the drives, it has been functioning ok
So I rebooted and proceeded to boot up Nas4Free again, and import my array
Except now I cant, when I import the array directly, it gives and error, something like the variable is to large
So I ran zpool import -f, and the array imports, but says it is unavailable and says that the replaced drive is corrupted and obviasly the other drive is missing
So I reboot back into ubuntu and the array is available, and starts resilvering the replacement drive again
So now I'm stuck
I cant add the other drive to hope that it rebuilds, as ubuntu is a mess with ZFS (I'm really regretting the move) and the other OS says my array is corrupted
[The errors are noted, it doesn't seem to be loosing any thing more than on the rebuild, it just keeps noting the same stuff, maybe one or two other files are lost]
I'm at a loss
All I can think I can do now is to copy off what I can onto extra HDD space I have on my rig and other server and count my losses and destroy the array and create it again (probably on a differant OS)
So
With all that said, does anyone have any suggestions on what I should do
If I have to break my array down, what OS would you guys recommend I use instead, FreeBSD was cool, but it was a bit out of my league, spent to much time trying to get stuff to work or fix, I'm not sure what would be inbetween the ease of ubuntu and the harcoreness of BSD
I'm rather stuck with a situation, and hope someone can help
Anyway, I built myself a media server with HP N36L microserver and 4 2TB EARX WD drives running in RaidZ
Originally I was using FreeBSD, but ended up messing something up and formatted it and moved to ubuntu (possibly not the best choice), mostly because not being really clued up with *nix in general, ubuntu was simpler to get around, although I have learnt a lot
Regardless, 2 of my drives started showing bad sectors, and this past weekend I decided to replace them, so I swapped out the 1st drive
To learn that using ZFSonLinux (Native ZFS) is some what flawed when it comes to this aspect
It has been working fine (well functioning, but the failing drives whee causing hassles), untill I tried to replace
using zpool replace command wouldn't work as it constantly return that the old drive I'm replacing, does not exist, which of coarse it does not, as it has been swapped out
I spent a good few hours trying, and researching, and all I turned up is that it is meant to be as easy as I had thought it would have been, but the command just doesn't work that way in ubuntu
So after getting frustrated, I downloaded Nas4Free, and made a live USB
And behold, importing the array, and running zpool replace, worked flawlessly, and 40 odd hours later (after loosing some data, due to the other drive being in bad shape as well) it completed
So all was well, I rebooted and loaded up ubuntu, and it read the repaired array
But it started resilvering again, so I left it to be
It completed again, but much quicker, like 8 hours, I thought all was ok
but even though it was done, I still get this:
Code:
replacing-1 DEGRADED 0 0 0
3083943840068194838 OFFLINE 0 0 0 was /dev/disk/by-id/ata-WDC_WD20EARX-00PASB0_WD-WCAZA9745385
ata-ST2000DM001-1CH164_Z1E2T4HH ONLINE 0 0 0
But thought nothing of it and assumed it would go away after a reboot
So I shutdown and pulled the old drive to go and swap it out, and got home, put in the new drive and booted up
To only notice that it is resilvering again, but not to the new drive, but to the other replacement drive
So again, I left it, and let it finish
Once it was done, which again was quickish, another 8 hours, of which my array was online and it was actually more stable with streaming and copying than before I replaced the drives, it has been functioning ok
So I rebooted and proceeded to boot up Nas4Free again, and import my array
Except now I cant, when I import the array directly, it gives and error, something like the variable is to large
So I ran zpool import -f, and the array imports, but says it is unavailable and says that the replaced drive is corrupted and obviasly the other drive is missing
So I reboot back into ubuntu and the array is available, and starts resilvering the replacement drive again
So now I'm stuck
I cant add the other drive to hope that it rebuilds, as ubuntu is a mess with ZFS (I'm really regretting the move) and the other OS says my array is corrupted
Code:
pool: tank
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Mon Jan 28 16:54:20 2013
1,47T scanned out of 6,44T at 257M/s, 5h37m to go
165M resilvered, 22,78% done
config:
NAME STATE READ WRITE CKSUM
tank DEGRADED 0 0 1,61K
raidz1-0 DEGRADED 0 0 3,23K
3527413270148406706 UNAVAIL 0 0 0 was /dev/disk/by-id/ata-WDC_WD20EARX-00PASB0_WD-WCAZA9725516
replacing-1 DEGRADED 0 0 0
3083943840068194838 OFFLINE 0 0 0 was /dev/disk/by-id/ata-WDC_WD20EARX-00PASB0_WD-WCAZA9745385
ata-ST2000DM001-1CH164_Z1E2T4HH ONLINE 0 0 0 (resilvering)
ata-WDC_WD20EARX-00PASB0_WD-WCAZA9718650 ONLINE 0 0 0
ata-WDC_WD20EARX-00PASB0_WD-WCAZA9748645 ONLINE 0 0 0
errors: 4163 data errors, use '-v' for a list
[The errors are noted, it doesn't seem to be loosing any thing more than on the rebuild, it just keeps noting the same stuff, maybe one or two other files are lost]
I'm at a loss
All I can think I can do now is to copy off what I can onto extra HDD space I have on my rig and other server and count my losses and destroy the array and create it again (probably on a differant OS)
So
With all that said, does anyone have any suggestions on what I should do
If I have to break my array down, what OS would you guys recommend I use instead, FreeBSD was cool, but it was a bit out of my league, spent to much time trying to get stuff to work or fix, I'm not sure what would be inbetween the ease of ubuntu and the harcoreness of BSD