之前详细讲述了如何进行磁盘管理,对所创建的磁盘创建文件系统,对其进行逻辑上的编址,主要讲了ext系列的文件系统,今天在这里总结一下,关于当前Linux文件系统中发展较为迅速的btrfs文件系统,btrfs开发目的就是取代ext系列文件系统,成为下一代Linux的标准文件系统;该文件系统目前应用可能还不如ext文件系统,但是其功能十分强大,相信在未来的三五年后,btrfs文件系统的应用一定会越来越广泛;
btrfs文件系统的特性:
btrfs具有可扩展性:它可以同时扩展磁盘的逻辑边界和物理边界,而不用逐步进行修改,其inode数量也是可以修改的;
btrfs文件系统提供多物理卷支持:它可以跨越多个物理设备,动态的增加或减少设备来达到扩容或缩容的目的;
btrfs文件系统支持写时复制更新机制:即在此文件系统对文件进行写入操作时,将文件复制到一个副本中,对副本进行操作,在完成时,将原先文件的inode指针指向副本即可,这样可以保证数据的一致性,不至于数据丢失;
btrfs文件系统支持双重校验机制——数据及元数据都有校验码:checksum
将校验码放在专门存在校验码的树形区域,而不是元数据区,这样,即便元数据丢失,校验码仍会存在;ext系列文件系统的校验码存放在元数据区域,这样如果元数据丢失,则无法找回数据;
btrfs文件系统支持透明压缩:在存放数据的时候,自动的将数据压缩,在看起来文件没有被压缩,但实际在文件系统中已经被压缩,在读取文件的时候自动解压缩;
btrfs文件系统还支持快照卷以及子卷的功能;可以说btrfs是在ext文件系统的基础上加强了各种功能设定;
创建btrfs:
mkfs.btrfs
选项:
-L|--label <name:为即将创建的btrfs文件系统指定卷标;
-d|--date <type>:为数据存储指定类型raid0, raid1, raid5, raid6, raid10 or single
-m|--metadate <profile>:指定元数据的存储方式,可以选择的类型有:raid0, raid1, raid5, raid6, raid10, single or dup.
-O|--features <feature1>[<feature2>]:指定文件系统的特性如果想要查看有哪些特性可以使用命 令:mkfs.btrfs -O list-all
例
为指定文件系统设置卷标,并将其数据存储方式设定为raid0
查看文件系统的详细情况:
查看文件系统的挂载情况:
修改文件系统的大小:
btrfs filesystem resize {+|-}size{kK|mM|gG|Tt} 挂载点
物理边界5G,-1G磁盘空间
+1G磁盘空间
扩展磁盘空间物理边界:
缩减磁盘空间物理边界:
子卷管理:
子卷类似于ext系统中将其他分区挂载到根目录下的某个空闲子目录的操作;
btrfs subvolume create /挂载点/子卷名(创建子卷)
btrfs subvolume delete /挂载点/子卷名(删除子卷)
btrfs subvolume list -a /挂载点/子卷名(显示所有子卷)
创建指定子卷的快照卷:
btrfs subvolume snapshot /挂载点/子卷名(源) /挂载点/快照名(目的)
磁盘配额:
磁盘配额是对各个用户所能操作的文件的空间进行限定,控制磁盘容量的流失;
磁盘配额操作,必须是在该磁盘创建了文件系统的前提下操作,其主要限制的有磁盘空间,即块的数 量,以及inode的数量;磁盘配额的类型有两种,一种是软配额,在用户达到软配额上限时会对用户进 行提醒,将会启动宽限期倒计时;但不会限制用户操作,但到了磁盘配额的另一种类型,硬配额,就 会去限制用户的操作;
想要为单独的分区或卷制定磁盘配额,就必须为其单独进行挂载;磁盘配额的挂载方式有两种;
①直接挂载:
mount -o usrquota,grpquota 设备 挂载点
②通过配置文件/etc/fstab
device mount_point fstype defaults,usrquota,grpquata 0 0
两种磁盘配额的挂载方式任选一种;
usrquota与grpquota指的是为用户进行配额限制与对组进行配额限制;使指定的用户或组在挂载点处存在配额限制,实现资源的有效管理;
在对磁盘进行挂载后,使用命令quotacheck命令去检测配额文件和与配额文件相对应的挂载设备;
quotacheck:去检测一个文件系统,磁盘使用率,修复磁盘配额文件的工具;
-v,--ver:显示详细信息
-u,--user:创建,检测和修复用户配额文件;
-g,--group:创建,检测和修复配额文件;
-c,--create:经过检测,如果没有用户配额文件或组配额文件,就安装用户给定选项来进行文件 的创建;
-a,--all:所有的在/etc/fstab文件中包含了与配额有关的挂载选项的设备,是否有对应选项的 配额文件;
例:挂载用户配额与组配额信息,使用qutoacheck命令检测配额文件是否存在
在对配额文件与配额文件相对应的挂载设备进行检测后,便可开始编写配额文件内容,按照需要去 编写用户配额,组配额,去设定其内存空间的软限制与硬限制,inode结点的软限制与硬限制;还 可 以设定在超出软配额限制后的宽限期;
edquota:
-u,--user:编写用户配额,默认功能;默认单位kb
-g,--group:编写组配额;
-t:设置,超出软配额限制的宽限期,默认为7天,可以选择以秒,分钟,小时,天,月,年等时间单位;
例:对用户配额的编写
打开用户配额修改界面
打开软配额限制宽限期
在对配额编写完毕之后便可以启动磁盘配额功能;
quotaon命令
使用方式:
quotaon 设备
关闭磁盘配额功能:
quotaoff命令
使用方式:
quotaoff 设备