磁盘和文件系统管理.docx
《磁盘和文件系统管理.docx》由会员分享,可在线阅读,更多相关《磁盘和文件系统管理.docx(17页珍藏版)》请在冰豆网上搜索。
磁盘和文件系统管理
磁盘和文件系统管理—管理磁盘及分区
在linux系统中,当我们遇到磁盘空间不足,或者想要添加硬盘,又或者格式化以后还不能使用磁盘的时候该怎么操作呢?
会不会像Windows一样简单明了呢?
今天就来说说在linux系统中如何对磁盘及分区进行管理、格式化挂载等操作
一.管理磁盘及分区
举例说明:
当前为系统连接了一块新的硬盘
1.检测并确认新硬盘(使用命令fdisk-l可以列出当前系统中所有硬盘设备及其分区的信息)
说明:
▪Device:
分区的设备文件名称
▪Boot:
是否为引导分区,有“*”标记的表示为引导分区
▪Start:
该分区在硬盘中的起始位置
▪Eed:
该分区在硬盘中的结束位置
▪Blocks:
分区的大小,以Blocks(块)为单位,默认的块大小为1024字节
▪Id:
分区对应的系统ID号,83表示EXT4分区、8e表示LVM逻辑卷
▪System:
分区类型
2.对新的硬盘进行管理
在硬盘设备中创建、删除、更改和保存分区等操作需要使用命令fdisk完成
举例,对这块新的硬盘创建分区,创建一个主分区,一个扩展分区和两个逻辑分区
首先创建一个主分区,创建之前也可以先查询下硬盘的分区情况
查看——在交互式界面输入"p"是列出硬盘中的分区情况
新建——输入"n"是新建分区(这里要说明一下,在创建新分区选择分序号时,主分区和扩展分区的序号只能为1-4,e代表扩展分区,p代表主分区)
如下图所示:
我这里选择的是新建主分区,并且序号为1,分区的开始位置为默认,大小是2G
接下来我们创建一个扩展分区和两个逻辑分区
创建扩展分区
说明:
逻辑分区是建立在扩展分区上的,所以需要先创建扩展分区,然后再创建逻辑分区
创建逻辑分区
我们再次查看下分区情况,这时主分区、扩展分区和逻辑分区就已经创建好了
保存——创建好分区后,我们还需要对其进行保存,这里要注意一下,如果对包含数据的硬盘进行分区时,一定要提前做好数据备份,保存并退出fdisk的指令为"w",不保存退出的指令为"q"
删除——如果我们在fdisk中创建分区时创建错了怎么办呢?
我们可以使用"d"指令对分区进行删除
修改——当然,如果你需要修改分区新的文件系统类型,可以使用指令"t"进行修改,但是一般是不需要修改的,在fdisk工具中新建的分区默认文件系统类型就是EXT4(扩展文件系统,系统ID号为83),除非是要改成SWAP(交换分区系统,系统ID号为82)。
这里顺便说一下什么是扩展文件系统和交换分区系统,所谓的扩展文件系统的作用就是用于存放各种数据文件和目录的文件系统;而交换分区系统的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题,一般交换分区的大小都设置在物理内存的1.5-2倍。
二.管理文件系统
1.格式化分区,创建文件系统
创建EXT4文件系统
命令:
mkfs-t文件系统类型分区设备或者mkfs.文件系统类型分区设备
创建SWAP文件系统
命令:
mkswap分区设备
硬盘插上了、区分完了、也格式化了,现在就能够使用了吗?
如果是Windows是可以正常使用了,但是linux中还需要一步挂载哦
2.挂载分区
其实挂载分区就跟挂载光盘一个道理
命令:
mount存储设备挂载点
说明:
上图中是将/dev/sdb1的分区挂载在/home下,但是系统重启后就还需要手动重新挂载,比较麻烦,为了解决这类问题,我们可以设置自动挂载,下面介绍如何自动挂载
系统中的/etc/fstab文件,可以看作为mount的配置文件,其中存储了文件系统的静态挂载数据,每次linux开机时都会读取这个文件中的内容,用vi编辑器打开进行配置
说明:
在/etc/fstab文件中加入如上一行,代表每次开机都会自动将/dev/sdb1分区挂载到/home下,这就是自动挂载。
图中每个字段对应的含义从左到右如下
▪第1字段:
设备名或设备卷标名
▪第2字段:
文件系统的挂载点目录位置
▪第3字段:
文件系统类型,如EXT4、SWAP等
▪第4字段:
挂载参数,如default、rw、ro分别表示默认、可写、只读等
▪第5字段:
表示文件系统是否需要dump备份,1为需要、0为忽略
▪第6字段:
该字段数字用于决定系统启动时进行磁盘检查的顺序,0为不检查、1表示优先检查、2表示其次检查,一般根分区设置为1,其他分区设置为2
我们可以重启来验证一下
终于,历经重重难关之后我们成功了,嘿嘿~本章结束
磁盘和文件系统管理—LVM逻辑卷管理的基本操作
说完了硬盘的分区、格式化与挂载分区,用是可以正常使用了,但是一旦出现系统分区不够用了,我们不得不备份、删除相关数据或者重新规划分区来满足系统的需要,那么如何才能解决这类的问题呢?
这就可以用到我们标题中所提到的LVM动态分区,所谓LVM,它功能就是可以在现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
在进行LVM逻辑卷管理之前,我们需要先了解下LVM的几个基本术语:
∙PV(PhysicalVolume,物理卷)物理卷是LVM机制的基本存储设备,通常对应一个普通分区或整个硬盘。
创建物理卷时,会在分区或硬盘的头部创建一个保留分区,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的默认单元(PhysicalExtent,PE),需要注意的是转换物理卷之前,需要将分区类型的ID标记改为8e。
∙VG(VolumeGroup,卷组)卷组是有一个或多个物理卷组成的一个整体,在卷组中可以添加或删除物理卷
∙LV(LogicalVolume,逻辑卷)逻辑卷建立在卷组之上,最终用户可以格式化并挂载使用的就是逻辑卷
为了更好的演示今天的实验,我这里添加了两块硬盘,顺便再来回顾一下磁盘分区,使用fdisk工具进行分区,将分区系统文件类型改成“8e”,将两块硬盘分区都分好
一、PV物理卷管理
1、pvcreate命令:
用于将分区或整个硬盘转换成物理卷
举例将/dev/sdb1和/dev/sdc1转换成物理卷
2、pvscan命令:
用于扫描系统中的所有物理卷
3、pvdisplay命令:
显示物理卷的详细信息
4、pvremove命令:
将物理卷还原成普通分区
说明:
移除后,我们再用pvscan就扫描不到/dev/sdb1这个分区了
二.VG卷组管理
1、vgcreate命令:
创建卷组(卷组的名字是自定义的,这里我们将卷组的名字命名为mail)
2、vgscan命令:
用于扫描系统中已经建立的LVG卷组
3、vgdisplay命令:
显示系统中各卷组的详细信息
4、vgremove命令:
删除指定的卷组
5、vgextend命令:
用于扩展卷组的磁盘空间
6、vgreduce命令:
用于减少卷组的磁盘空间
三.LV逻辑卷管理
1、lvcreate命令:
lvcreate-L容量大小-n逻辑卷名卷组名创建逻辑卷
这样,逻辑卷就创建好了,就下来进行格式化并且挂载后就可以正常使用了
2、lvscan命令:
扫描系统中已建立的逻辑卷及其相关信息
3、lvdisplay命令:
显示逻辑卷的详细信息
4、lvextend命令:
lvextend-L+大小/dev/卷组名/逻辑卷名,用于动态扩展逻辑卷空间
说明:
如果lvextend-L后面直接写的是数值,没有加号“+”,则代表将指定将此逻辑卷扩展到数值这么大的空间,并不是指增加多少空间,如下图所示
5、lvreduce命令:
lvreduce-L-大小/dev/卷组名/逻辑卷名,用于减少逻辑卷空间
说明:
lvreduce命令与lvextend命令一样,如果减少空间大小的时候数值前没有减号“-”,则代表将逻辑卷调整到指定数值的空间大小
6、lvremove命令:
删除指定逻辑卷
好了,LVG磁盘管理的基本操作就先写到这里,下一章将会使用案例说明LVG卷的实际应用以及磁盘配额如何设置
磁盘和文件系统管理—LVM应用实例
一.LVM应用实例:
案例环境和需求:
公司准备在Internet中搭建邮件服务器,面向全国各地的员工提供电子邮箱空间,由于用户众多,邮件存储需要大量的空间,考虑到扩容的需要,计划增加两块SCSI硬盘并构建LVM逻辑卷(挂载到/mailbox目录下),专门存放邮件。
根据上述案例环境和需求,操作步骤如下
1、关闭服务器主机,打开机箱,正确挂载两块SCSI新硬盘
2、开启服务器主机,并执行"fdisk-l"命令进行检查,确认已经识别新增的硬盘(sdb、sdc)
3、在新磁盘中进行分区,将每块硬盘的所有空间划分为一个独立的主分区,并将分区类型改成"8e"。
分好区后使用"fdisk-l"查看结果如下:
4、将/dev/sdb1和/dev/sdc1转化成物理卷
5、将上述两个物理卷整合,并创建名为mail_store的卷组中
6、在mail_store卷组中创建一个名为mbox的逻辑卷,容量设置为10G
7、使用mkfs命令对逻辑卷mbox进行格式化,创建EXT4文件系统
8、将格式化后的逻辑卷mbox配置为自动挂载,并挂载到/mailbox下
重启后我们来验证一下是否已经挂载好了
这样我们就完成了公司需求(当然我这里只是举个例子,添加的是两块10G的硬盘,只应用了10G,当时实际生产中肯定要比这个大多了)
磁盘和文件系统管理—磁盘配额管理与实例
磁盘配额就是对用户在指定文件系统中使用的磁盘空间、文件数量进行限制,为了防止个别用户恶意或无意间占用大量磁盘空间,避免在服务器中出现类似磁盘空间不足的问题。
用到的工具是:
quota软件包,还需要文件系统以支持配额功能的方式挂载
1、磁盘配额限制的对象:
系统中的用户账号、组账号,作用范围是指定的文件系统(分区)内有效
2、磁盘配额的限制类型:
磁盘容量的限制和文件数量的限制
3、磁盘配额的限制方法:
软限制和硬限制,其中软限制是指在固定的宽限期限(默认7天,可以使用命令:
edquota-t来调整宽限期限)内允许暂时超过这个限制,但系统会给出警告提示;硬限制就是当达到限制值时,系统会直接禁止继续写入数据,硬限制应大于软限制,否则软限制将失效
一.设置磁盘配额实例:
案例环境和需求:
公司准备在Internet中搭建邮件服务器,面向全国各地的员工提供电子邮箱空间,由于用户众多,邮件存储需要大量的空间,考虑到扩容的需要,计划增加两块SCSI硬盘并构建LVM逻辑卷(挂载到/mailbox目录下),并且要求管理员通过磁盘配额的方式限制员工的邮箱空间,要求员工张三最多可以使用500M磁盘空间,并且文件数不能超过100个。
操作步骤如下:
根据需求,我们先要扩容并构架LVM逻辑卷,创建好LVM逻辑卷后,我们对磁盘进行配额管理。
1、准备工作,查看quota软件是否安装,如果未安装,请从红帽系统光盘中安装
2、挂载文件系统(注意:
此时挂载的文件系统需要支持配额功能)
使用vi编辑器,编辑/etc/fstab,在里面将文件系统设置为开机自动挂起并且增加了两个选项,usrquota和grpquota,以便支持对用户和组实现配额功能,然后重启系统查看是否已经挂载好文件系统
重启后,对自动挂载好的"/mailbox"目录赋予777的权限
3、检查磁盘配额并生成配额文件(这里需要注意selinux)
命令:
quotacheck-augcv
∙-a:
表示扫描所有分区
∙-u和-g:
分别表示检测用户和组配额信息
∙-c:
创建新的配额文件
∙-v:
显示详细信息
说明:
上图中是未成功生成配额文件,我们需要先关闭selinux,等启动磁盘配额功能后再开启selinux
临时关闭命令:
setenforce0 开启命令:
setenforce1
4、设置配额(对用户做配额限制选项为"-u"后加用户名,如需对某个组做配额限制,选项"-g"后加组名)
如公司要求对张三进行限制
命令:
edquota-u zhangsan
∙Filesystem:
表示本行配置记录对应的文件系统(分区),就是配额的作用范围
∙blocks:
用户当前已经使用的磁盘容量,默认单位是KB,由edquota程序自动计算,无需修改
∙第三列的soft:
对应磁盘容量的软限制数值,0为默认不限制
∙第四列的hard:
对应磁盘容量的硬限制数值,0为默认不限制
∙inodes:
用户当前已经拥有的文件数量,默认单位个数,也是由edquota程序自动计算,无需修改
∙第六列的soft:
对应磁盘容量的软限制数值,0为默认不限制
∙第七列的hard:
对应磁盘容量的硬限制数值,0为默认不限制
说明:
这里可以看到我将用户张三磁盘容量的软限制设置为400M,硬限制为500M;文件数量软限制为80个,硬限制是100个。
软限制一定要小于硬限制,否则软限制将失效。
5、启动和关闭文件系统的配额功能(实验中我们需要将配额功能启动)
启动命令:
quotaon-ugv/文件系统(-u代表对用户、-g代表对组)
关闭命令:
quotaoff-ugv/文件系统
6、验证磁盘配额功能
(1).磁盘容量验证
软限制:
我们可以看到当触发软限制的时候依然可以写入,只是会有一条警告信息
硬限制:
当我们触发硬限制的时候,数据将无法再写入,警告会显示超出磁盘限额
说明:
命令ddif=/dev/zeroof=/mailbox/testbs=10Mcount=40表示向/mailbox目录下写入一个名为test的测试文件,大小为400M(共40次,每次是10M)
(2).文件数量验证
为了模拟文件数量的限制,我这里写了一个创建文件的脚本
软限制:
执行脚本后,我们看到文件个数超过80个后依然可以存入,只是给出一个警告信息
硬限制:
将脚本修改一下,改成创建110个文件,这时再执行脚本,我们发现超过100个文件将无法存入
这样,我们就可以在工作中通过磁盘配额的方式来给公司员工进行限制了