有时候,你可能会需要创建一个新的ext3文件系统。例如:为Linux操作系统添加一个新的硬盘,你可能想为这个硬盘进行分区,并使用ext3文件系统。本文描述了在Linux操作系统中添加硬盘之后,创建新的ext3文件系统的过程。

 

一、ext3文件系统简介

       Red Hat Linux 7.2 发行版本开始,默认的文件系统已从 ext2 格式转换成登记式 ext3 文件系统。通常情况下,我们可以认为ext3文件系统是ext2文件系统的改进版本。

       这些改进提供了以下的优越性:

       可用性

ext3 文件系统提供的登记报表方式意味着不洁系统关机后没必要再进行文件系统的一直性检查。一致性检查只在某些罕见的硬件失效(如硬盘驱动器失效)情况下才发生。

数据完好性

ext3 文件系统在发送了不洁系统关机时提供更强健的数据完好性。

速度

尽管 ext3 把数据写入不止一次,它的总处理能力在多数情况小仍比 ext2 系统要高。

       简易转换

可以轻而易举地不经重新格式化而把 ext2 转换为 ext3 系统,从而获得强健的登记式文件系统的优越性。

目前,Linux操作系统分区的文件系统默认格式就是ext3

 

二、实验场景

       主机:Virtual Server 2K5 R2

       内存:512M

       硬盘:hda  6G

                hdb  4G

       操作系统:Fedora 2

      

       实验要求:

       在操作系统中添加第二块硬盘hdb,分成两个区,hdb1区挂在到/home下,hdb2挂载到/home/zheng下。

 

实验步骤:

1.  fdisk创建分区;

2.  mkfs将分区格式化成ext3系统;

3.  使用e2label为分区标签;

4.  创建挂载点;

5.  把分区添加到/etc/fstab文件中。

      

三、实验过程

       1.使用fdisk创建分区。

 


1

       在图1中,我们发现硬盘hdb已经添加到了系统中,但是没有进行分区。使用fdisk命令进行分区:

       Fdisk /dev/hdb



2

       2中,把hdb分成两个区,每个区为2G大小,分别是hdb1hdb2。保存并退出。

使用fdisk  /dev/hdb 验证的结果如图3



3

       2.格式化分区

       Mkfs命令的格式为:

      

      

       其中 –t是指定文件系统的类型,-V是建立输出,多用于测试,-c是先检查是否有坏块,然后再进行格式化,-j是针对ext3系统生成登记报表(journal)。



4

       4是格式化/dev/hdb1的过程。

      

       3.为分区进行标签

       E2label命令具有两种功能:查看分区的标签和为分区添加标签。

       例如: e2label /dev/hdb1

                     /home

              显示了/dev/hdb1的标签。

       如果要将/dev/hdb1添加到/home 中则要用下列命令增加标签。

              E2label  /dev/hdb1 /home

       分别指定分区的标签。

              E2label  /dev/hdb1  /home

              E2label  /dev/hdb2  /home/zheng

 

       4.创建挂载点并装载目录

              Mkdir /home/zheng        创建装载目录/zheng

             

              由于我们要装载的目录的特殊性(是除根用户以外的所有用户的主目录),所以在         装载到新的文件系统之前必须先进行备份,在装载目录之后再还原到新的文件系统。否    则一旦装载则/home目录中的内容将变成孤儿文件目录(lost+found)。因此,需要使用 备份命令,如tarcpio等。

              在创建挂载点之后,使用tar命令进行备份,并保存到其他区域:

              Tar cvzf homebackup.tar.gz /home

             

              将目录装载到文件系统。

              Mount  /dev/hdb1  /home

              Mount  /dev/hdb2  /homg/zheng

 

              在装载完目录之后,将备份还原到新的文件系统:

              Tar tkvzf  homebackup.tar.gz

      

5.  修改fstab文件

              为了使Linux系统在引导过程中装载目录,我们需要修改/etc/fstab文件。在fstab           文件中,各个字段的含义如下:

列号

字段

描述

1

Label

要安装的文件系统(如/usr)或分区(如/dev/sdb1

2

Mount Point

要装载的分区或文件系统所在的目录

3

Format

文件系统格式类型,如ext2ext3reiserfs

4

Mount Options

默认选项包括rw(读写)、suidSUID权限)、dev(终端与磁带机之类的块设备)、extc(二进制文件)、auto(自动装载)、nouser(只有根用户可以装载)和async(数据异步读写)

5

Dump Value

1表示文件系统自动写入磁盘

6

Filesystem Check Order

需要fsck的文件系统,根文件系统为1,本地计算机上的其他文件系统为2,交换、虚拟、光碟、软盘和远程目录为0

 

              因此,针对装载的目录,在fstab文件原有的基础上添加如下的内容:

              LABEL=/home                    /home            ext3        defaults          1     2

              LABEL=/home/zheng            /home/zheng   ext3        defaults          1     2

              保存文件并重新启动系统。在启动过程中可以看到图 5的内容

      


5

 

       这样,创建新的ext3文件系统基本完成。可以使用df命令验证装载的正确性。


   

 

说明:在参考资料1中所举的例子是将/home目录装载到ext3文件系统,但是并没有指出需要对该目录进行打包备份,造成目录装载完毕后在/home目录下只生成孤儿文件目录。而参考资料2中,根本没有指出在装载已经有内容的目录进行装载时要做必要的备份。

 

 

参考资料:1.《红帽Linux9 从入门到精通》                Michael Jang 著,邱仲潘

                    2.Red Hat Linux定制指南》                            © 2003 Red Hat, Inc