November 14, 201213 yr I looked all over the wiki and didn't find what I was looking for. I need to tell Unraid that disk12 (which is currently blue) is the correct drive that is supposed to be there (so it will turn green). FYI: I am unable to start the array until unraid sees disk12 as correct. because disk11 is causing unraid to kernel panic. I unassigned this disk then restarted the system to do some troubleshooting, but this disk was not the issue. See here for further info: http://lime-technology.com/forum/index.php?topic=23568.msg207985#msg207985
November 14, 201213 yr Do you want to try and recover the data which was on disk11 or just re-initialize the array without it? The command initconfig will re-initialize the array.
November 14, 201213 yr Author I want to replace disk11 or reformat it so I can use parity to recover the data that was on that disk. So yes, I would like to recover the data. I believe the file system on disk11 is/was corrupt.
November 14, 201213 yr Well that's much harder to do. You have to first make sure the replacement drive has a proper unRAID partition on it. You first use the initconfig command to get unRAID to accept all the drives assigned how you have them then you use the command "mdcmd set invalidslot 11" to get unRAID to rebuild drive 11 when the array is started. It could be a waste of time though. If the file system on disk11 is corrupt then the rebuild could put the same corruption onto the new disk.
November 15, 201213 yr Well that's much harder to do. You have to first make sure the replacement drive has a proper unRAID partition on it. You can download and use unraid_partition_disk.sh to create the partition. (if on the 4.7 or earlier versions) or, if on the 5.0-beta/rc series there is an included utility mkmbr
November 15, 201213 yr Author Okay so I checked Disk11 on Knoppix and it caused a kernel panic when accessing the disk there as well. I then rebooted into windows and deleted the partition and reformatted it. Then Plugged the drive back into my Unraid box in it's original position (11) Then while the array was stopped ran initconfig Then mdcmd set invalidslot 11 When I went to the webgui to start the array this is what I got... multiple disks now saying unformatted when in fact they work just fine. It was running a parity sync, but I stopped it as I'm guessing it would only lead to another corrupt disk since I now have six unformatted disks instead of one. Hopefully I'm not F^&*ed
November 16, 201213 yr OK, what has probably happened is that unRAID has changed the partition on all the disks to match whatever the setting is on the config page. Not all is lost, it's fairly easy to fix. Joe L. has created a utility called unraid_partition_disk.sh as he already mentioned in a previous post. Use this and change the partition on the unformatted disks except for disk11. It's not formatted because it's blank. Here are posts describing it. http://lime-technology.com/forum/index.php?topic=15385.msg144822#msg144822 http://lime-technology.com/forum/index.php?topic=5072.msg47122#msg47122 Basically, I would do this. Click on each disk that isn't formatted on the main page. The screeen will say if it's MBR unaligned or MBR 4k Aligned. It would even be better if you can recall if they should be one way or the other. They are all 2T drives so I'm guessing you started using the 4k aligned setting at some point and now the new flash has set them back to an unaligned partition. At any rate, you want to change it to the opposite. Use the following commands to change it. If unaligned - unraid_partition_disk.sh -A -p /dev/sdX if 4k aligned - unraid_partition_disk.sh -p /dev/sdX The X is replaced with the devices, ie on your devices page you'll see a sda, sdb, sdc etc for each disk. If you want more confidence in this, then read through those threads because they go through reading the start of the disks to confirm where the partition should start. The good news is that it appears that the data rebuild had started and was working. Look at the disk reads and writes and you'll see what I mean. It was reading the other disks and writing to 11 as it rebuilt it. The bad news is that it was working on the wrong data since the partitions are messed up. So, fix the partitions and then try the rebuild again. It says hit the button to rebuild the disk so it seems to have acknowledged that the rebuild on disk11 has failed. that means you should be able to just let it go from here on out. Read the main page before starting the array each time and if it's not saying the right thing don't start the array.
November 16, 201213 yr Author So all my disks that claim to be unformatted are unaligned. So when I went to run the script it's telling me command not found. I placed the .ch file into the flash directory as his instructions specify. What am I doing wrong?
November 16, 201213 yr The flash drive is at /boot on the server. In other words, do a cd /boot first before running it or use /boot/unraid_partition.sh to run it.
November 17, 201213 yr The flash drive is at /boot on the server. In other words, do a cd /flash first before running it or use /flash/unraid_partition.sh to run it. No... From windows it is known as \\tower\flash In linux it is mounted at /boot so.... cd /boot then unraid_partition_disk.sh -A -p /dev/sdX Or type /boot/unraid_partition_disk.sh -A -p /dev/sdX
November 17, 201213 yr Crap, I thought /boot and then typed /flash. It'd be nice it was named the same on both.
November 17, 201213 yr Author Okay so I corrected them to 4K aligned. Still all of them are showing up unformatted. Is there a step I'm missing? Do I need to rerun initconfig?
November 17, 201213 yr Okay so I corrected them to 4K aligned. Still all of them are showing up unformatted. Is there a step I'm missing? Do I need to rerun initconfig? No. You need to analyze why they cannot be mounted. The earlier threads described the command to type to see where the file-system ACTUALLY started. Then, you can set the partition start appropriately. (It may never have been wrong) The command can be typed two ways... or you can cut and paste it: dd if=/dev/sdX count=195 | od -c -A d | sed '/R\ \ \ e\ \ \ I\ \ \ s\ \ \ E\ \ \ r\ \ \ 2\ \ \ F\ \ \ s/q' (There are three spaces between each letter in the string. The backslashes are for clairity. You could probably type: dd if=/dev/sdX count=195 | od -c -A d | sed '/R e I s E r 2 F s/q' The address of the "R e I s E r 2 F s" string line will be at 0097840 if at sector 63, and 512 bytes further (one sector further) at address 0098352 if at sector 64. Don't forget to set the /dev/sdX in the examples above to your disk device names. DO NOT RUN initconfig. Joe L.
November 17, 201213 yr Author All my disks look like this..... : 0097792 \0 020 314 003 314 003 002 \0 R e I s E r 2 F 0097808 s \0 \0 \0 003 \0 \0 \0 005 \0 253 + 002 \0 \0 \0 I've attached a syslog because I have no idea now wtf is going on. syslog.txt
November 17, 201213 yr All my disks look like this..... : 0097792 \0 020 314 003 314 003 002 \0 R e I s E r 2 F 0097808 s \0 \0 \0 003 \0 \0 \0 005 \0 253 + 002 \0 \0 \0 I've attached a syslog because I have no idea now wtf is going on. Although the offset looks a bit odd, that address seems like the partition starts on sector 63, not sector 64. Please post the result of this: dd if=/dev/sdX count=195 | od -c -A d | sed 30q It should be roughly the same but include the prior sectors. (since they are typically all zeros, the "R e I s E r 2 F s" string will normally be in the first 30 lines printed.)
November 17, 201213 yr Author root@TheHub:~# dd if=/dev/sdk count=195 | od -c -A d | sed 30q 195+0 records in 195+0 records out 99840 bytes (100 kB) copied, 0.0132995 s, 7.5 MB/s 0000000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0000448 \0 \0 203 \0 \0 \0 @ \0 \0 \0 360 z 250 256 \0 \0 0000464 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0000496 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 U 252 0000512 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0097792 \0 020 314 003 314 003 002 \0 R e I s E r 2 F 0097808 s \0 \0 \0 003 \0 \0 \0 005 \0 253 + 002 \0 \0 \0 0097824 221 : \0 \0 001 \0 \0 \0 N 222 255 274 n 202 B 206 0097840 216 027 224 ; 6 353 031 n \0 \0 \0 \0 \0 \0 \0 \0 0097856 \0 \0 \0 \0 \0 \0 \0 \0 203 \0 036 \0 367 221 ] M 0097872 \0 N 355 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0097888 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0097952 001 \0 \0 \0 I \0 \0 \0 350 001 \0 \0 001 002 \0 \0 0097968 002 002 \0 \0 003 002 \0 \0 004 002 \0 \0 \f 002 \0 \0 0097984 017 002 \0 \0 # 002 \0 \0 & 002 \0 \0 ' 002 \0 \0 0098000 ( 002 \0 \0 ) 002 \0 \0 * 002 \0 \0 + 002 \0 \0 0098016 C 002 \0 \0 D 002 \0 \0 P 002 \0 \0 R 002 \0 \0 0098032 276 003 \0 \0 321 003 \0 \0 322 003 \0 \0 325 003 \0 \0 0098048 326 003 \0 \0 327 003 \0 \0 X 004 \0 \0 Y 004 \0 \0 0098064 023 006 \0 \0 R \t \0 \0 S \t \0 \0 h \t \0 \0 0098080 i \t \0 \0 m \t \0 \0 n \t \0 \0 s \t \0 \0 0098096 t \t \0 \0 w \t \0 \0 x \t \0 \0 | \t \0 \0 0098112 } \t \0 \0 202 \t \0 \0 203 \t \0 \0 207 \t \0 \0 0098128 210 \t \0 \0 213 \t \0 \0 214 \t \0 \0 220 \t \0 \0 0098144 221 \t \0 \0 225 \t \0 \0 226 \t \0 \0 232 \t \0 \0 0098160 233 \t \0 \0 237 \t \0 \0 240 \t \0 \0 243 \t \0 \0
November 17, 201213 yr It certainly looks to me like the partition starts at sector 63. (Although it seems offset a bit from where I'm used to seeing the "ReIsEf2Fs" string.) Did you create the file system on some other machine? (other than unRAID?) or rebuild the superblock? You can re-run the unraid_partition_disk.sh without the -A option to point the partition start back to sector 63. Then try reiserfsck --check /dev/mdX on that disk (for disk1 = /dev/md1, for disk2 = /dev/md2, disk3 = /dev/md3, disk11 = /dev/md11) Joe L.
November 17, 201213 yr Author okay this is what I got after running that reiserfs_open: the reiserfs superblock cannot be found on /dev/md1. Failed to open the filesystem. If the partition table has not been changed, and the partition is valid and it really contains a reiserfs partition, then the superblock is corrupted and you need to run this utility with --rebuild-sb. So I'm guessing run the rebuild command to get the superblock corrected? Looks like there are a let of customizable options in there, just want to be sure I don't screw things up. I should follow these answers correct? http://lime-technology.com/forum/index.php?topic=1483
November 17, 201213 yr okay this is what I got after running that reiserfs_open: the reiserfs superblock cannot be found on /dev/md1. Failed to open the filesystem. If the partition table has not been changed, and the partition is valid and it really contains a reiserfs partition, then the superblock is corrupted and you need to run this utility with --rebuild-sb. So I'm guessing run the rebuild command to get the superblock corrected? Looks like there are a let of customizable options in there, just want to be sure I don't screw things up. I should follow these answers correct? http://lime-technology.com/forum/index.php?topic=1483 did you first point the partition back to sector 63? If you did not, then it would not have found the superblock, since it was not pointing to it. Joe L.
November 17, 201213 yr Author I did root@TheHub:/boot# unraid_partition_disk.sh -p /dev/sdk BLKRRPART: Device or resource busy ######################################################################## Model Family: Seagate Barracuda 7200.11 family Device Model: ST31500341AS Serial Number: 6VS02A05 Firmware Version: CC3G User Capacity: 1,500,301,910,016 bytes Disk /dev/sdk: 1500.3 GB, 1500301910016 bytes 1 heads, 63 sectors/track, 46512336 cylinders, total 2930277168 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdk1 63 2930277167 1465138552+ 83 Linux Partition 1 does not end on cylinder boundary. ######################################################################## ============================================================================ Note: this procedure does not touch any existing file-system It is intended to repair the partition table in the MBR. File system repairs may also be required. The entire 512 bytes of the MBR will be overwritten if you use this program. You will end up with a single partition starting on the second cylinder to the end of the drive. Definitions for any other partition will be erased. no other bytes on the disk will be afected. (Existing file-system data is not touched.. no byte > address 512 is touched) ============================================================================ Are you absolutely sure you want to write the MBR to partition this drive? (Answer 'Yes' to continue. Capital 'Y', lower case 'es'): Yes 48+0 records in 48+0 records out 48 bytes (48 B) copied, 0.000536282 s, 89.5 kB/s 1+0 records in 1+0 records out 446 bytes (446 B) copied, 0.000972224 s, 459 kB/s 1+0 records in 1+0 records out 1 byte (1 B) copied, 0.000146459 s, 6.8 kB/s 1+0 records in 1+0 records out 1 byte (1 B) copied, 0.000124797 s, 8.0 kB/s 1+0 records in 1+0 records out 1 byte (1 B) copied, 0.00012135 s, 8.2 kB/s 16+0 records in 16+0 records out 16 bytes (16 B) copied, 3.5557e-05 s, 450 kB/s BLKRRPART: Device or resource busy Restarting udevd ============================================================================ == Partitioning of /dev/sdk complete == ============================================================================ Disk /dev/sdk: 1500.3 GB, 1500301910016 bytes 1 heads, 63 sectors/track, 46512336 cylinders, total 2930277168 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdk1 63 2930277167 1465138552+ 83 Linux Partition 1 does not end on cylinder boundary. root@TheHub:/boot# reiserfsck --check /dev/md1 reiserfsck 3.6.21 (2009 www.namesys.com) ************************************************************* ** If you are using the latest reiserfsprogs and it fails ** ** please email bug reports to [email protected], ** ** providing as much information as possible -- your ** ** hardware, kernel, patches, settings, all reiserfsck ** ** messages (including version), the reiserfsck logfile, ** ** check the syslog file for any related information. ** ** If you would like advice on using this program, support ** ** is available for $25 at www.namesys.com/support.html. ** ************************************************************* Will read-only check consistency of the filesystem on /dev/md1 Will put log info to 'stdout' Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes reiserfs_open: the reiserfs superblock cannot be found on /dev/md1. Failed to open the filesystem. If the partition table has not been changed, and the partition is valid and it really contains a reiserfs partition, then the superblock is corrupted and you need to run this utility with --rebuild-sb.
November 18, 201213 yr Author joe Thanks already for your efforts. I'm still completely lost on whats going on. The disks are not mounting for some reason and of course it's all my high capacity drives. I'm hoping to fix this so I can move to 5.0 and hopefully prevent similar issues in the future.
Archived
This topic is now archived and is closed to further replies.