Resources > Unix and Linux Data Recovery
Kroll Ontrack engineers have the expertise and experience to recover data from your UNIX and Linux systems, be it simple terminal or a RAID 5 server.
Whatever the data loss situation, Kroll Ontrack have the most advanced tools and techniques in the industry and here is a small sample of the types of problems we regularly recover:
Background - UNIX/Linux data recovery - File Systems explained
We support one of the largest ranges of UNIX & Linux file systems in the industry. Even if our current tools do not support your variation we have a team of software developers capable of Just In Time (JIT) development to modify or create new tools to match your needs.
| Supported UNIX OS | Supported Linux OS | Supported File Systems |
|
|
|
EXT 2 file system (sometimes known as the second extended file system) was originally designed for the Linux platform and was released in 1993. It has since been superseded by EXT3 which added a few new features the most notable being the journaling. EXT3 is currently the default file system for most of the popular Linux distributions.
Like many other UNIX file systems the main structure is very similar to that of the original UNIX Fast File System (FFS). The partition is split up into Cylinder Groups and originally each of these groups contains a Superblock, Group Table, Data Bitmap, Inode Bitmap, Inodes and finally Data. However more recent versions of EXT2 and EXT3 have Sparse Cylinder Groups which contain only Inodes and Data.

The EXT2 & 3 file systems have a fixed number of Inodes and these are mapped out on the partition by the Superblocks and group tables. These Inodes are used to represent both files and directories and contains:

The data block pointers are the part of the inode that address the file data on the drive.
The first twelve are point to the physical blocks containing the data, the last three however point to the data blocks indirectly (single, double and triple indirects). The single indirect contains the address of a block containing direct pointers as shown in the diagram, the double indirect points to a block containing single indirect pointers and logically the triple indirect points to block containing double indirect pointers. This can be very difficult to visualise but basically each step of indirection allows the amount of data to be addressed to increase exponentially.
XFS was originally developed by SGI in 1993 to overcome some of the performance and scaling limitations of FFS. It was first released in 1994 with IRIX v5.3 and in 2000 SGI released the code as open source, it was then officially included in the Linux kernel from 2003. XFS structure is very similar to that of FFS at first glance. It keeps the cylinder group system of splitting the partition but names them allocation groups and it also has superblocks and uses inodes to contain the file metadata however this is where the similarities end.
Unlike FFS the file system does not have a fixed number of inodes pre-allocated on the drive, instead it is the job of each allocation group to monitor freespace and dynamically allocates inodes as required by the file system. These inodes are organised in a balanced B+ tree, this makes traversing the directory structure much quicker than the traditional list system implemented in FFS. However to maintain high performance the B+ tree must remain balanced as more inodes are allocated and this requires a relatively advanced algorithm. XFS inodes also use extents (run lists) to address data instead of addressing individual data blocks like FFS as this normally scales a better for large files.
XFS also includes journaling to offer file system recoverability in case of system crashes and power failures. However XFS only journals the file system metadata so while the volume can be repaired and mounted there can still be user data loss.
Another feature of XFS is delayed allocation, a method of allocating the blocks for file data while caching the data in memory. This data is then only actually written to the file system when the cache is flushed by the operating system. The main advantages of this approach are that it can often dramatically reduce fragmentation especially with files that expand slowly and it often reduces CPU load.
In 1990 IBM first released JFS with AIX version 3.1. Later in 1999 IBM ported it to OS/2 and released a version of JFS to open source community and by 2006 there was a stable version for Linux.
The design philosophy behind JFS is comparable to that of XFS and they overcome many of the performance limitations of FFS in similar ways even though the final implementations are different. They both use metadata journaling to offer file system recoverability, dynamically allocated inodes, extents to address the data area and also B+ trees to transverse directories. Please see the XFS section for details.
Logical Volume Management is a method of overcoming some of the limitations of using traditional partition methods to allocate storage space on media. Commonly included features are:
Conventionally the space on hard drives is split up into partitions which file systems are written directly to. LVM however works a bit differently, the disks are still allocated using partitions but these are seen as physical volumes to the LVM. These physical volumes are then pooled together as either a RAID or through spanning to form a Volume Group. The Volume Group can then be allocated to form Logical Volumes on which the file systems actually reside. The diagram below shows a relatively simple example of how an LVM might be used.

Modern versions of UNIX each have their own variations of LVM and depending on the vender they have different names and feature sets. Linux also has an LVM which was originally based on the Hewlett Packard UNIX version. One notable feature missing from both the HP and Linux LVM is that they have no implementation for parity fault tolerance, hence no software RAID 5 support.
Windows 2000, 2003, XP & Vista have an equivalent system called Logical Disk Manager, which provides similar functionality.
Data Recovery Solutions
| Contact us | About us | Legal notices | Privacy policy
Kroll Ontrack Ltd - Legal Technology Solutions: Tower Place West
London EC3R 5BU, UK | Data recovery: 1 Weston Road, Kiln Lane, KT17 1JG, UK

