Understanding Linux Hard Disk Partitioning and Linux File Systems – System Administration Training

The Linux Hard Disk Partitioning Process

A hard disk is partitioned and then it is assigned a filesystem type and then it is formatted.

Assigning a filesystem type to a partition specifies the “type” of it and prepares (formats) it so that it can accept files.

Do not confuse assigning a filesystem “type” with assigning a filesystem (formatting).

Linux Hard Disk Partitioning – File Systems and Filesystem Types

Most Linux documentation and utilities refer to a file system as filesystem (one word).

A filesystem type is assigned to and specified for a partition to provide it with support for the file structure of itself (for its directories and subdirectories) and for all of the files that will be used on it, such as the Linux program files and data files.

For example, the current default filesystem type for many distributions, such as Red Hat, Fedora and others, is ext3 (extended filesystem 3).

Prior to ext3, the default filesystem was ext2 (extended filesystem 2). Some other distributions have a different default filesystem, but ext3 is on the way to becoming the de facto standard for Linux.

Linux Hard Disk Partition “Rules”

A Linux partition can be all or part of a hard disk.

If you have two hard disks in a system, then one disk can have one partition, filesystem type and operating system on it that uses the entire disk and the other disk can have a different set of these items, that uses the entire disk.

Both disks can also have more than one partition, filesystem type and operating system.

If you only have one Linux hard disk in a system, then you can create two or more partitions on the disk, assign each one a different filesystem type and install a different operating system on each.

A partition cannot contain more than one filesystem type and does not typically contain more than one operating system. However, you can have a single OS on a system that uses multiple filesystem types on multiple partitions (one filesystem type per partition).

The “standard” Windows and Linux operating systems require at least one partition each. If a system requires both of these operating systems, then you need at least one partition for each of them.

The Linux hard disk partitioning concepts and commands covered here apply to: Red Hat, Fedora, Slackware, Ubuntu, and Debian Linux – and ALL other versions.

Understanding Linux Filesystems & Linux Filesystem Types – Linux System Admin Training – Run Ubuntu

The Default Linux File Systems (Filesystems)

The default filesystems that are recognized by Linux are specified in the text file named filesystems in the /proc directory.

Four of the filesystems that are commonly found on a Linux system are: ext2 (old and less common), ext3 (very common), iso9660 and swap.

Some Linux distributions also use other filesystems.

For example, instead of the ext3 filesystem, the SUSE and openSUSE distributions use the reiserfs filesystem by default.

In addition to the above filesystems, by default Linux can also recognize a partition that is a “swap” partition.

Depending on the documentation that you are reading and the command or utility that you are using, “swap” is not typically considered to be a filesystem type. It is a type of partition that is treated by the OS as virtual memory (where hard disk storage space works as though it is RAM memory).

The following is a description of some of the commonly used Linux filesystems.

ext2 (second extended filesystem) supports UNIX/Linux files and directories and allows for long file names (up to 255 characters).

ext3 (third extended filesystem) is the current default filesystem for Red Hat, Fedora and many other Linux distributions. The ext3 filesystem is on the way to becoming the de facto standard for Linux.

ext3 is based on the previous ext2 filesystem. It is basically the same as ext2, with the main difference being that ext3 supports a feature called “journalling”. The greatest benefit of this feature is that it provides a quicker recovery when a filesystem “crash” occurs and a system goes “down” (and stops working).

If files are corrupted on a partition using ext2, then the Linux fsck (filesystem check) utility is run to check the filesystem and repair it and this can take a very long time.

When the files on an ext3 filesystem become corrupted, then the fsck utility is still run to check and repair the filesystem, but this takes much less time due to the journalling feature of ext3.

vfat is the Linux filesystem that is compatible with DOS file names and Windows long file names. In some Linux utilities, “vfat” appears as “fat” or “fat32”.

iso9660 is the filesystem used on a CD-ROM.

swap (a.k.a. Linux swap partition, swap drive, swap space) is a disk partition that is used by the Linux OS as “virtual memory”. Linux uses the disk space that you have specified for the swap drive as though it were RAM (memory chips in your system).

The Linux filesystem type concepts and definitions covered here apply to: Ubuntu, Debian, Red Hat, Fedora, SUSE, Slackware, openSUSE – and ALL other Linux distributions.

Distributing the Processing and Storage Function in Distributed Systems

In distributed system, multiple computers are connected on the network working together as a system. These computer are independent but their collection appears to it users as a single coherent system. Distributed system provides sharing of resources and information. Processes executed on these systems can communicate with one another by exchanging messages over communication channel.

The distributed processing refers to LAN designed so that a single program can run simultaneously at various sites. Most distributed processing systems contain sophisticated software that detects idle CPUs on the network and parcels out programs to utilize them.

Another form of distributed processing involves distributed database, databases in which the data stored across two or more computer systems. The database system keeps track of where the data is so that the distributed nature of the database is not apparent to users.

A distributed database consists of two or more data files located at different sites on a computer network. Because the database is distributed, different users can without interfering with one another. However, the DBMS must periodically synchronize the scattered database to make sure they all have consistent data.

The software system that facilitates the the management of a DDB in such a way that the distribution aspects are transparent to users.

A DDBMS running on a different computer at each site can handle local applications autonomously and participates in at least one global application requiring data from other sites. Communication between different sites via a network is essential for any global application.

The Functions of Such DDBMS are:

To extend communication services to provide access to remote sites and allow the transfer of queries and data across the network.
To extend the DD to store data distribution details.
To provide distributed query processing, including optimization and remote data access.
To extend accuracy control to maintain consistency of replicated data.
To extend recovery services to take account of failures either of sites or of communication links.

Distributed data storage:

There are two approaches for storing data in distributed database.

Replication: The system create different similar copy of any data and each copy is stored on different places. There are two types of replication strategy.
Selective Replication
Complete Replication

Complete Replication: The complete replication strategy consists of maintaining a complete copy of the database at each site. This maximizes accessibility and reliability, but costs of storage and the communications needed for updates may be high.