在Linux服务器中,当现有硬盘的分区规划不能知足要求时,就须要对硬盘中的分区进行从新规划和调整,有时候还须要添加新的硬盘设备来扩展存储空间。前端
实现上述操做要用到fdisk磁盘及分区管理工具,fdisk是大多数Linux系统中自带的基本工具之一。下面经过为Linux主机新增一块硬盘并创建分区的过程,介绍fdisk工具的使用。后端
1、检测并确认新硬盘服务器
挂接好新的硬盘设备并启动主机后,Linux系统会自动检测并加载该硬盘,无需额外安装驱动。执行“fdisk -l”命令能够进行查看,确认新增硬盘的设备名称。ide
“fdisk -l”命令的做用是列出当前系统中全部硬盘设备及其分区的信息。工具
【例1】:执行“fdisk -l”命令,确认系统新识别的硬盘设备(/dev/sdb)。oop
上述输出信息中包含了各硬盘的总体状况和分区状况,其中“/dev/sda”为原有的硬盘设备,而“/dev/sdb”为新增的硬盘,新的硬盘设备还未进行初始化,没有包含有效的分区信息。布局
对于已有的分区,将经过列表的方式输出如下信息。spa
Device:分区的设备文件名称。操作系统
Boot:是不是引导分区,是,则有“*”标识。3d
Start:该分区在硬盘中的起始位置(柱面数)。
End:该分区在硬盘中的结束位置(柱面数)。
Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节。
Id:分区类型的ID标记号,对于ext3分区为83,LVM分区为8e。
System:分区类型。
识别到新的硬盘设备后,接下来就能够在该硬盘中创建新的分区了。在Linux系统中,分区和格式化的过程是相对独立的。
2、规划硬盘中的分区
在硬盘设备中建立、删除、更改分区等操做一样经过fdisk命令进行,只要使用硬盘的设备文件做为参数,便可进入到交互式的分区管理界面中,以下图。
在该操做界面中的提示符后,用户能够输入特定的分区操做指令,完成各项分区管理任务,例如输入“m”指令后,能够查看各类操做指令的帮助信息,以下图。
在分区过程当中经常使用的一些交互操做指令有:
一、m:查看操做指令的帮助信息
二、p:列表查看分区信息
三、n:新建分区
四、d:删除分区
五、t:变动分区类型
六、w:保存分区设置并退出
七、q:放弃分区设置并退出
在以上操做中应注意的有:
【1】:选择分区号时,主分区和扩展分区的序号只能在1-4之间。分区起始位置通常由fdisk默认识别便可,结束位置或大小可使用“+sizeM”或“+sizeK”的形式,如“+20 000M”表示将该分区的容量设置为20GB。
【2】:在执行删除分区时必定要慎重,应首先使用p指令查看分区的序号,确认无误后再进行删除。若是扩展分区被删除,则扩展分区之下的逻辑分区也将同时会被删除。所以建议从最后一个分区开始进行删除,以避免fdisk识别的分区序号发生紊乱。
【3】:使用“t”更改分区类型时,只要依次指定分区序号及更改后分区类型的ID标记号便可。若是不知道分区类型对应的ID号,能够输入“l”指令列表查看各类分区类型所对应的标记号,
Linux系统中最经常使用的两种文件系统ext三、swap的ID号分别为8三、82.
【4】:变动硬盘(特别是正在使用的硬盘)的分区设置之后,建议最好将系统进行重启,或者执行“partprobe”命令使操做系统获知新的分区表状况。在有些Linux操做系统中,若不进行这些操做,可能会致使格式化分区时对硬盘中已有数据的损坏,严重者甚至引发系统崩溃。
#partprobe /dev/sdb
3、格式化分区
mkfs命令:
用途:建立文件系统(格式化)
格式:mkfs -t 文件系统类型 分区设备
mkswap命令
用途:建立交换文件系统
格式:mkswap 分区设备
实际上mkfs命令是一个前端工具,能够自动加载不一样的程序来建立各类类型的分区,然后端包括有多个与mkfs命令相关的工具程序,例如支持FAT1六、FAT32分区格式的mkfs.vfat程序等。
【例2】:查看“/sbin”目录中与mkfs相关的工具程序。
【例3】:在“/dev/sdb1”分区中建立ext3文件系统。
#mkfs -t ext3 /dev/sdb1
等同于执行“mkfs.ext3 /dev/sdb1”
【例4】:建立并启用交换分区,并经过free命令观察交换空间的变化。
4、挂载、卸载文件系统
一、mount命令
用途:挂载文件系统、ISO镜像到指定文件夹
格式:mount [-t 类型] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
二、umount命令
用途:卸载已挂载的文件系统
格式:umount 存储设备位置
umount 挂载点目录
三、查看已挂载分区的使用状况
df -hT
在Linux系统中,对各类存储设备中的资源访问都是经过目录结构进行的,虽然系统核心可以经过“设备文件”的方式操纵各类设备,可是对于用户来讲,还须要增长一个“挂载”的过程,才能像正常访问目录同样访问存储设备中的资源。
固然,在安装Linux操做系统的过程当中,自动创建或识别的分区一般会由系统自动完成挂载。然而对于后来新增长的硬盘分区、USB盘、光盘等设备,有时候还须要管理员手动进行挂载,实际上用户访问的是通过格式化后创建的文件系统。挂载一个分区时,必须为其制定一个目录做为挂靠点,用户经过这个目录访问设备中的文件、目录数据。
在Linux系统中,U盘设备被模拟成SCSI设备,所以与挂载普通SCSI硬盘中的分区并无明显区别。若不肯定所添加的U盘设备文件,能够先执行“fdisk -l”命令进行查看确认。
使用不带任何参数或选项的mount命令时,将显示出当前系统中已挂载的各个文件系统的相关信息。
proc、sysfs、tmpfs等文件系统是Linux运行所须要的临时文件系统,并无实际的硬盘分区与其相对应,所以也称为“伪文件系统”。例如proc映射了内存及cpu寄存器中的部分数据。
【设置文件系统的自动挂载】:
/etc/fstab配置文件:包含了须要开机后自动挂载的文件系统记录。以下图:
系统中的“/etc/fstab”文件能够视为mount命令的配置文件,其中存储了文件系统的静态挂载数据。Linux系统每次开机时,会自动读取这个文件的内容,自动挂载所指定的文件系统。
在“/etc/fstab”文件中,每一行记录对应一个分区或设备的挂载配置信息,从左到右包括六个字段(使用空格或制表符分隔),各部分的含义以下所述:
第一字段:设备名或设备卷标名。
第二字段:文件系统的挂载点目录的位置。
第三字段:文件系统类型,如ext三、swap等。
第四字段:挂载参数,即mount命令“-o”选项后可以使用的参数,如defaults、rw等。
第五字段:表示文件系统是否须要dump备份,通常设为1时表示须要,设为0时将被dump所忽略。
第六字段:该数字用于决定在系统启动时进行磁盘检查的顺序,0表示不进行检查,1表示优先检查,2表示其次检查。对于根分区应设为1,其余分区设为2.
【例5】:修改“/etc/fstab”文件,添加自动挂载“/dev/sdb1”分区的配置行。
#vi /etc/fstab
在文件末尾添加以下行内容:
/dev/sdb1 /mailbox ext3 default 0 0
1、LVM概述
LVM是Linux系统中对磁盘分区进行管理的一种逻辑机制,它是创建再硬盘和分区之上,文件系统之下的一个逻辑层,在创建文件系统时屏蔽了下层的磁盘分区布局,可以在保持现有数据不变的状况下动态调整磁盘容量,从而提升了磁盘管理的灵活性。
在安装RHEL5系统的过程当中选择自动分区时,默认就会采用LVM分区方案,不须要再进行手动配置。若是有特殊须要,也可使用安装向导提供的磁盘定制工具调整LVM分区。须要注意的是,“/boot”分区不能基于LVM建立,必须独立出来。
关于LVM的几个基本术语:
一、PV(Physical Volume,物理卷)
物理卷是LVM机制的基本存储设备,一般对应为一个普通分区或整个硬盘。建立物理卷时,会在分区或硬盘的头部建立一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元PE,从而构成物理卷。
物理卷通常直接使用设备文件名称,如“/dev/sdb1”、“/dev/sdb2”等。
用于转换成物理卷的普通分区,建议先使用fdisk工具将分区类型的ID标记号改成“8e”。如果整块硬盘,能够将全部磁盘空间划分为一个主分区后再做相应调整。
二、VG(Volume Group,卷组)
由一个或多个物理卷组成一个总体,即成为卷组,在卷组中能够动态地添加或移除物理卷。许多个物理卷能够分别组成不一样的卷组,卷组名称由用户自行定义。
三、LV(Logical Volume,逻辑卷)
逻辑卷是创建在卷组之上的,与物理卷没有直接关系。
对于逻辑卷来讲,每个卷组就是一个总体,从这个总体中“切出”一小块空间,做为用户建立文件系统的基础,这一小块空间就称为逻辑卷。使用mkfs等工具在逻辑卷上建立文件系统之后,便可挂载到Linux系统中的目录下使用。
经过上述对物理卷、卷组、逻辑卷的解释能够看出,创建LVM分区管理机制的过程就是:首先,将普通分区或整个硬盘建立为物理卷;接下来,将物理上比较分散的各物理卷的存储空间组成一个逻辑总体,即卷组;最后,基于卷组这个总体,分割出不一样的数据存储空间,造成逻辑卷。而逻辑卷才是最终用户能够格式化并挂载使用的存储单位。
2、LVM的管理命令
功 能 |
物理卷管理 |
卷组管理 |
逻辑卷管理 |
Scan 扫描 | pvscan | vgscan | lvscan |
Create 创建 |
pvcreate | vgcreate | lvcreate |
Display 显示 | pvdisplay | vgdisplay | lvdisplay |
Remove 删除 | pvremove | vgremove | lvremove |
Extend 扩展 | vgextend | lvextend | |
Reduce 减小 | vgreduce | lvreduce |
主要命令的语法
pvcreate 设备名
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名
3、LVM应用实例
案例的环境和需求描述以下:
公司准备在Internet中搭建邮件服务器,面向全国各地的员工即部分VIP客户提供电子邮箱空间。因为用户数量众多,邮件存储须要大量的空间,考虑到动态扩容的须要,计划增长两块SCSI硬盘并构建LVM逻辑卷(挂载到“/mail”目录下)专门用于存放邮件数据。
根据上述案例环境和需求,具体操做步骤以下:
一、关闭服务器,打开机箱,正确挂接2块SCSI新硬盘。
二、开启服务器主机,并执行“fdisk -l”命令进行检查,确认已识别新增的硬盘(sdb、sdc)。
三、在磁盘中进行分区,将每块硬盘的全部空间划分为一个独立的主分区,并将分区类型更改成“8e”。分好区后使用“fdisk -l”命令查看结果以下所示。
四、将“/dev/sdb1”和“/dev/sdc1”分区转换为物理卷。
五、将上述两个物理卷整合,建立名为“mail_store”的卷组。
六、在“mail_store”卷组中建立一个名为“mail”的逻辑卷,容量大小设置为3G。
七、使用mkfs命令在“mail”逻辑卷中建立ext3文件系统,并挂载到“/mail”目录下。
八、动态扩展“mail”逻辑卷的容量(增长500M),并更新系统识别的文件系统大小。