修复FreeBSD上的ufs文件系统
昨天在两台FreeBSD上配置好Heartbeat服务(两台机器是用网线连通的,做为Heartbeat的两个节点),启动服务时Heartbeat检测到crmd守护进程没起来,于是它就尝试重启两台机器以启动crmd守护进程。不料重启的过程文件系统出问题了。
错误的信息是这样的:
panic: ufs_dirbad: /: bad dir ino 321044 at offset 512: mangled entry
cpuid=0
之后是一堆的内核栈空间的出错信息,并提示,系统15秒后自动启动。
既然是文件系统出错,又是ufs文件系统,当然第一时间想到的是fsck。于是我挂起了Live CD,对系统分区进行了fsck -y /dev/ada0p2修复(很盲目,没办法,咱懂得的也就这么多:-))再次启动系统,傻了眼,起不来!老样子!。
没办法,只好祭起大招来!上网google一把!看看老外大牛的说法。大牛说了,这种事情发生的机率很少,十年来他才遇见三次。(太荣幸了,我一天之内同时遇见二次!)具体的原因是由于某些硬件引起的(看来是没法查了)。不过幸运的是大牛给了不少的解决方法,我先尝试了几个,但很不幸的是都没能成功!:-( 还好也有点收获,看到大牛介绍的利用fsdb进行文件系统调试,觉得这个有点技术含量哦!
学技术的人看到了有技术含量的东西,不免有点热血沸腾了!于是按照他的说法做了起来:(反正也没招,不成功咱也能找点见识啊!)
1 先启动机器,进入FreeBSD的单用户模式。
2 直接对分区执行fsdb:fsdb /dev/ada0p2
3 执行完上述命令后进入的是一个类似gdb的调试界面。
4 执行inode 321044(321044是错误的inode节点号),界面报出了一大堆信息。(呵呵,咱这水平,还看不懂!)
5 不管三七二十一,执行clir 321044 (我这是莽夫的行为,千万别学我,至少要做个备份了再干)
6 执行quit,退出fsdb。fsdb提示需要执行fsck检查文件系统。
7 执行fsck命令,系统自动找着问题分区,询问进行日志修复(键入y)
8 重启系统
在重启系统的时候系统又报了文件系统出错,不过这回是进入单用户模式(看来有点效果了),好吧,老办法,进行一次fsck -y /dev/ada0p2再重启系统, 这回没有报错了,且能进入login界面了!哈哈!
fsdb,有点意思!
老外网址:http://phaq.phunsites.net/2007/07/01/ufs_dirbad-panic-with-mangled-entries-in-ufs/
学一点,收获一点。学到的都是自己的!
修复FreeBSD上的ufs文件系统的更多相关文章
- zfs和ufs文件系统
系统环境:freebsd 在zfs文件系统上的文件拷贝到ufs文件系统之后,大小翻了一倍.初步断定是文件系统导致的.不知道以后还会不会有新发现.come on!
- Chkdsk /f 修复无法识别EXFAT卷文件系统
Chkdsk 工具将错误地报告为损坏的 Windows 7 和 Windows Server 2008 R2 中 exFAT 卷文件系统 适用于: Windows Server 2008 R2 Ser ...
- mkfs在特定的分区上建立 linux 文件系统
Linux mkfs命令用于在特定的分区上建立 linux 文件系统 使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks]参数 : ...
- ZFS -世界上最高级的文件系统之一
https://www.oschina.net/news/44302/openzfs_launch_announcement https://en.wikipedia.org/wiki/ZFS ZFS ...
- FreeBSD上编写x86 Shellcode初学者指南
FreeBSD上编写x86 Shellcode初学者指南 来源 https://www.4hou.com/binary/14375.html 介绍 本教程的目的是帮助你熟悉如何在FreeBSD操作系统 ...
- CentOS上安装分布式文件系统FastDFS & 配置和问题解决
原文:https://my.oschina.net/wangmengjun/blog/1142982 什么是FastDFS? FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件 ...
- 修复AWS上EC2损坏的sshd_config文件
常识: AWS是没有root用户的,登陆也都是通过SSH KEY完成授权认证. 背景: 正在AWS上搭一个CI (GO),与gitlab,为了将其进行集成,需将gitlab的deploy key设置成 ...
- 在FreeBSD上安装Bugzilla
Bugzilla 是一款开源的 Web 应用,是一款bug跟踪系统和测试工具,由 mozilla 开发,并采用 Mozilla 公共许可证授权(MPL),它经常被一些高科技公司如 mozilla.红帽 ...
- 在FreeBSD上搭建Mac的文件及time machine备份服务
上周将工作用电脑由公司配备的台式机切换到自己低配的macbook air上面,小本本的128G SSD远远不能满足工作的储存需要,但又不舍得入手昂贵的AirPort Time Capsule,于是考虑 ...
随机推荐
- C# lambda表达式(简单易懂)
前言 1.天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西. 2.夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅.据说它是微软自c#1.0后新增的最重要的功能之一 ...
- net之工作流工程展示及代码分享(记录)
http://www.cnblogs.com/thanks/p/4183235.html
- 每天一点 js join 函数
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- C# OOP 重要部分全解
如果你有耐心,那就请你慢慢的往下看,肯定有你用的到的地方,请你相信我! 现在你看到的只是其中一部分后面,还有,还没更新出来,待续.... 类对象的定义 类是现实世界或思维世界中的实体在计算机中的反映, ...
- 《C++primer》v5 第7章 类 读书笔记 习题答案
7.1.7.2.7.3 #include<iostream> #include<cstdio> #include<vector> #include<strin ...
- USBD_STATUS
USBD_STATUS 该USBD_STATUS数据类型为USB请求定义USB状态值. 的typedef LONG USBD_STATUS; USB状态值的最显著4位被如下表中所定义. 值 ...
- php大力力 [049节] php函数implode()
implode()[1] 函数返回一个由数组元素组合成的字符串. 注释:implode() 函数接受两种参数顺序.但是由于历史原因,explode() 是不行的,您必须保证 separator 参数 ...
- angular 滚动
AngularJs $anchorScroll.$controller.$document $anchorScroll 根据HTML5的规则,当调用这个函数时,它检查当前的url的hash值并且滚动到 ...
- 使用Cargo实现自动化部署
Cargo是一组帮助用户操作Web容器的工具,它能帮助用户实现自动化部署,而且它几乎支持所有的Web容器,如Tomcat.JBoss.Jetty和Glassfish.Cargo通过cargo-mave ...
- Appium 截屏截图操作
问题场景:有时当我们的脚本运行报错时,需要通过截屏来分析异常的来源.而selenium也提供了可以截图的方法TakesScreenshot.getScreenshotAs 举例:我们把截屏的图片存储在 ...