第7章文件系统管理.docx
- 文档编号:7915726
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:15
- 大小:181.86KB
第7章文件系统管理.docx
《第7章文件系统管理.docx》由会员分享,可在线阅读,更多相关《第7章文件系统管理.docx(15页珍藏版)》请在冰豆网上搜索。
第7章文件系统管理
第七章、文件系统管理
一、文件系统概述
Ø1、文件系统是操作系统中实现对文件的组织、管理和存取的一组系统程序。
Ø2、实现对文件的共享和保护,方便用户按名存取。
Ø3、文件系统的结构。
·对象极其属性
✓文件
✓目录
✓磁盘存储空间
·对对象的操作和管理的软件集合
·文件系统的接口
✓命令接口——面向用户
✓程序接口——面向各种文件系统程序
Ø4、文件系统的功能
·文件及目录的管理
如:
打开、关闭、读、写等。
·提供有关文件的自身服务
如:
文件共享机制、文件的安全性等。
·文件存储空间的管理
如:
分配和释放,主要针对可改写的外存,如磁盘。
·提供用户接口
如:
命令接口、程序接口。
二、常用文件系统类型
◆Linux利用VFS机制支持多种文件系统
ØVFS是Linux内核中的一个软件层,用于给用户空间的程序提供文件系统接口。
ØVFS提供了内核中一个抽象功能,允许不同的文件系统共享。
ØVFS能够将Linux文件系统的所有细节进行转换,所以Linux核心的其他部分及系统中运行的程序将看到统一的文件系统格式。
Ø1、本地磁盘文件系统
ØFAT(文件名受8.3命名规则)【8个字符名,3个字符扩展名】
ØVFAT(虚拟文件分配表系统)
ØHPFS(高性能文件系统)
ØNTFS
Øext(稳定性、兼容性、速度上有缺陷)
Øext2
Øext3
ØISO9660(用于CD-ROM的典型文件系统)
Ø2、在网络上使用的文件系统
ØNFS(NetworkFileSystem)是在类UNIX系统间实现磁盘文件共享的一种方法,它支持应用程序在客户端通过网络存取位于服务器磁盘中数据的一种文件系统协议。
ØSMB/CIFS
SMB(ServerMessageBlock,1996年改称为CommonInternetFileSystem,CIFS)是由微软开发的一种网络传输协议,主要用来使网络上的不同计算机共享文件、打印机等资源。
设计是在NetBIOS协议上运行(而NetBIOS本身运行在NetBEUI、IPX/SPX或TCP/IP协议上),而从Windows2000开始,SMB可直接在TCP/IP上运行。
三、创建文件系统
Ø1、计划分区表
Ø分区表要简化。
Ø将有联系的数据放在一起。
Ø分隔重要的数据。
Ø2、设备名
Ø设备文件位于/dev目录。
Ø设备的命名。
·IDE接口的识别(4个)hdc是给光驱专用的,所以IDE接口的硬盘只能有3个。
hda、hdb、hdc、hdd
hd——hda——hda1
(前缀)(第一个磁盘)(第一个磁盘的第一个分区)
·stat、scsl、USB、接口硬盘识别,
第一个从sda开始到sdp:
sd——sdb——sdb3
(前缀)(第二块识别的磁盘)(第二块磁盘的第3个分区)
Ø3、用fdisk创建分区
Ø1、用#fdisk-l命令列出已存在的磁盘
Ø2、用fdisk进入创建某分区模式:
#fdisk/dev/sdc
Ø3、用fdisk进入分区模式常用的命令:
fdisk命令
含义
D
删除一个分区
L
显示已知分区代码
m或?
显示命令的帮助
N
显示新的分区
P
显示当前磁盘的分区表
Q
不保存修改退出
T
改变分区的ID代码
W
保存修改退出
t
修改分区类型
在创建分区,决定分区大小的时候,可以用系统提示的块区数来定义分区大小,如要定义的分区为3GB也可以用+3G、或+3072M来定义。
Ø4、用mkfs命令建立文件系统。
例1:
如果要把SCSL硬盘的第二块硬盘的第一个分区建立文件系统(格式化为ext3)。
#mkfs-text3/dev/sdb1
用–t具体指定的文件系统类型。
如:
ext2、ext3、vfat等。
常用选项:
-c——在创建文件系统之前进行设备坏块检查。
◆注意:
在提供设备文件的时候,不要输入一块磁盘(如:
/dev/had)或者一个扩展分区的设备名。
因为它会删除这个容器中的所有分区。
四、操作文件系统
Ø1、使用文件系统
挂载文件系统(mount)
#mount[-t文件系统类型][-o选项]……设备挂在目录点
Ø-t文件系统类型:
ext2、ext3、vfat、smb/cifs、nfs等。
该选项可以被忽略,Linux会自动检测要挂载的是何种文件系统。
Ø设备:
准备挂载的那个文件系统的设备文件名。
是一个绝对路径,如:
/dev/hda1。
Ø挂在点:
通常是一个空置的目录。
Ø选项:
这部分是为Linux关于如何对待文件系统所指定的。
一些选项运用于大部分或所有文件系统,而其它则应用于特别要求的文件系统。
每种选项由–t决定的不同文件系统类型而不相同。
可以使用manmount命令获得信息帮助。
常用的文件系统通用选项
选项
支持文件系统
说明
auto
全部
挂载在文件/etc/fstab中定义的所有文件系统
async
全部
异步存储数据
dev
全部
允许在这个文件系统上有字符或块设备
exec
全部
允许执行二进制文件
nouser
全部
禁止一个非根用户挂载文件系统
rw
全部
允许以读、写的模式访问文件系统
defaults
全部
以上全部选项的集合
ro
全部
以只读的形式访问文件系统
remount
全部
重新挂载已挂载上的文件系统
loop
全部
允许用户挂载一个文件,就像它是一个磁盘分区
例1:
挂载一个文件系统到一个已存在的目录。
#mount/dev/hda1/mnt
例2:
以只读的形式挂载一个文件系统。
#mount-oro/dev/hda1/mnt
例3:
挂载一个ISO镜像。
这个命令实现的功能与Windows的虚拟光驱类似。
#mount-oloopfile.iso/mnt
Ø2、卸载文件系统(umount)
#umount设备或者挂在点
例1:
#umount/dev/hda1
例2:
#umount/mnt
◆注意:
文件系统处于使用状态时,不能将其卸载。
如下图:
Ø3、系统启动时自动挂载
可以编辑/etc/fstab文件来实现。
其中每一行被Tab键隔成6个字段,以下按照从左到右顺序说明每一个字段:
Ø设备:
要挂载的设备文件名。
绝对路径。
Ø挂载点:
文件系统的挂载点。
文件的第一行通常是“/”。
Ø文件系统类型:
用户必须为大部分文件系统明确的指定类型。
如果这个字段为auto,则Linux能够自动识别任何文件系统类型。
Ø挂载选项:
指定挂载文件系统时的各种选项。
与mount命令中–o所使用的一系列选项一致。
可以有多个选项,选项之间用逗号分隔,如使用defaults则按照默认值挂载该分区。
Ø备份字段:
决定是否将一个文件系统备份。
可以用数值0或1,如果这个字段为0,就表示从不备份。
Ø检测字段:
该字段被fsck命令用来决定在启动时需要扫描的文件系统的顺序,根文件系统对应该字段的值应为1,其它文件系统应该为2。
若该文件系统在启动时无需扫描则设置该字段为0。
五、磁盘配额
Ø1、检查内核对配额的支持
#dmesg|grepquota
Ø2、检查配额软件
#rpm-qa|grepquota
Ø3、启用文件系统的配额功能
#mount-ousrquota,[grpquota],remount/dev/hda1
为了在重新启动系统之后继续保持配额功能,可以修改/etc/fstab文件,在第4个字段中添加“usrquota”即可,如下图:
Ø4、创建配额文件
Ø配额文件记录各个用户和组在这个文件系统中对空间大小和文件数的使用情况。
配额文件的创建依赖于quotacheck命令。
此命令不仅可以创建配额文件,也可以扫描文件系统,检测修补已存在的文件。
#quotacheck[选项]……文件系统
Ø常用选项:
·-a——检查所有启用了配额的在本地挂载的文件系统。
·-c——不读取已存在的配额文件,仅执行一次新的扫描并将结果保存致磁盘(创建配额文件)。
·-u——检查用户磁盘配额信息。
·-g——检查组群磁盘配额信息。
·-v——在检查过程中显示详细的状态信息。
例1:
在/dev/hda1文件系统中创建新的用户配额文件aquota.user。
#quotacheck-cuv/dev/hda1
如果也要同时给组设置配额,就加上选项-g:
#quotacheck-cugv/dev/hda1
Ø5、设置用户和组的配额(edquota)
#edquota[选项]用户或组
Øedquota命令需要从配额文件中读取配额定义,并将修改后的内容保存回配额文件。
edquota命令会调用系统默认的文本编辑器来操作配额文件。
Ø常用选项:
·-u——编辑用户配额项。
这也是默认的选项。
·-g——编辑组配额。
·-p——对一组用户或组初始化配额。
·-t——对没个文件系统编辑软时间限制。
days、hours、minutes或seconds都是可用的时间单位。
例1:
为用户user01创建配额
#edquota-uuser01命令输出后会如下图所示:
输出的内容由3部分,6个字段依次在其下写入配置。
3部分:
✓1、Filesystem:
文件系统位置。
只读内容,是一个启用了配额的文件系统列表。
✓2、blocks:
用户在该文件系统中已经使用的块数(空间大小)。
只读内容,用户无需更改这个部分数值。
✓3、inodes:
用户在该文件系统中已经使用的文件个数。
只读内容,无需更改这部分数值。
定制的空间大小、文件个数,都会使用以下两个字段:
✓1、soft:
软配额。
根据自己需求配置。
用户使用的磁盘块数或文件个数达到这一配额后,仍允许用户继续使用,但系统会警告。
可继续使用的时间由edquota-t所列内容决定。
✓2、hard:
硬配额:
根据自己需求配置。
用户所使用的磁盘块数或文件个数达到这一配额后,系统将不允许用户继续使用磁盘上的空间。
继续上面的例1给user01用户在/dev/hda1分区上设置配额。
磁盘块数的软配额设置成1000KB(1M),硬配额设成2000KB(2M)。
文件个数的软配额设置成10个,硬配额设置成20个。
如下图:
默认磁盘块数的单位是KB,也可以输上1024M或1G,系统会自动给你转换成以KB为单位的数值(此处以1000KB=1M计算)。
Ø用户也可以只设硬配额。
如果软硬配额都设的话,当用户超出软配额后会收到系统消息,但还可以在可继续使用的时间(默认值是7天)内继续使用,直到达到硬配额数值。
而过了继续使用的时间后,用户将无法在创建任何大小的文件。
Ø用#edquota-t命令更改超过软配额后可继续使用时间。
如下图:
Ø6、打开或关闭配额管理功能
配置完成后必须使用打开配额管理功能:
Ø#quotaon/dev/hda1(打开/dev/hda1分区的配额管理功能)
Ø#quotaoff/dev/hda1(关闭)
Ø7、测试配额项
Ø普通用户可以用(#quota)命令获取自己在某文件系统中的配额项。
ØRoot用户可以用(#repquota-a)显示每个用户的配额
◆小提示:
在测试配额的时候,一定要给相应的用户在相应的配额分区挂载的目录里有写入的权限。
◆如果在给用户设置配额项的时候,也要给某组设置配额项,就在usrquota后面跟上grpquota中间用逗号隔开。
要让系统启动后组还保持配额项,在/etc/fstab文件中的第4个字段也要加上grpquota。
六、LVM
ØLVM(LogicalVolumeManager,逻辑卷管理器)。
ØLVM最早源于IBM的AIX系统。
ØLVM是建立在磁盘和分区之上的一个逻辑层,用来提高磁盘分区管理的灵活性。
ØLVM可以方便地调整卷组的大小,并且可以对磁盘分区按照组的方式进行命名、管理和分配。
✧1、基本术语
Ø物理存储介质——
这里指系统的存储设备:
磁盘或分区,如:
/dev/hda、/dev/sda等等,是存储系统最低层的存储单元。
Ø物理卷(PhysicalVolume,PV)
物理卷就是指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如:
RAID),是LVM的基本存储逻辑块,包含有与LVM相关的管理参数。
如:
/dev/hda1、/dev/sda2、/dev/sda2等等。
ØPE(PhysicalExtent)
每一个物理卷被划分为称为PE的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。
PE的大小可以配置的,默认为4MB。
Ø卷组(VolumeGroup,VG)
LVM卷组类似于非LVM系统中的物理磁盘,其由物理卷组成。
可以在卷组上创建一个或多个“LVM分区”(逻辑卷)。
LVM卷组由一个或多个物理卷组成。
Ø逻辑卷(LogicalVolume,LV)
LVM的逻辑卷类似于非LVM系统中的磁盘分区,在逻辑卷上可以建立文件系统(比如:
ext2/3或者vfat等)。
ØLE(LogicalExtent)
逻辑卷也被划分为被称为LE(LogicalExtents)的可被寻址的基本单位。
在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
◆在LVM里一个PV由若干个PE组成,一个LV由若干个LE组成,而这些PE和LE的之间关系又有直接的对应关系,这种关系被存储在叫作“PE/LE对应表”的表中。
此表存放在LVM磁盘上,当VG激活时,才被装载到内存中。
PE是在创建VG时创建的大小可以指定,默认是4MB。
在同一个VG里面所有的PV和PE大小是一样的,不管实际磁盘的大小和型号是否相同。
当LV创建时,LVM创建LE并自动维护PE/LE对应表,使得每个LV里面的LE都可以找到与之对应的PE,从而知道数据该往哪个磁盘上写。
一般情况下创建LV的时候,系统都是按照物理磁盘加入VG的顺序来分配其可用的PE。
✧2、配置前的准备工作
Ø
、首先确定系统中是否安装了LVM工具包:
#rpm-qa|greplvm
、创建分区
、利用fdisk命令界面里里的t命令更改分区类型,改为LinuxLVM类型。
✧3、配置LVM
Ø
、创建物理卷(vgcreate)
#pvcreate/dev/hda[1,2,3]此处没有逗号也可以!
或者#pvcreate/dev/hda1/dev/hda2/dev/hda3
用#pvdisplay命令列出被创建的物理卷。
Ø
、创建卷组(vgcreate)
#vgcreate-s4Mnewvg1/dev/had[1,2,3](若没有-s选项默认是4M)
块单位卷组名物理卷
用#vgdisplay命令列出已存在卷组的信息
Ø
、创建逻辑卷(lvcreate)
#lvcreate-L1G-nlv01newvg1
大小卷名所在的逻辑卷组
用#lvdisplay命令列出已创建的逻辑卷。
Ø
、创建文件系统(mkfs)
一个逻辑卷就像一个磁盘分区,只有创建了文件系统后才可以使用。
#mkfs-text3/dev/newvg1/lv01
然后就可以挂载(mount)、卸载(umount)或使用(quota)工具创建配额项,像使用一个标准的Linux分区一样了。
✧4、管理LVM
Ø
、·用#pvscan列出已存在的物理卷
·用#vgdisplay|grep-ifree列出作对比。
·用#vgextendnewvg1/dev/hdb1命令把已存在物理卷hdb1加入到newvg1逻辑卷组里。
Ø
、增大逻辑卷大小(lvextend)(前提:
是所在卷组里有相应的剩余空间)
#lvextend-L+400M/dev/newvg1/lv01
增大400MB
用#df-h验证发现没有把逻辑卷lv01增大400MB,因为对逻辑卷的更改仅仅只会将一个分区增大,而对于之上的文件系统并没有任何变化。
再用命令#resize2fs/dev/newvg1/lv01增大文件系统大小
再用#df-h查看验证发现增大了。
✧
、减小逻辑卷大小
例将lv01卷从1.4G减小400M到1G,就从减小文件系统开始做
#resize2fs-f/dev/newvg1/lv011G
#lvreduce-L-400M/dev/newvg1/lv01
注意:
在执行第一步之前先把lv01卷卸载,执行完第二步就可在挂载了,整个操作如下图:
◆小知识:
在减小卷执行第一步时,最后参数也可根据PE值算出的结果输上
公式——文件系统的基本块大小*以MB为单位的文件系统大小/2^(块大小/1024)
如:
一个100MB的文件系统其块大小为2048,则计算结果为:
2048*100/2^(2048/1024)=51200blocks
“^”的意思是几次方,在这是2的(2048/1024)次方!
!
!
✧5、删除卷
如果要删除卷,倒着往回执行操作。
现在用umount卸载
Ø删除逻辑卷lvremove/dev/newvg1/lv01
Ø删除卷组vgremove/dev/newvg1
Ø删除物理卷pvremove/dev/hda1……
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文件系统 管理