每日命令:(14)tune2fs
tune2fs简介
tune2fs是调整和查看ext2/ext3文件系统的文件系统参数,Windows下面如果出现意外断电死机情况,下次开机一般都会出现系统自检。Linux系统下面也有文件系统自检,而且是可以通过tune2fs命令,自行定义自检周期及方式。
tune2fs用法
tune2fs [ -l ] [ -c max-mount-counts ] [ -e errors-behavior ] [ -f ] [ -i interval-between-checks ] [ -j ] [ -J journal-options ] [ -m
reserved-blocks-percentage ] [ -o [^]mount-options[,...] ] [ -r reserved-blocks-count ] [ -s sparse-super-flag ] [ -u user ] [ -g
group ] [ -C mount-count ] [ -L volume-name ] [ -M last-mounted-directory ] [ -O [^]feature[,...] ] [ -T time-last-checked ] [ -U
UUID ] device
常用选项说明:
-l:查看文件系统信息
-c:max-mount-counts:设置强制自检的挂载次数,如果开启,每挂载一次mount conut就会加1,超过次数就会强制自检
-C:mount-count:设置文件系统挂载的次数,如果同时对一个文件系统指定了-c选项且-c参数的值大于-C,则将在下次启动时进行强制自检
-i:interval-between-checks[d|m|w] 设置强制自检的时间间隔[d天m月w周]
-m:reserved-blocks-percentage 保留块的百分比
-j:将ext2文件系统转换为ext3类型的文件系统,ext2可以转ext3 但不可以转回,转回数据丢失
-L:volume-label 类似e2label的功能,可以修改文件系统的标签
-r:reserved-blocks-count 调整系统保留空间
-o:[^]mount-option[,...] Set or clear the indicated default mount options in the filesystem. 设置或清除默认挂载的文件系统选项
-I:设置自检天数
-m:设置预留空间
-U:要设定 UUID 可以使用命令「tune2fs -U UUID 装置档案」,(要显示各储存装置的 UUID,可以使用命令
-e:error_behavior
下面列出3种发现错误后的行为:
continue:继续执行检测
remount-ro:重新以只读方式挂接
panic:产生一次系统崩溃(panic)
注意:默认情况下如果系统检测到文件系统有错误,会设置文件系统在下次启动的时候执行fsck检测。-c和-C参数可以用来设置文件系统在下次重启的时候强制继续执行fsck。-i和-c参数也可以同时设置在一个文件系统上。请注意,如果文件系统达成max_mount_counts或者check_interval的某一个条件,都会执行文件系统检查。
tune2fs -l的输出介绍
tune2fs -l /dev/ram3
档案系统 volume 名称 (Filesystem volume name):即是档案系统标签 (Filesystem label),用作简述该档案系统的用途或其储存数据。现时 GNU/Linux 都会用 USB /IEEE1394 硬盘等可移除储存装置的档案系统标签作为其挂载目录的名称,方便使用者识别。而个别 GNU/Linux distribution 如 Fedora、RHEL 和 CentOS 等亦在 fstab 取代传统装置档案名称 (即 /dev/sda1 和 /dev/hdc5 等) 的指定开机时要挂载的档案系统,避免偶然因为 BIOS 设定或插入次序的改变而引起的混乱。可以使用命令 e2label 或 tune2fs -L 改变。
上一次挂载于 (Last mounted on)' :上一次挂载档案系统的挂载点路径,此栏一般为空,很少使用。可以使用命令 tune2fs -M 设定。
档案系统 UUID (Filesystem UUID):一个一般由乱数产生的识别码,可以用来识别档案系统。个别 GNU/Linux distribution 如 Ubuntu] 等亦在 fstab 取代传统装置档案名称 (即 /dev/sda1 和 /dev/hdc5 等) 的指定开机时要挂载的档案系统,避免偶然因为 BIOS 设定或插入次序的改变而引起的混乱。可以使用命令 tune2fs -U 改变。
(Filesystem magic number):用来识别此档案系统为 Ext2/Ext3/Ext4 的签名,位置在档案系统的 0x0438 - 0x0439 (Superblock 的 0x38-0x39),现时必定是 0xEF53。
档案系统版本编号 (Filesystem revision #) - 档案系统微版本编号,只可以在格式化时使用 mke2fs -r 设定。现在只支持:
0 - 原始格式,Linux 1.2 或以前只支援此格式[2]
1 (dymanic) - V2 格式支援动态 inode 大小 (现时一般都使用此版本)
档案系统功能 (Filesystem features):开启了的档案系统功能,可以使用合令 tune2fs -O 改变。现在可以有以下功能:
has_journal - 有日志 (journal),亦代表此档案系统必为 Ext3 或 Ext4
ext_attr - 支援 extended attribute
resize_inode - resize2fs 可以加大档案系统大小
dir_index - 支援目录索引,可以加快在大目录中搜索档案。
filetype - 目录项目为否记录档案类型
needs_recovery - e2fsck 检查 Ext3/Ext4 档案系统时用来决定是否需要完成日志纪录中未完成的工作,快速自动修复档案系统
extent - 支援 Ext4 extent 功能,可以加快档案系系效能和减少 external fragmentation
flex_bg
sparse_super - 只有少数 superblock 备份,而不是每个区块组都有 superblock 备份,节省空间。
large_file - 支援大于 2GiB 的档案
huge_file
uninit_bg
dir_nlink
extra_isize
档案系统旗号 (Filesystem flags):signed_directory_hash
缺省挂载选项 (Default mount options):挂载此档案系统缺省会使用的选项
档案系统状态 (Filesystem state):可以为 clean (档案系统已成功地被卸载)、not-clean (表示档案系统挂载成读写模式后,仍未被卸载) 或 erroneous (档案系统被发现有问题)
错误处理方案 (Errors behavior):档案系统发生问题时的处理方案,可以为 continue (继续正常运作) 、remount-ro (重新挂载成只读模式) 或 panic (即时当掉系统)。可以使用 tune2fs -e 改变。
作业系统类型 (Filesystem OS type):建立档案系统的作业系统,可以为 Linux/Hurd/MASIX/FreeBSD/Lites[1]
Inode 数目 (Inode count):档案系统的总 inode 数目,亦是整个档案系统所可能拥有档案数目的上限
区块数目 (Block count):档案系统的总区块数目
保留区块数目 (Reserved block count):保留给系统管理员工作之用的区块数目
未使用区块数目 (Free blocks):未使用区块数目
未使用 inode 数目 (Free inodes):未使用 inode 数目
第一个区块编数 (First block):Superblock 或第一个区块组开始的区块编数。此值在 1 KiB 区块大小的档案系统为 1,大于1 KiB 区块大小的档案系统为 0。(Superblock/第一个区块组一般都在档案系统 0x0400 (1024) 开始)
区块大小 (Block size) - 区块大小,可以为 1024, 2048 或 4096 字节 (Compaq Alpha 系统可以使用 8192 字节的区块)
Fragment 大小 (Fragment size):实际上 Ext2/Ext3/Ext4 未有支援 Fragment,所以此值一般和区块大小一样
保留 GDT 区块数目 (Reserved GDT blocks) - 保留作在线 (online) 改变档案系统大小的区块数目。若此值为 0,只可以先卸载才可脱机改变档案系统大小
区块/组 (Blocks per group):每个区块组的区块数目
Fragments/组 (Fragments per group):每个区块组的 fragment 数目,亦用来计算每个区块组中 block bitmap 的大小
Inodes/组 (Inodes per group):每个区块组的 inode 数目
Inode 区块/组 (Inode blocks per group):每个区块组的 inode 区块数目
(Flex block group size):16
档案系统建立时间 (Filesystem created):格式化此档案系统的时间
最后挂载时间 (Last mount time):上一次挂载此档案系统的时间
最后改动时间 (Last write time):上一次改变此档案系统内容的时间
挂载次数 (Mount count):距上一次作完整档案系统检查后档案系统被挂载的次数,让 fsck 决定是否应进行另一次完整档案系统检查
最大挂载次数 (Maximum mount count):档案系统进行另一次完整检查可以被挂载的次数,若挂载次数 (Mount count) 大于此值,fsck 会进行另一次完整档案系统检查
最后检查时间 (Last checked):上一次档案系统作完整检查的时间
检查间距 (Check interval):档案系统应该进行另一次完整检查的最大时间距
下次检查时间 (Next check after):下一次档案系统应该进行另一次完整检查的时间
保留区块使用者识别码 (Reserved blocks uid):0 (user root)
保留区块群组识别码 (Reserved blocks gid):0 (group root)
第一个 inode (First inode):第一个可以用作存放正常档案属性的 inode 编号,在原格式此值一定为 11, V2 格式亦可以改变此值
Inode 大小 (Inode size):Inode 大小,传统为 128 字节,新系统会使用 256 字节的 inode 令扩充功能更方便
(Required extra isize):28
(Desired extra isize):28
日志 inode (Journal inode):日志档案的 inode 编号
缺省目录 hash 算法 (Default directory hash):half_md4
目录 hash 种子 (Directory Hash Seed):17e9c71d-5a16-47ad-b478-7c6bc3178f1d
日志备份 (Journal backup):inode blocks
日志大小 (Journal size):日志档案的大小
使用示例
设置强制检查前文件系统可以挂载的次数
tune2fs -c 30 /dev/hda1
关闭强制检查挂载次数限制
tune2fs -c -l /dev/hda1
10天后检查
tune2fs -i 10 /dev/hda1
1天后检查
tune2fs -i 1d /dev/hda1
3周后检查
tune2fs -i 3w /dev/hda1
半年后检查
tune2fs -i 6m /dev/hda1
禁用时间检查
tune2fs -i 0 /dev/hda1
添加日志功能,将ext2转换成ext3文件系统
tune2fs -j /dev/hda1
调整/dev/hda1分区的保留空间为40000个磁盘块
tune2fs -r 40000 /dev/hda1
调整/dev/hda1分区的保留空间为10%
tune2fs -m 10 /dev/hda1
设置/dev/hda1挂载选项,启用Posix Access Control Lists和用户指定的扩展属性
tune2fs -o acl,user_xattr /dev/hda1
开机取消自检
tune2fs -l /dev/sdb1 | grep -E 'Maximum mount count:|Check interval'
tune2fs -i 0 -c 0 /dev/sdb1
更改设备为指定的uuid
tune2fs -U 51f7e9a4-5154-4e29-a7a6-208417290b85 /dev/sda1
-U 的参数如果为 random 表示直接产生一个随意的新 UUID:
tune2fs -U random /dev/sda1
-U 的参数如果为 time 表示直接依当前时间产生一个新的 UUID:
tune2fs -U time /dev/sda1
-U 的参数如果为 clear 表示清除档案系统的 UUID:
tune2fs -U clear /dev/sda1
缩小保留空间已扩大使用容量
#tune2fs -l /dev/sdd12|grep -i 'reserved block count'
Reserved block count: 7984
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext3 289G 5.6G 268G 3% /
tmpfs tmpfs 633M 0 633M 0% /dev/shm
/dev/sdd12 ext3 38M 4.5M 26M 15% /mnt
# tune2fs -m 1 /dev/sdd12
tune2fs 1.39 (29-May-2006)
Setting reserved blocks percentage to 1% (399 blocks)
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext3 289G 5.6G 268G 3% /
tmpfs tmpfs 633M 0 633M 0% /dev/shm
/dev/sdd12 ext3 38M 4.5M 33M 13% /mnt
每日命令:(14)tune2fs的更多相关文章
- linux每日命令(14):less命令
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more 更加的有弹性.在 more 的时候,我们并没有办法向前面翻 ...
- linux每日命令(26):Linux文件属性详解
Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loca ...
- linux每日命令(6):rm命令
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. rm是一个危险的命令,使用的 ...
- linux每日命令(15):tail命令
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新, ...
- linux每日命令(20):find命令概览
Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时 ...
- linux每日命令(21):find命令之exec
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. 一. exec参数说明: -exec 参数后面跟的是com ...
- linux每日命令(23):find命令之xargs
在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...
- linux每日命令(30):Linux 用户及用户组相关文件、命令详解
一. 用户.用户组概念及其文件结构详解 Linux用户只有两个等级:root及非root.Linux中还有一部分用户,如:apache.mysql.nobody.ftp等,这些也都是非root用户,即 ...
- linux每日命令(34):ps命令和pstree命令
Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...
随机推荐
- 初识Sklearn-IrisData训练与预测
笔记:机器学习入门---鸢尾花分类 Sklearn 本身就有很多数据库,可以用来练习. 以 Iris 的数据为例,这种花有四个属性,花瓣的长宽,茎的长宽,根据这些属性把花分为三类:山鸢尾花Setosa ...
- 黑客攻防技术宝典web实战篇:解析应用程序习题
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 当解析一个应用程序时,会遇到以下 URL:https://wahh-app.com/Coo ...
- 《算法竞赛进阶指南》1.6Trie
142. 前缀统计 给定N个字符串S1,S2-SN,接下来进行M次询问,每次询问给定一个字符串T,求S1-SN中有多少个字符串是T的前缀. 输入字符串的总长度不超过106,仅包含小写字母. 输入格式 ...
- 关于协程:nodejs和golang协程的不同
nodejs和golang都是支持协程的,从表现上来看,nodejs对于协程的支持在于async/await,golang对协程的支持在于goroutine.关于协程的话题,简单来说,可以看作是非抢占 ...
- RobotFramework自动化测试框架(3)- RobotFramework扩展测试库、资源文件、变量文件
扩展测试库 扩展测试库可使用python或java语言编写.后直接导入需要使用的测试用例文件即可. 具体的实现和操作,后续补充.请参考官网. 资源文件 在资源文件中定义用户关键字,它提供了共享机制,即 ...
- RobotFramework自动化测试框架(1)- RobotFramework简介
对于RobotFramework自动化测试框架,我这里会从三个单元进行阐述,希望能对你有帮助. RobotFramework简介 RobotFramework是什么? Robotframework 是 ...
- 关于long long int和__int64用%I64d和%lld输出在不同编译语言下的正确性
http://blog.csdn.net/febr2/article/details/52068357 这个网址最下面
- H5图片预览功能
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- asp.net MVC中实现调取web api
public ActionResult Index(string city) { if (string.IsNullOrEmpty(city)) { city = "上海"; } ...
- spring mvc 通过拦截器记录请求数据和响应数据
spring mvc 能过拦截器记录请求数据记录有很多种方式,主要有以下三种: 1:过滤器 2:HandlerInterceptor拦截器 3:Aspect接口控制器 但是就我个人所知要记录返回的数据 ...