Linux 开机自检的设置(tune2fs和fsck/e2fsck)
tune2fs 调整/查看ext2/ext3文件系统的文件系统参数,Windows下面如果出现意外断电死机情况,下次开机一般都会出现系统自检。Linux系统下面也有文件系统自检,而且是可以通过tune2fs命令,自行定义自检周期及方式。
例子: 设置开机不自检
[root@apexepd ~]# tune2fs -c -1 -i 0 /dev/sdb1 (一个LINUX分区)
tune2fs 1.35 (28-Feb-2004)
Setting maximal mount count to -1
Setting interval between check 0 seconds
————————————————————————————————————
tune2fs和fsck的用法
tune2fs--调整ext2/ext3文件系统特性的工具。
-l <device> 查看文件系统信息
-c <count> 设置强制自检的挂载次数
-i <nday> 设置强制自检的时间间隔
-m <percentage> 保留块的百分比
-j 将ext2文件系统转换为ext3类型的文件系统
ext2文件系统不具备日志功能。将ext3文件系统转换为ext3类型就能为服务器增加日志功能,对于老的服务器,
用了很久的服务器来说,这是一个非常有用的功能。它可以防止因为断电,异常关机,数据丢失;或者是长时间的自检。
# tune2fs -l /dev/sdb1
# mount /dev/sdb1 /mnt/d1
# tune2fs -l /dev/sdb1
查看 mount count 挂载次数
Maximum mount count 最大挂载次数。达到最大挂载次数后,再次开机时就会强制自检。
使用tune2fs -c 参数修改强制自检次数
# tune2fs -c 2 /dev/sdb1
# tune2fs -l /dev/sdb1 |grep -i “mount count”
# tune2fs -l /dev/sdb1 |grep -i “mount count”
# umount /mnt/d1
# mount /dev/sdb1 /mnt/d1
# tune2fs -l /dev/sdb1 |grep -i “mount count”
此时这个 sdb1 已经达到了最大挂载次数2。此时,如果重启计算机,这个设备肯定会强制自检的。
# umount /mnt/d1
# mount /dev/sdb1 /mnt/d1
# tune2fs -l /dev/sdb1 |grep -i “mount count”
# tune2fs -c -1 /dev/sdb1 #使用负值设置某一设备永远不要自检。
-i check interval 系统自检间隔时间
默认系统自检时间为6个月。如果不希望它自检。可以改为0或-1,如果想每天自检一次,可以改为2 。
# tune2fs -c -1 -i -1 /dev/sdb1
tune2fs -l /dev/sdb1 |more (查看文件系统的信息)
tune2fs -c 100 /dev/hdb1 (如调整每2次完整地检查根文件系统的装载次数为100次)
tune2fs -l /dev/sdb4 | more Inode count (装载次数)
# tune2fs -r 60 /dev/sdb1 (保留60个块给系统空间使用)
tune2fs -i 5w /dev/sdb1( 调整每2次完整地检查根文件系统的时间间隔为5周)
tune2fs -l /dev/sdb1 看一下 reserced block count ( p这是保留空间)
tune2fs -l <device> /dev.sdb4 |grep Reserved
tune2fs -o ( 查看文件系统信息) -c <count>(设置强制自检的挂载次数) -i <n day>(设置强制自
检的间隔时间) -m <percentage>保留块的百分比 -j 将ext2文件系统转换为ext3格式
tune2fs -l /dev/sdb1 Maximum mount count 挂载次数 tune2fs -c 2 /dev/sdb1 tune2fs -l
/dev/sdb1 | grep -i ” mount count ”
tune2fs -c -1 /dev/sdb1 (为负数时就不能自检)
tune2fs -i 0 /dev/sdb1
tune2fs -l /dev/sdb4 | grep -i “Reserced”
tune2fs -m 10 /dev/sdb4 (改为110%)
mkfs.ext2 /dev/sdb4 mount /dev/sdbv4 /mnt
cp /etc/service /mnt
tune2fs -j /dev/sdb4 umount /dev/sdb4 mount /dev/mnt /mnt
df -h 看一下, ext2可以转ext3 但不可以转回,转回数据丢失
tune2fs -l /dev/sdb4 | more 在文件系统 Filesystem features: has_journal(说明有日志) filetype
sparse_super 可以对比一下.ext2
如果需要自检可以使用手动的自检。fsck工具。
>居中<文件系统检查工具
fsck--检查文件系统数据完整性的工具。
用法一:fsck -t ext2 /dev/sdb1
用法二:fsck.ext2 /dev/sdb1
e2fsck:检查ext2/ext3文件系统的工具
(注意:这个e2fsck有很多的危险性。有不少同学反映使用这个工具会对文件系统造成一定的破坏。特别是同时
使用ext2和ext3文件系统时。它在自动识别的时候会产生一定的误差,所以它非常的危险。不要使用.)
以后使用fsck工具。fsck工具有两种用法,类似于mkfs。一种是fsck -t 后面跟一个类型。还有一种就是fsck后
用.连接文件系统类型,后面跟一个设备。它主要是检查文件是否有错误,是否有数据不完整的错误节点。它会帮
你自动修复文件系统上的错误。
<注意:fsck不要用错参数>
# fsck.ext2 /dev/sdb1
# fsck.ext3 /dev/sdb4
/etc/fstab文件中,在挂载选项后面的最后 一位有1或者2都是开机自检的。一些设备长期不自检也是不好的。根
分区是第一个被自检的,所以标为1。
# df
# mkfs.ext2 /dev/sdb1 使用ext2文件系统格式化/dev/sdb1
# mkfs -t ext3 /dev/sdb4
# fsck -t ext3 /dev/sdb1
# fsck.ext3 -y /dev/sdb4 自动修复sdb4上的文件系统错误。-y表示yes的意思。
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,超过次数就会强制自检
-i interval-between-checks[d|m|w] 设置强制自检的时间间隔[d天m月w周]
-m reserved-blocks-percentage 保留块的百分比
-j 将ext2文件系统转换为ext3类型的文件系统
-L volume-label 类似e2label的功能,可以修改文件系统的标签
-r reserved-blocks-count 调整系统保留空间
-o [^]mount-option[,…] Set or clear the indicated default mount options in the filesystem. 设置或清除默认挂载的文件系统选项
三.示例:
tune2fs -c 30 /dev/hda1 设置强制检查前文件系统可以挂载的次数
tune2fs -c -l /dev/hda1 关闭强制检查挂载次数限制。
tune2fs -i 10 /dev/hda1 10天后检查
tune2fs -i 1d /dev/hda1 1天后检查
tune2fs -i 3w /dev/hda1 3周后检查
tune2fs -i 6m /dev/hda1 半年后检查
tune2fs -i 0 /dev/hda1 禁用时间检查
tune2fs -j /dev/hda1 添加日志功能,将ext2转换成ext3文件系统
tune2fs -r 40000 /dev/hda1 调整/dev/hda1分区的保留空间为40000个磁盘块
tune2fs -o acl,user_xattr /dev/hda1 设置/dev/hda1挂载选项,启用Posix Access Control Lists和用户指定的扩展属性
http://www.huanxiangwu.com/268/linux-tune2fs-command
——————————————————————————————————-
linux fsck命令参数及用法详解—检查修复linux文件系统命令fsck
使用方式 : fsck [-sACVRP] [-t fstype] [–] [fsck-options] filesys […]
说明 : 在Linux系统中,为了增加系统性能,通常系统默认一些数据写在内存中,并不会直接将数据写入硬盘,这是因为内存速度要比硬盘快若干倍。但是有个问题,万一由于“断电”或者其他未知原因,造成系统死机,怎么办?系统就崩溃了。所以,我们需要在特定的时候让数据直接回存到硬盘中。这里提供几个常用的命令,其中,fsck命令最重要. 当文件系统发生错误时,可用fsck命令尝试加以修复.直接采用分区编号(如/dev/had3),或使用挂载点(Mount Point,如/、/usr等)指定文件系统皆可。假设一次指定多个文件系统,而这些系统分别位于不同的物理磁盘上,则fsck将会尝试同步的方式去检查他们,以节省操作时间。
参数 :
filesys : device 名称(eg./dev/sda1),mount 点 (eg. / 或 /usr)
-t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数
-s : 依序一个一个地执行 fsck 的指令来检查
-A : 对/etc/fstab 中所有列出来的 partition 做检查
-C : 显示完整的检查进度
-d : 列印 e2fsck 的 debug 结果
-p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行
-R : 同时有 -A 条件时,省略 / 不检查
-V : 详细显示模式
-a : 如果检查有错则自动修复
-r : 如果检查有错则由使用者回答是否修复
补充说明:
例子 :
检查 msdos 档案系统的 /dev/hda5 是否正常,如果有异常便自动修复 :
fsck -t msdos -a /dev/hda5
注意 :
此指令可与 /etc/fstab 相互参考操作来加以了解。
范例:检查/dev/sda3
[root@localhost ~]# fsck -C -t ext3 /dev/sda3fsck 1.39 (29-May-2006)e2fsck 1.39 (29-May-2006)/dev/sda3 is mounted.
WARNING!!! Running e2fsck on a mounted filesystem may causeSEVERE filesystem damage.
Do you really want to continue (y/n)? yes
/home: recovering journal/home: clean, 11/524288 files, 25399/524120 blocks#一切正常就会出现上述信息
#主意通常只有ROOT且系统有问题的时候才用这个命令,否则在正常状态下使用此命令可能会损坏文件。
相关知识:
Linux FSCK数据出错的灾难应急方案介绍
[适用于]
1、文件系统:ext2 ext3 reiserfs xfs等 (如何磁盘被挂在了,则不能狗进行检测)
2、范围:提示文件系统需要FSCK时,未执行或FSCK执行完成
[症状]
1、无法MOUNT分区;
2、大量文件、目录丢失,根目录下生成/LOST+FOUND文件夹,里面有大量#XXXXXX类的文件和目录;
3、FSCK很快报错完成;
4、FSCK执行时,有大量提示,如修改节点、清0节点等操作
[应急方案]
1、如遇提示FSCK时,请小心。如果可能,请尽快断开系统,UMOUNT所有分区。
2、必需执行FSCK时,先做准备工作,方法一:可事先用dd命令将所涉及到的分区输出到另外的存储体上(最好不要在出错的存储体本身上做dd) 命令大致结构可如: dd if=/dev/sda0 of=/dev/sdb0 …..
3、必需执行FSCK时,先做准备工作,方法二:将整个LINUX存储体挂载到虚拟机环境,将LINUX存储体设为Nonpersisten模式,再执行,执行过后,如果数据完好,应尽快通过FTP等方式拷贝出来。
4、必需执行FSCK时,先做准备工作,方法三:将整个LINUX存储体挂载到其他系统上(如WINDOWS),做好镜像后再做FSCK。
5、如上面几种方式均因条件等原因无法实施,必须执行时,可小心观察FSCK的执行提示(关掉-a)如果发现有提示节点错误需更正或清0、节点描述文件大小不正确等信息,应停止执行FSCK。
6、因恢复需要参考很多信息,因尽可能保持系统不工作状态,至少不得再次MOUNT分区(即便不做任何读写操作,也会因系统的工作原理不断降低数据恢复的可能性,增加数据恢复的难度)
7、寻求专业数据恢复公司帮助。
对磁盘进行镜像的方案:
1、可用相同或大于源盘容量的硬盘做为目标盘,将源盘全部扇区方式CLONE到目标盘。
2、可将源盘完全以扇区方式输出文件到某大容量存储空间(如大容量硬盘、NAS、SAN、DAS等)