FreeBSD下label错误导致分区丢失一例


案例描述:

某天早上上班后管理员说一服务器上本来有两块硬盘的,其中一块硬盘全盘划分给了/data1,登陆时却发现/data1分区没了。

OS:FreeBSD

登陆服务器

1.执行last查找任何有可能的蛛丝马迹:
xx ttyp0 xx.xx.xx.xx WedSep1009:40-09:45(00:04)
reboot~WedSep1009:27
shutdown~TueSep921:05
xx ttyp0 xx.xx.xx.xx TueSep920:55-shutdown(00:09)
也就是说早晨重启后/data1分区丢失,那么我们应该继续查看/etc/fstab中的内容,www.bkjia.com并查看label对应关系。

2.查看/etc/fstab的内容
[root@localhost ~] ~#cat/etc/fstab
/dev/ufs/root/ufsrw11
/dev/da0s1bnoneswap sw00
/dev/ufs/usr/usrufsrw22
/dev/ufs/var/varufsrw22
/dev/ufs/tmp/tmpufs rw22
/dev/ufs/data0/data0ufsrw22
/dev/ufs/data1/data1ufsrw22

3.利用tunefs -p 也可以来查看硬盘与label的对应关系
发现/dev/da1s1d没有对应的label,也就是说之前管理员/data1是和/dev/da1s1d对应的
但是在重启后此对应关系丢失了,导致 了/etc/fstab中的/dev/ufs/data1/data1ufsrw22 这一行无效了
所以就出现了开始的一幕/data1分区神秘丢失。

4.处理方法:
原因说明:/dev/da1s1d原有label丢失,从而导致系统重启后/data1分区丢失。
处理办法:tunefs-Ldata1/dev/da1s1d设置了label,然后再把执行mount即可找回丢失的/data1分区。

6.验证:
再看下设置label后/dev/da1s1d对应的label
[root@localhost ~]~#tunefs -p dev/da1s1d
tunefs:ACLs:(-a)disabled
tunefs:MACmultilabel:(-l)disabled
tunefs:softupdates:(-n)enabled
tunefs:maximumblocksperfileinacylindergroup:(-e)2048
tunefs:averagefilesize:(-f)16384
tunefs:averagenumberoffilesinadirectory:(-s)64
tunefs:minimumpercentageoffreespace:(-m)8%
tunefs:optimizationpreference:(-o)time
tunefs:volumelabel:(-L)data1
[root@localhost ~]~#

至此丢失的分区又找回来了,并对硬盘进行检测没有发现任何介质错误和文件错误。排除了磁盘的物理故障。
仔细分析出现此现场的原因可能是服务器长时间的运行文件系统出现了些错误从而导致服务器重启后label对应关系丢失。

BTW: Linux下和tunefs对应的是tune2fs

[ The End ]

相关内容