linux的文件系统管理(ext4-tune2fs-e2fsck-xfs文件系统)
文件系统管理
文件系统是Linux系统存放文件的空间。文件系统的类型有很多种,CentOS支持多种文件系统,目前常用的是ext4和xfs文件系统。我们以ext4文件系统为例来说明对文件系统的管理。
UFS —— Unix Filesystem
1.ext4文件系统
1.基本概念
软件包:e2fsprogs
ext4文件系统是Linux上主要的文件系统,它的早期是ext2文件系统,ext2全称第二代扩展文件系统(Second Extended filesystem),是为了替代早期ext文件系统开发的。ext2发展后的文件系统是ext3,ext3发展后的文件系统是ext4。
人们在存储文件时,有各种不同的需求,为了满足不同的需求,文件系统有各种不同的属性,对这种不同属性的设置、修改就是对文件系统的管理。
文件系统的所有属性都有缺省值,
文件系统的属性有很多,我们不可能对所有的属性进行探讨。我们只讨论实际中常用的属性。其他属性请参看man ext4及文件系统命令的帮助。
2.使用的命令:
mkfs.ext4 —创建ext4文件系统会。调用mke2fs — 创建 ext2/ext3/ext4 文件系统
tune2fs — 调整、显示文件系统参数
dumpe2fs — 列出并转储文件系统的信息,可用于查看文件系统的属性。
e2fsck — 检查修复文件系统
resize2fs --重置LV大小,自动把新增空间制作文件系统 同时i-node也会变化
e2label --设置卷标
3.属性:
1、块大小
2、inode
文件系统可以存储的文件的数量不能超过inode的值,即使还有空间,但文件个数=inode值,文件系统仍然是满的。
3、mount选项
文件系统在挂载时,缺省的挂载选项,这些选项不是在执行mount命令时制定,而是在文件系统自己具有。/etc/fstab文件中的第四字段为'defaults'就是标明使用文件系统自带的挂载选项。
卷标:用于标示该文件系统的字符串。是由人为指定的。
块大小和i-node:只能在创建文件系统时指定。一旦文件系统创建完成,块大小不能更改。
2.查看文件和文件系统
1.查看文件占据占据块大小
文件系统存储文件是按块(block)存放文件的,给文件分配的最小空间单位就是块。文件系统在创建时,会按照一个统一的大小,把空间划分成N多的存储块。存储文件时,分区会根据文件的大小,给其分配足够多的block块,若块中空间未能存满,也不再存其他我文件。
我们使用
ls -l --查看到的是文件的实际大小
但使用
du f1 --查看文件占据的分区空间大小,即块
du /var --查看目录及其内容占的块大小
du -s /var --只查看目录
ext4系统在分区格式化时默认设置的块大小和空间大小有关,超1G时是4KB。
文件系统的信息可使用tnue2fs命令查看:
tune2fs -l 设备名
注:块的大小只能在格式化时做设置,之后不可更改,除非重新格式化
2.dumpe2fs查看文件系统的超级块和块组的信息
dumpe2fs 命令可列出磁盘设备上文件系统的超级块和块组的信息,并转储(Dump)文件系统信息。
dumpe2fs 命令格式如下:
dumpe2fs <参数> <设备>
主要参数说明如下:
* -h — 只显示超级块中的信息,不显示块组信息
-i — 从指定的文件系统image 文件中读取文件系统信息
-x — 显示详细的块分组信息,块号使用十六进制格式
-f — 强制显示文件系统的信息,即使文件系统中含有无法识别的信息
-b — 显示文件系统中保留做坏块的信息
-V — 显示版本号
3.Inode节点:
1.基本概念
inode节点简称i节点
文件系统创建时,会把所有的block,划分成两大区域:inode区、数据区
inode区:一个inode对应一个文件,即一个文件会占用一个inode,inode会占用一定的空间用于存储该文件的元数据信息。
文件元数据:权限、大小、所属、创建时间、更改时间、地址指针(指向文件在数据IO区占用的空间的地址编号)等。
数据区,根据文件的大小,给其分配足够多的block,存储文件内容
2.查看命令
ls -i ---查看的文件的inode编号
stat f1 ---查看文件的属性,即inode节点中的信息
df -h ---查看各分区数据区的使用率
df -i ---查看各分区inode区的使用率,显示单位:个数
注:每个文件系统的第一个inode,不用与存储文件属性,专用于存储本分区的属性,如:分区大小,地址范围,使用率等
该块称为 超级块(supper block)
第31个inode,作为超级的备份块,称为次超级块

4.mke2fs命令创建文件系统
1.主要参数说明如下:
mkfs.ext4 -b 块值 -- 指定文件系统数据块的大小,有效的值为1024、2048和4096。
mke2fs <参数> <设备> --参考man mkfs.ext4
* -N — 指定 inode 数量,覆盖使用-i定义计算出的值。
* -L — 设置所创建文件系统的标签
-c — 在创建文件系统之前检查指定的设备上是否有坏快。如果连定义2次该参数,系统将采用慢速的读/写方式来代替较快的读方式来检查坏快
-i — 定义多少字节使用一个inode,即bytes/inode,值越大,文件系统上的 inode越少。该值不能比块大小小,因为1个块不能被2个文件用。
-I — 每个inode所使用的字节数。缺省512,不能比128小,太大会影响空间使用率,
-j — 创建使用ext3 卷号的文件系统
-J <扩展参数>—为使用ext3 卷号的文件系统指定一些扩展参数
-D — 使用直接IO读写
-n — 演习创建文件系统
-F — 强制执行
2.ext4配置文件和ext文件系统的缺省特性
/etc/mke2fs.conf --创建ext4文件系统的参数文件
可以再该文件中修改创建时的缺省值
ext2文件系统的缺省特性:
ext_attr resize_inode dir_index filetype sparse_super
ext3文件系统的缺省特性:
has_journal ext_attr resize_inode dir_index filetype sparse_super
ext4文件系统的缺省特性:
has_journal ext_attr resize_inode dir_index filetype sparse_super needs_recovery extent 64bit flex_bg huge_file uninit_bg dir_nlink extra_isize
5.tune2fs 命令调整文件系统参数
对于已创建的文件系统,可使用tune2fs 命令来调整某些参数。
1.tune2fs 命令格式
tune2fs <参数> <设备> --具体参数请参考man tune2fs
主要参数说明如下:
-j — 调整文件系统为ext3 类型,为系统增加ext3 的日志
-J — 更详细的日志控制
* -l — 列出文件系统supper block 的内容,经常用于查看文件系统的元数据。
* -L — 为文件系统设置卷标
-m — 指定文件系统保留的块,百分比表示
* -o[^] — 设置或取消挂载参数
-O — 设置文件系统特性,如ext3转ext4,增加特性即可
* -c max-mount-counts --满足挂载次数就检查
* -C mount-count--挂载次数
* -i interval-between-checks d天m月 w周 --距离下次检查的时间
-U clear — 清除文件系统的 UUID
-U random — 为文件系统产生随机的UUID
-U time — 为文件系统产生基于时间的 UUID
tune2fs -O extents,uninit_bg,dir_index --增加系统特性
2.挂载参数
挂载说明
两个分区挂载到同一目录下,后挂的生效,先挂的被隐藏在内部,卸载先卸载后挂的分区允许挂载到非空目录下,原目录下内容会被隐藏,只有卸载分区后,才会显现建议:挂载前,一定确认挂载点是空目录
tune2fs -o ^acl /dev/sdb1 --取消用户acl扩充特性
user_xattr 使能用户设置的扩充特性。
acl 使能扩充的访问控制。
3.示例
tune2fs -c 5 /dev/sdb1 ---设定扫描频率,该分区每挂载5次后,自动检查一次
tune2fs -i 5d /dev/sda7 ---设定每5天扫描一次 5m 月 5w 周
tune2fs -c -1 /dev/sda7 ---设置为负一 ,表示取消
tune2fs -i 0 /dev/sda7 ---设置为0 零 ,表示取消
tune2fs -o ^acl /dev/sdb1 --取消用户acl扩充特性
tune2fs -O extents,uninit_bg,dir_index --增加系统特性
6.e2fsck命令修复文件系统
如果文件系统出现问题,可以使用e2fsck 工具检查并修复。
1.e2fsck格式与参数
e2fsck 命令格式如下:
e2fsck <参数> <设备>
主要参数说明如下:
-p — 自动修复
-a — 同-p
-B — 指定区块的大小,单位为字节
-c — 一并执行badblocks,以标示损坏的区块
-d — 显示排错信息
-f — 即使文件系统没有错误迹象,仍强制地检查正确性
-F — 执行前先清除设备的缓冲区
-y — 以非交互方式执行,所有问题均设置以“yes”回答
2.传统的UFS检查方式和mkfs与mke2fs
fsck -t ext4 /dev/sda7 ---扫描分区
7.文件系统下的文件扩充特性
1.查看特性及特性说明 lsattr 文件名
lsattr 文件名
特性说明:有用 ASacdisu 表示的几种特性
A 它的atime(访问时间)记录不会改变。这可以在电脑系统中避免某些磁盘I/O处理.
a 只能在添加模式下打开用于写入。只有超级用户可以设置或清除该属性。
d 文件不能对其运行 dump(8) 程序进行备份。
i 文件不能进行修改:你既不能删除它, 也不能给它重新命名,你不能对该文件创建硬链接, 而且也不能对该文件写入任何数据。只有超级用户可以设置或清除该属性.
S 对文件的修改会同步写入到磁盘上。和 sync挂载选项有相同的效果。
E 扩充特性
2.修改属性:chattr
chattr [-RV] +-=属性 文件名
R:递归 v:verbose
8.xfs系统的一些命令
man -k xfs --查看有那些命令
mkfs.xfs --创建xfs文件系统
xfs_info --查看
xfs_admin --管理
xfs_growfs --扩充
xfs_repair --检查
linux的文件系统管理(ext4-tune2fs-e2fsck-xfs文件系统)的更多相关文章
- 第四章 文件的基本管理和XFS文件系统备份恢复 随堂笔记
第四章 文件的基本管理和XFS文件系统备份恢复 本节所讲内容: 4.1 Linux系统目录结构和相对/绝对路径. 4.2 创建/复制/删除文件,rm -rf / 意外事故 4.3 查看文件内容的命令 ...
- Linux高级运维 第四章 文件的基本管理和XFS文件系统备份恢复
4.1 Linux系统目录结构和相对/绝对路径 4.1.1系统目录结构 在windows系统中,查看文件先进入相应的盘符,然后进入文件目录 在windows中,它是多根 c:\ d:\ e ...
- linux btrfs文件系统管理与应用
btrfs文件系统管理与应用 1.btrfs文件系统 基本介绍 btrfs文件系统在CentOS7.x上属于技术预览版 btrfs文件系统英文名:B-tree FileSystem或者Butter ...
- linux 文件系统管理三部曲之三:挂载文件系统
linux 文件系统管理三部曲之一:磁盘分区 linux 文件系统管理三部曲之二:创建文件系统 上面说明了,硬盘的划分和格式化,那么怎么使用,还没说,这里说一下,怎么使用创建好的文件系统. 使用文件系 ...
- linux备忘录-文件系统管理
Extx 文件系统原理 block group 每个分区(partition)的组成为 boot sector -> block group -> block group -> bl ...
- 文件的基本管理和XFS文件系统备份恢复
4.1 Linux系统目录结构和相对/绝对路径 4.1.1系统目录结构 在WIN系统中,查看文件先进入相应的盘符,然后进入文件目录 在WIN中,它是多根 c:\ d:\ e:\ Linux ...
- Linux高级文件系统管理(8)
如果您的 Linux 服务器有多个用户经常存取数据时,为了维护所有使用者在硬盘容量的公平使用,磁碟配额 (Quota) 就是一项非常有用的工具,另外,如果你的用户常常抱怨磁盘容量不够用,那么更进阶的文 ...
- Linux学习 -- 文件系统管理
1 分区和文件系统 分区类型 主分区:<= 4个 扩展分区:只能有一个,也算主分区的一种 不能存储数据和格式化,只能用来包含逻辑分区 逻辑分区:扩展分区中划分的 IDE--最多59个 ...
- Linux进阶文件系统管理之RAID
RAID 1.引言 RAID全称Redundant Arrays of Inexpensive Disks / Redundant Arrays of Independent Disks,即独立冗余磁 ...
随机推荐
- MyBatis和Spring整合的奥秘
本篇博客源码分析基于Spring 5.1.16.RELEASE,mybatis-spring 2.0.0,较高版本的mybatis-spring源码有较大区别. Spring之所以是目前Java最受欢 ...
- c++ 数字与字符串的相互转换
首先推荐用用C++的stringstream. 主要原因是操作简单. 0x00 字符串转数字 // zcj_14.cpp : //该程序是一个注册机,原理是对输入的字符每个与2求异或的结果取低位即为注 ...
- 记录一下安装hexo的过程
记录一下安装hexo的过程 首先你的电脑需要安装node.js和Git 安装好Git之后需要配置本机与Github之间的ssh方便更新同步博客到Github上,在一个地方新建一个文件夹作为我们博客的根 ...
- postman-4-响应内容
通过响应报文来检测接口的正确性:响应由正文,响应头和状态码组成 Pretty模式可以格式化JSON或XML响应报文,以便更容易查看.突出显示Pretry模式中的链接,点击它们, 可以通过链接URL在P ...
- Linux多任务编程之六:编写多进程程序及其代码(转)
来源:CSDN 作者:王文松 转自Linux公社 ------------------------------------------------------------------------- ...
- Scala 面向对象(三):package 包 (二)
1 包对象 基本介绍:包可以包含类.对象和特质trait,但不能包含函数/方法或变量的定义.这是Java虚拟机的局限.为了弥补这一点不足,scala提供了包对象的概念来解决这个问题. package ...
- CRM开发系列
CRM,客户关系管理系统(Customer Relationship Management).企业用CRM技术来管理与客户之间的关系,以求提升企业成功的管理方式,其目的是协助企业管理销售循环:新客户的 ...
- 数据可视化之PowerQuery篇(十七)Power BI数据分析应用:水平分析法
https://zhuanlan.zhihu.com/p/103264851 本文为星球嘉宾"海艳"的PowerBI数据分析工作实践系列分享之一,她深入浅出的介绍了PowerBI ...
- Mysql UDF提权方法
0x01 UDF UDF(user defined function)用户自定义函数,是mysql的一个拓展接口.用户可以通过自定义函数实现在mysql中无法方便实现的功能,其添加的新函数都可以在sq ...
- SpringBoot学习笔记(十七:异步调用)
@ 目录 1.@EnableAsync 2.@Async 2.1.无返回值的异步方法 2.1.有返回值的异步方法 3. Executor 3.1.方法级别重写Executor 3.2.应用级别重写Ex ...