第六章 磁盘和文件系统管理

一,本章内容

1,磁盘及分区管理

2,文件系统管理

3RAID设备

4LVM逻辑卷管理

5,磁盘配额管理

6,文件系统维护基础

备注:本Linux系统为RHEL5.3

二,磁盘及分区管理

1fdisk查看磁盘设备列表

 第六章 磁盘和文件系统管理

可以看出,共有vda,vdbVab没有分区。

Linux系统中,所有的设备都被放置在目录/dev中。对于磁盘等存储设备而言,sd通常表示SCSI磁盘,STAT磁盘,U盘等设备,hd通常表示IDE磁盘。而软驱通常使用fd表示,光驱则用hdc或者cdrom表示。

2hdparm查看磁盘设备命令

Hdparm [option] device

I:显示硬盘提供的硬件信息

T:评估硬盘从快速缓存中读取数据的速度

t:评估硬盘从缓存区中读取数据的速度

  第六章 磁盘和文件系统管理

第六章 磁盘和文件系统管理  

Hdparm命令只能用于IDE设备,SCSI设备及RAID设备。否则,会报以下错?

 第六章 磁盘和文件系统管理

3,磁盘分区工具fdisk

Linux系统磁盘分区工具有fdiskparted等,但通常使用fdisk工具。

磁盘分区可分为:

主分区:可直接挂载并存储(一个磁盘最多只有四个主分区)。

扩展分区:特殊主分区(占用一个主分区),要使用扩展分区,必须先将扩展分区划分为可以直接挂载并存储数据的逻辑分区。

逻辑分区:

分区工具fdisk

1] 首先,第一步# fdisk /dev/vdb   #进入分区模式

2] 可以按m键获取帮助

 第六章 磁盘和文件系统管理

3] p查看磁盘中是否已存在分区

第六章 磁盘和文件系统管理

4] n 建立第一个主分区

 第六章 磁盘和文件系统管理

5] n e建立扩展分区

 第六章 磁盘和文件系统管理

6] n l建立逻辑分区

 第六章 磁盘和文件系统管理

7] p检查验证分区

 第六章 磁盘和文件系统管理

8] w将默认保存在缓冲区的分区表同步到磁盘中

 第六章 磁盘和文件系统管理

备注:如果不需要将缓冲区中的分区表同步到磁盘,可以使用命令q退出,并不保存已执行的操作。

有时候,内核无法识别新添加的分区,表现为设备目录/dev中,没有相应的分区文件或者分区文件不完全等。这时可以使用命令partprobe,让内核重新读取分区表。出现如下情况:

 第六章 磁盘和文件系统管理

三,文件系统管理

1Linux支持的文件

ext2:

ext3:

ext4:

ReiserFS:

XFS

JFS:

NFS:

Iso9660:

除此之外,还支持另一些文件系统,如vfathpfssysv等。它们各有优缺点,具体使用时按需选择。一般默认即可满足一般用户需求。

2mkfs创建文件系统

分区在使用前,应该对其进行创建文件系统(类似windows的格式化)。另外,为磁盘分区创建文件系统会丢失分区中的所有数据,因此创建文件系统之前应该备份分区中的数据。

mkfs [option] device

t:指定创建的文件系统类型

L:创建文件系统的同时,为文件系统添加卷标

c:创建文件系统前,先检查指定分区的坏道

第六章 磁盘和文件系统管理

分好区后创建文件系统,创建之后检查创建好的文件系统类型。查阅资料说#parted /dev/vdb可以,操作如下

 第六章 磁盘和文件系统管理

3e2label查看和修改卷标

卷标是用户对文件系统添加的别名,通常用于表示文件系统的用途。

# e2label device [newlabel]

[1]对于已存在文件系统的分区,可以修改卷标

# e2lable /dev/vda1 /file

[2] 不适用newlabel参数,可以查看卷标

 第六章 磁盘和文件系统管理

4mount挂载文件系统

Linux系统中,创建文件系统后,必须将文件系统挂载到某个目录,然后才能使用该文件系统存储数据。

举例如下:将分区/dev/sdb1挂载到目录/mnt/sdb1,挂载后向目录/mnt/sdb1内写入的数据实际将保存到分区/dev/sdb1内。此时将目录/mnt/sdb1称为/dev/sdb1的挂载点。

Mount [option] device directory

由于mount命令不能创建挂载点目录,因此在挂载之前,还需要使用mkdir命令创建挂载点目录。

 第六章 磁盘和文件系统管理

第六章 磁盘和文件系统管理

上面的命令输出了一个目录lost+found,这个目录只存在于文件系统的根目录中,因此可以用此方法判断文件系统是否已经挂载成功。

不指定参数,mount命令查看系统中以挂载的文件系统:

第六章 磁盘和文件系统管理

有时候,如果无法确定某设备的标识符,可以使用#fdisk的选项l列出所有的设备,然后通过容量查找对应的标识符。

注意:以上是磁盘挂载,如果是光驱挂载,U盘挂载,镜像挂载等不一样,挂载点等不同。

[1]光驱挂载

     # mount /dev/cdrom /media

[2]光盘镜像挂载

     # mount -o loop linux.iso /media

[3]U盘等移动存储设备挂载

     # mount /dev/sde1 /media

5umount卸载文件系统

使用完U盘,光盘,移动硬盘等移动存储设备后,需要先卸载已经挂载的文件系统,然后再断开与主机的连接。

umount [option] directory

直接将挂载点作为umount命令的参数即可卸载。

# umount /media

如果用户没有将已经挂载的文件系统卸载,计算机关机时,系统会自动卸载所有的文件系统。

6fstab自动挂载文件系统

 Linux系统启动时会自动挂载文件/etc/fstab中记录的文件系统,可以利用这个文件自动挂载经常使用的磁盘分区。

第六章 磁盘和文件系统管理

设置自动挂载

了解自动挂载文件中各字段的含义后,可以按上面的格式修改配置文件,并实现自动挂载文件系统。

例如要设置自动挂载/dev/sdb1,可以在文件结尾添加以下内容:

#使用设备自动挂载文件系统

/dev/sdb1         /mnt/sdb1      ext3    default       0  0

#使用卷标自动挂载文件系统

LABEL=/data         /mnt/sdb1      ext3    default       0  0

上面两行分别使用了两种不同方式挂载文件系统,第一种直接使用设备名,第二种使用卷标的方式。各有优缺点,按需选择。

添加以上内容后,系统启动时就会自动将/dev/sdb1挂载到/mnt/sdb1

设置自动挂载时,注意以下几点:

1] 如果要挂载的目录中已经存在数据,应先将数据拷贝到分区中,否则挂载之后将无法看到该目录中的原有内容。

2] 一般不要将光驱,U盘等移动设备添加到/etc/fstab文件中,这些设备更适合手动挂载。

注意:如果需要关机并从计算机上取出磁盘,应该先删除/etc/fstab文件中的自动挂载设置,然后再关机并取出磁盘,以免发生错误无法启动系统。

四,RAID设备

五,LVM逻辑卷管理

六,磁盘配额管理

磁盘配额可以限制用户或组在磁盘上存放文件的空间。

1,为磁盘配额提供支持

Linux系统中为磁盘配额提供支持的是quota软件包。如系统没安装,可自行安装。

设置磁盘配额前,必须要获得文件系统支持。为此需系统中的自动挂载文件/etc/fstab,为相应的文件系统添加挂载参数:usrquota(启动用户限额)和grpquota(启用用户组限额)。

分三步,以文件系统/dev/vdb1为例,讲解如何建立磁盘配额:

[1] 要启用文件系统vdb1的配额支持,将其修改为一下内容:

 第六章 磁盘和文件系统管理

[2] 修改完成以后,需要重新挂载文件系统,有两种方式重新挂载:

使用umount mount命令

使用mounta选项自动挂载所有分区

 第六章 磁盘和文件系统管理

[3] 修改完成以后,可以使用mount命令验证

 第六章 磁盘和文件系统管理

2quotacheck检查磁盘配额命令

启用文件系统配额后,还不能立即使用配额,还需检查相应文件系统,并建立磁盘配额文件。

quotacheck [option] filesystem

c:跳过原有配置文件,只执行新的扫描并保存到磁盘

v:显示命令详细信息

u:检查用户使用文件系统的情况

g:检查用户组使用文件系统的情况

[1] 检查磁盘分区/dev/vdb1,并将相关信息写入磁盘配置文件

第六章 磁盘和文件系统管理 

[2] 查看当前命令执行结果

#ls -l /mnt/vdb1/quota*

可以看到,命令建立了两个文件:aquota.groupaquota.user文件。这两个文件分别用于存放用户和用户组的磁盘配额信息,包括文件系统的使用情况及配置信息等。      

3repquota查看磁盘使用情况

在所有用户都可以使用的文件系统上,并不需要为所有用户都配置磁盘配额,通常只需要为那些经常存放大文件,严重占用磁盘空间的用户配置即可。

 第六章 磁盘和文件系统管理

查看上述命令的输出,并选择要限制的用户,之后就可以建立配额限制了。
4edquota建立磁盘配额命令

完成上面几小节的准备工作后,就可以开始设置磁盘配额了。

edquota [option] [username | groupname]

使用edquota建立磁盘配额时,需要指定创建配额的用户和用户组。

常用选项:

u:指定限制的用户名称

g:指定限制的用户组名称

p:复制用户或组的配额信息

t:修改过渡期,即用户的磁盘配额超过软限制的宽限时间

[1] 为用户建立磁盘配额

第六章 磁盘和文件系统管理 

运行上述命令,会打开用户配额配置页面,其中有两个softhard字段 ,前一组表示对空间大小的限制,后一组表示对文件数的限制。一般不在文件书上限制。此时修改配置页面内容保存即可。

[2] quota查看设置的磁盘配额

 第六章 磁盘和文件系统管理

[3] 如要为多用户设置相同的磁盘配额,可先设置其中一个,再使用选项p将配额信息复制给其他用户

 第六章 磁盘和文件系统管理

[4] 如需对某个组设立磁盘配额,使用选项g

 第六章 磁盘和文件系统管理

[5] 过渡期也称配额宽限时间,指用户在磁盘上存放数据的空间或文件数超过了软限制,但没有达到硬限制时,用户还能使用的最长宽限时间。用户应在过渡期内,将磁盘的使用空间降低到软限制以下,否则将无法正常使用磁盘。

使用edquota的选项t可以修改过渡期

 第六章 磁盘和文件系统管理

运行上述命令,会启动修改过渡期界面

5quotaon开启磁盘配额命令

设置好用户,用户组配额和过渡期后,还需要使用quotaon命令,在文件系统上手动开启配额限制功能。

常用选项:

u:开启用户磁盘配额

g:开启用户组磁盘配额

a:开启所有文件系统的磁盘配额限制功能

v:如果开启成功,就显示提示信息

 第六章 磁盘和文件系统管理

6quotaoff关闭磁盘配额命令

有时可能需要临时关闭磁盘配额,例如修改了用户的磁盘配额,需要重启等。

关闭磁盘配额quotaoff命令的用法,常用选项和quotaon一样。

 第六章 磁盘和文件系统管理

七,文件系统维护基础

1df查看文件系统使用情况

可以使用-h选项以更加直观形式表示容量查看:

 第六章 磁盘和文件系统管理

2du追踪大文件

du [option] [directory]

h:以更加直观形式表示文件大小

s:查看当前目录的大小(而不是目录中的文件)

第六章 磁盘和文件系统管理

查看当前目录

     第六章 磁盘和文件系统管理   

3fsck修复文件系统

fsck [option] filesystem

A:扫描/etc/fstab中列出的所有文件系统

a:自动修复文件系统中的命令,不询问用户

f:强制扫描文件系统

t:指定文件系统类型,不使用此选项时,fsck将会自动检测

 第六章 磁盘和文件系统管理

如上,使用fsck命令修复文件系统时,如果该文件系统处于挂载状态,建议先将其卸载或以只读方式重新挂载,然后再运行fsck命令修复文件系统。