1

Xubuntu liveCD 11.04 running on "bad machine" with mdadm RAID1 array with an unrecognizable ext4 filesystem:

To rescue some files, I installed a new hard drive and formatted it to ext4. I copied 300GB worth of files retrieved from bad machine data scraping onto the newly formatted ext4 drive. I powered down the machine and removed the HDD, connected HDD to an ubuntu "good machine".

Good machine doesn't recognize the ext4 filesystem. Trying to mount, dmesg reports:

EXT3-fs (sdd1): error: can't find ext3 filesystem on dev sdd1.
EXT4-fs (sdd1): VFS: Can't find ext4 filesystem
EXT4-fs (sdd1): VFS: Can't find ext4 filesystem

So I put the drive back in the bad machine, and the filesystem is recognized and mountable.

Experimenting, I formatted another new drive to ext4 on good machine, then installed the drive on bad machine. Bad machine doesn't recognize new drive formatted by good machine.

What could cause bad machine to speak it's own ext4 language? Can the ext4 filesystem that bad machine is creating be corrected on good machine so the data can be copied onto good machine?

Edit 0

As requested by @bersh, command output on "bad machine":

# cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc
nodev   cgroup
nodev   cpuset
nodev   tmpfs
nodev   devtmpfs
nodev   debugfs
nodev   securityfs
nodev   sockfs
nodev   pipefs
nodev   anon_inodefs
nodev   devpts
        ext3
        ext2
        ext4
nodev   ramfs
nodev   hugetlbfs
nodev   ecryptfs
nodev   fuse
        fuseblk
nodev   fusectl
nodev   pstore
nodev   mqueue
        btrfs
        iso9660
nodev   overlayfs
        squashfs

and the next one:

# lsmod|grep ext
#

(no output)

UPDATE 1

I realized I have been doing something wrong... The raid array is partitioned, I've been assembling the entire /dev/sda disk with mdadm when I should be assembling individual partitions: mdadm -A /dev/sda1 /dev/md5 and mdadm -A /dev/sda2... That doesn't answer the question though. because the non-raid ext4 partition was unrecognized on the good machine, and even if I correctly assemble the raid array, I might not be able to transfer it to a different machine and the different machine be able to recognize the ext4.

  • 1
    what says cat /proc/filesystems and lsmod|grep ext? – user55518 Jan 16 '14 at 23:43
  • Did you reboot the bad machine? It could be some file corruption that just happens to create something that works but uses a different signature or something… It would be very unlikely though. Does it happen even outside of any RAID? Could some kind of hardware (fake)RAID be involved? Are the two machines running the same version of Ubuntu (or more precisely of mke2fs)? – Gilles Jan 16 '14 at 23:51
  • How did you loose data in a RAID1, that is the more interesting question (to me), is your controller just borked? Can you copy files to a USB disk or FTP or something? – coteyr Jan 17 '14 at 4:31
  • @bersch, I edited my question to include the command output you requested. – SitChris Jan 17 '14 at 17:07
  • @Gilles, it's been rebooted to move internal drives between machines. Yeah, it happens even outside of any RAID, the drive I tried to use to transfer data scraped files had no RAID. It's got no hardware raid controllers or fakeRAID, only mdadm. Different versions of ubuntu and mke2fs on the two machines. bad machine is on a liveCD Xubuntu 11.04 with mke2fs 1.41.14, good machine is ubuntu 12.04 with mke2fs 1.42. – SitChris Jan 17 '14 at 17:38
1

There are two things that I can think of.

Some machines have an "encryption" feature that writes encrypted data to the hard disk. This is different from OS level encryption, and happens at the BIOS level. That said, the machines I have seen that in, only did that to the drives connected to the MB, and not anything external. Could your "bad machine" be doing something like that?

Second, you say the RAID array is holding the filesystem. Are you trying to access the filesystem through the RAID array, or are you trying to access the drive directly? I ask because your question sounds like you're trying to copy files from fs0 to fs1, then stick fs1 on machine2 and it's failing. If fs1 is a RAID array (even an array of one disk) then it won't work. Some controllers will auto initialize new disks that way.

That said, if you're using RAID 1, how in the world did you lose data?

  • The encryption thing seems unlikely. It's got a consumer grade gaming motherboard, but I won't rule it out. I tried to access the file system through the raid array by first assembling the raid array, mdadm -A /dev/sda /dev/md5 then mounting the md device mount -t ext4 /dev/md5 /media/seabreeze – SitChris Jan 17 '14 at 18:24
  • 1
    Oh my gosh I just realized something I've been doing wrong... The raid array is partitioned, I've been assembling the entire /dev/sda disk with mdadm when I should be assembling individual partitions: mdadm -A /dev/sda1 /dev/md5 and mdadm -A /dev/sda2... That doesn't answer the question though. because the non-raid ext4 partition was unrecognized on the good machine, and even if I correctly assemble the raid array, I might not be able to transfer it to a different machine and the different machine be able to recognize the ext4. – SitChris Jan 17 '14 at 18:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.