一;在Linux服务器中,当现有硬盘的分区规划不能满足要求(eg:根分区的剩余空间过少,无法继续安装新的系统程序)时,就需要对硬盘中的分区进行重新规划和调整,有时候还需要添加新的硬盘设备来扩展存储空间。

实现上述操作需要用到fdisk磁盘及分区管理工具,fdisk是大多数Linux系统中自带的基本工具之一,在此将通过为Linux主机新增一块硬盘并建立分区的过程,学习fdisk工具的使用;

添加好新的硬盘设备并启动主机后,Linux系统会自动检测并加载该硬盘,需要额为安装驱动。执行“fdisk -l” 命令可以进行查看,确认新增硬盘的设备名称,“fdisk -l” 命令的作用是列出当前系统中所有的硬盘设备及其分区的信息。

eg:执行“fdisk -l” 命令,确认系统新识别的硬盘设备(/dev/hdb,我添的设备好像老了点,不过一样)!

linux_文件系统管理、新增硬盘分区格式化_第1张图片

上述输出信息中包含了各硬盘的整体情况和分区情况,其中“/dev/hda”为原有的硬盘设备,而“/dev/hdb”为新增的硬盘,新的硬盘设备还未进行初始化,没有包含有效的分区信息。对于已有的分区,将通过列表的方式输出以下信息:

Device:分区的设备文件名称,

Boot:是否是引导分区,是,则有“*”标识,

Start:该分区在硬盘中的起始位置(柱面数),

End:该分区在硬盘中的结束位置(柱面数),

Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节,

Id:分区类型的ID标记号,对于EXT3分区为83,LVM分区为8e,

System:分区类型。

识别到新的硬盘设备后,接下来就可以在该硬盘中建立新的分区了,在linux系统中,分区和格式化的过程是相对独立的,关于格式化分区的操作我们会一步步的来。

规划硬盘中的分区:

在硬盘设备中创建、删除、更改分区等操作同样通过fdisk命令进行,只要使用硬盘的设备文件作为参数,eg:执行“fdisk /dev/hdb”命令,即可进入到交互式的分区管理界面中;

linux_文件系统管理、新增硬盘分区格式化_第2张图片

在该操作界面中的“Command(m for help):”提示符后,用户就可以输入特定的分区操作指令,完成各项分区管理任务,eg:m 、n、p、等;接下来就是正文了:

1、“p”指令——列出硬盘中的分区情况

使用“p”指令可以列出详细的分区情况,信息显示的格式与执行“fdisk -l”命令相同。硬盘中尚未建立分区时,输出的列表信息为空。

linux_文件系统管理、新增硬盘分区格式化_第3张图片

2、“n”指令———新建分区

使用“n”指令可以进行创建分区的操作,包括主分区和扩展分区。根据提示继续输入“p”选择创建主分区,输入“e”选择创建扩展分区。之后依次选择分区序号,起始位置、结束位置或分区大小即可完成新分区的创建。

选择分区号时,主分区和扩展分区的序号只能在1-4之间。分区起始位置一般由fdisk默认识别即可,结束位置或大小可以使用“+sizeM”或“+sizeK”的形式,eg:“+2000M”表示将该分区的容量设置为2GB。

(1)、创建一个主分区、容量为2GB;

linux_文件系统管理、新增硬盘分区格式化_第4张图片

(2)、创建一个扩展分区和一个逻辑分区:(大小:3GB)

当创建完主分区之后,我们可以使用剩余的磁盘空间创建扩展分区,然后在扩展分区中创建逻辑分区。需要注意的是,若无主分区、逻辑分区均已创建完毕(四个主分区号均已用完),则再次出入“n”指令后将不再提示选择分区类别。

再次创建扩展分区(/dev/hdb4),使用剩下的所有空间(全部空间分配完毕后,将无法再建立新的主分区)。

linux_文件系统管理、新增硬盘分区格式化_第5张图片

linux_文件系统管理、新增硬盘分区格式化_第6张图片


(3)、“d”指令——删除分区

使用“d”指令可以将指定的分区进行删除,根据提示继续输入需要删除的分区序号即可,在执行 删除分区时一定要慎重,应首先使用“p”指令查看分区的序号,确认无误在进行操作。需要注意的是,如果扩展分区被删除,则扩展分区之下的逻辑分区也将同时 被删除,因此建议从最后一个分区开始进行删除,以免fdisk识别的分区序号发生紊乱。

“d”实例演示:

(4)“t”指令——变更分区类型:

在fdisk分区工具中,新建的分区默认使用的文件系统类型为EXT3,一般不需要更改,但是如果新建的分区需要用作Swap交换分区或者其他类型的文件系统时,则需要对分区类型进行变更以保持一致性,避免在管理分区时产生混淆。

使 用“t”指令可以表更分区的类型,只要一次指定分区序号及更改后分区类型的ID标记号即可,但是如果不知道分区类型对应的ID号,可以输入“l”指令列表 查看各种分区类型所对应的ID标记号,Linux系统中最常用的两中文件系统EXT3、SWAP的ID号分别为83、82(16进制数)。

eg:将/dev/hdb5的类型更改为SWAP

linux_文件系统管理、新增硬盘分区格式化_第7张图片

(5)、“w”和“q”指令——退出fdisk分区工具

完成对硬盘的分区操作后,可以执行“w”或“q”指令退出fdisk分区工具,其中“q”指令不会保存之前的操作,而“w”则会保存。你的明白?

最后执行:partprobe /dev/hdb ; 执行“partprobe”命令重新探测“/dev/hdb”磁盘中分区情况的变化。

二;在Linux系统中,使用fdisk工具在硬盘中建立分区以后,还需要对分区进行格式化并挂载到系统中的指定目录,然后才能用户存储文件、目录等数据。接下来我们就来学习如何格式化并挂载分区;

1、创建文件系统

 创建文件系统的过程也即格式化分区的过程,在Linux系统使用mkfs(Make Filesystem,创建文件系统)命令工具可以格式化EXT3、FAT32等不同类型的分区,而使用mkswap命令可以格式化SWAP交换分区。

1、mkfs命令的使用

实际上mkfs命令是一个前端工具,可以自动加载不同的程序来创建各种类型的分区,而后端包括有多个与mkfs命令相关的工具程序,eg:支持FAT16、FAT32分区格式的mkfs.vaft程序等。

eg:查看“/sbin”目录中与mkfs相关的工具程序;              ls /sbin/mkfs*

使用mkfs命令程序时,基本的命令格式如下所示:

mkfs -t 文件系统类型 分区设备

mkfs -t ext3 /dev/hdb1  //等同于执行“mkfs.ext3 /dev/hdb1”命令

linux_文件系统管理、新增硬盘分区格式化_第8张图片

2、mkswap命令的使用;

在Linux系统中,Swap分区的作用类似于Windows系统中的“虚拟内存”;可以在一定程度上缓解物理内存不足的情况。若当前Linux主机运行的服务较多,需要更多的交换空间支撑应用时,可以为其增加新的交换分区。

使用mkswap命令工具可以在指定的分区上创建交换文件系统。

确认新建立的swap分区的设备文件位置,并将其格式化为swap交换文件系统

fdisk -l /dev/hdb | grep swap

/dev/hdb5   4867       5110     2983922     82     Linux swap / Solaris

mkswap /dev/hdb5 即可

注: 对于新增加的交换分区,需要使用“swapon”命令启用以后系统才能使用,反之使用“swapoff”命令可以停用指定的交换分区,“free”命令可 以查看内存及交换空间的使用情况,可用于观察启用swap分区前后的交换空间变化情况,或者执行“swapon -s”命令也可以查看系统中交换分区的使用情况。

linux_文件系统管理、新增硬盘分区格式化_第9张图片

三、挂载、卸载文件系统:

在linux系统中,对各种存储设备中的资源访问(如:读取,保存文件等)都是通过目录结构进行的,虽然系统核心能够通过“设备文件”的方式操纵各种设备,但是对于用户来说,还需要增加一个“挂载”的过程,才能像正常访问目录一样访问存储设备中的资源。

当 然,在安装linux操作系统的过程中,自动建立或识别的分区通常会由系统自动完成挂载,eg:“/”分区、“/boot”分区等。然而对于后来新增的硬 盘分区、USB盘、光盘等设备,有时候还需要管理员手动进行挂载,实际上用户访问的是经过格式化后建立的文件系统。挂载一个分区时,必须为其指定一个目录 作为挂靠点(或称为挂载点),用户通过这个目录访问设备中的文件,目录数据。

1、挂载文件系统

mount 命令的基本使用格式如下所示:

mount [ -t 文件系统类型 ] 存储设备 挂载点

其中,文件系统类型通常可以省略(由系统自动识别),存储设备为对应分区的设备文件名(如:“/dev/hdb1”)或网络资源路径,挂载点为用户指定用于挂载的目录。

eg:查看系统中已挂载的各分区(文件系统)信息,新挂载的文件系统将显示在最后边。

linux_文件系统管理、新增硬盘分区格式化_第10张图片

eg:在实际工作中,可能会经常从互联网中下载一些软件或应用程序的ISO镜像文件,在无法刻录光盘的情况下,需要将其解压后才能浏览

、使用其中的文件数据。若使用mount挂载命令,则无需解开文件包即可浏览、使用ISO镜像文件中数据。“.iso”镜像文件通常被视为一种特殊的“回环”文件系统,因此在挂载时需要添加“-o loop”选项

mkdir /media/ubuntu

mount -o loop ubuntu-8.04.1-desktop-i386.iso /media/ubuntu

2、卸载文件系统————umount即可。

弹出光盘驱动器,也可以使用:eject     or          eject -t

3、设置文件系统的自动挂载

系统中的“/etc/fstab”文件可以视为mount命令的配置文件,其中存储了文件系统的静态挂载数据。linux系统每次开机时,会自动读取这个文件的内容,自动挂载所指定的文件系统。可以查看"/etc/fstab"配置文件:

linux_文件系统管理、新增硬盘分区格式化_第11张图片

在"/etc/fatab"文件中,每一行记录对应一个分区或设备的挂载配置信息,从左到右包括六个字段(使用空格或制表符分隔),各部分的含义如下所述:

第一字段:设备名或设备卷标名

第二字段:文件系统的挂载点目录的位置

第三字段:文件系统类型,如:etx3、swap等

第四字段:挂载参数,即mount命令“-o”选择后可使用的参数,如defaults、rw等

第五字段:表示文件系统是否需要dump备份(dump是一个备份工具),一般设为1时表示需要,设为0时将被dump所忽略

第六字段:该数字用户决定在系统启动时进行磁盘检查的顺序,0表示不进行检查,1表示优先检查,2表示其次检查。对于根分区应设为1,其他分区设为2.

通过在“/etc/fstab”文件中添加相应的挂载配置,可以实现开机后自动挂载指定的分区。

vi /etc/fstab                       

  //在文件末尾添加如下行内容

/dev/hdb1      /mailbox       ext3     defaults    0     0        //开机即可自动挂载

开机后,发现/mailbox已经挂载了/dev/hdb1

注:查看磁盘使用情况:

df 命令使用文件或设备作为命令参数,较常用的选项为“-h”、"-T",使用“-h”选项后将显示更易懂的容量单位,而“-T”选项用于对应文件系统的类型,显示信息中磁盘空间的默认单位为KB.

linux_文件系统管理、新增硬盘分区格式化_第12张图片

注:查看当前分区是否格式化:

blkid 命令查看一下,或找个挂载点。mount 一下

linux_文件系统管理、新增硬盘分区格式化_第13张图片