Filesystem

From Amahi Wiki
Jump to: navigation, search
Warning.png WARNING
Recommended for advanced users ONLY.


Corrupt

Filesystems are corrupted, due to a power failure or system crash. Generally, after a system crash or power outage (what? No UPS?), the system will come up and repair itself.

If you are using a journalling filesystem like ext3fs, jfs, xfs or resiserfs, it will usually perform a roll-forward recovery from its journal file and carry on. Even with the older ext2fs, the system usually runs an fsck (file system check) on the various file systems and repairs them automatically.

However, just occasionally manual intervention is required - ; you might have to answer 'Y' to a string of questions (answering 'N' will get you nowhere unless you intend to perform really low-level repairs yourself in a last-ditch attempt to avoid data loss).

In the worst case, you might have to reboot from rescue media and manuall run the e2fsck (or similar) command against each filesystem in turn. For example:

e2fsck -p /dev/hda7
  • If the program complains that the superblock - the master block that links to everything else - is corrupted, it is useful to remember that the superblock is so critical that it is duplicated every 8192 blocks through the filesystem and you can tell e2fsck to use one of the backups:
e2fsck -b 8193 /dev/hda7
  • One or more filesystems cannot be found and mounted: Check the contents of /etc/fstab - in making quick alterations here, typographical errors are common. You can use the e2label command to view the label of each filesystem: some distributions set these to the mount point so you can figure out what is what.

Full

Is a filesystem full? This can show up in lots of different ways: being unable to save files, print jobs not spooling correctly (especially on Samba print/file servers), and so on. Use the df command to see available space:

[root@freya home]# df -H
Filesystem              Size  Used Avail Use% Mounted on
/dev/Volume00/LogVol00 520MB 254MB 240MB 52%  /
/dev/hda3              128MB 2 1MB 101MB 17%  /boot
/dev/Volume00/LogVol03 2.2GB 134MB 1.9GB  7%  /home
/dev/Volume00/LogVol05 520MB 8.5MB 485MB  2%  /opt
none                   264MB     0 264MB  0%  /dev/shm
/dev/Volume00/LogVol02 1.1GB  36MB 969MB  4%  /tmp
/dev/Volume00/LogVol01 4.3GB 3.0GB 1.1GB 75%  /usr
/dev/Volume00/LogVol06 1.1GB 101MB 903MB 11%  /usr/local
/dev/Volume00/LogVol04 3.2GB 2.3GB 756MB 75%  /var
/dev/hda1               16GB  13GB 2.8GB 83%  /mnt/winc
  • Remember that a filesystem can fill up either because almost all of its data blocks are used up (some are reserved for the root user, just to get out of trouble) or because all its i-nodes (there is one of these per file) are used up.
  • If you need to make space by deleting some large files, use the command 'ls -lS' to get a directory listing that is sorted by file size. To scan an entire filesystem (e.g. /home or /var) for the largest files, use the command:
du | sort -n

The largest files will be at the end of the listing.

Data Recovery

One policy in Amahi is, to the extent possible, not handle user data directly. At least until we can do it well and reliably. We are proud to say that we are not aware of any data loss caused by Amahi.

Based on some user experiences, we have seen these tools help in recovering user data:

  • TestDisk: Data recovery software! It was primarily designed to help recover lost partitions and/or make non-booting disks bootable again when these symptoms are caused by faulty software, certain types of viruses or human error (such as accidentally deleting a Partition Table). Partition table recovery using TestDisk is really easy.
  • PhotoRec: software to recover lost files including video, documents and archives from hard disks, CD-ROMs, and lost pictures from digital camera memory.