Read-only file system

转载:http://hi.baidu.com/mozhipi/item/22284399bd42eadb7b7f0182

现象:这台机器是生产系统的一台服务器,托管在机房,远程管理,包括bind\tomcat\senmail服务。

开始以为只是MAJORDOMO问题,尝试修改/usr/local/majordomo-1.94.5/lists修改权限,报告Read-only file system;后来发现tomcat catalina.out报错无法生成日志;并且在操作bind的named服务,也回显Read-only file system,但同时named服务仍旧提供服务;发现很多程序执行时均报告Read-only file system,比如/etc/init.d下面启动某些无关紧要的service

一些配置[root@ns lists]# more /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
/dev/sda5                /                        ext3     defaults         1 1
/dev/sda1                /boot                    ext3     defaults         1 2
none                     /dev/pts                 devpts   gid=5,mode=620   0 0
/dev/sda3                /home                    ext3     defaults         1 2
none                     /proc                    proc     defaults         0 0
none                     /dev/shm                 tmpfs    defaults         0 0
/dev/sda2                /var                     ext3     defaults         1 2
/dev/sda6                swap                     swap     defaults         0 0
/dev/fd0                 /media/floppy            auto     pamconsole,exec,noauto,m
anaged 0 0
/dev/hdc                 /media/cdrom             auto     pamconsole,exec,noauto,m
anaged 0 0
[root@ns lists]# df
Filesystem            1K-blocks       Used Available Use% Mounted on
/dev/sda5               4024188    3304816     514948   87% /
/dev/sda1                295564      12130     268174    5% /boot
/dev/sda3               3020172    1802448    1064304   63% /home
none                     127816          0     127816    0% /dev/shm
/dev/sda2               9637944    8652856     495508   95% /var

然后fsck
[root@ns lists]# fsck -y
fsck 1.37 (21-Mar-2005)
e2fsck 1.37 (21-Mar-2005)
ext3 recovery flag clear, but journal has data.
Run journal anyway? yes

/: recovering journal
Pass 1: Checking inodes, blocks, and sizes
Deleted inode 192882 has zero dtime.   Fix? yes

Pass 2: Checking directory structure
Entry 'icon.gif' in /usr/libexec/webmin/blue-theme/apache/images (437922) has de

leted/unused inode 192882.   Clear? yes

Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:   -393807 -419922
Fix? yes

Free blocks count wrong for group #12 (6992, counted=6993).
Fix? yes

Free blocks count wrong (179842, counted=179843).
Fix? yes

Inode bitmap differences:   -192882
Fix? yes


/: ***** FILE SYSTEM WAS MODIFIED *****
/: ***** REBOOT LINUX *****
/: 114647/512000 files (1.0% non-contiguous), 842284/1022127 blocks


最后
fsck完后系统建议重启。但是,这台机器以前出现过重启后/dev/null:Read-only file system,无法进入系统(已经一年没有重启过了),又是生产服务器,因此请教还需做什么检查,确保重启可以顺利进入系统

**********************************
内网服务器squid 透明代理没有配成。reboot后无法启动。

    接上显示器一看。错误如下:

     /etc/rc.d/rc.sysinit:line 88: /dev/null: Read-only file system
  /etc/rc.d/rc.sysinit:line 99: /dev/null: Read-only file system
  configuring kernel parameters: dup2: Bad file descriptor [failed]
  Setting clock (localtime):Au 60A 18 18:05:04 CST 2005 dup2:Bad file descriptor [failed]
  loading default keymap (us): /etc/rc.d/rc.sysinit: line 159: /dev/null: Read-only file system [failed]
  Setting hostname snowtty: dup2:Bad file descriptor [failed]
  /etc/rc.d/rc.sysinit: line 176: /dev/null: Read-only file system Initializing USB controller (usb-uhci):dup2 : Bad file descriptor [failed]
  /etc/rc.d/rc.sysinit:line 187: /dev/null :Read-only file system
  Checking root filesystem dup2: Bad file descriptor [failed]
  *****An error occurred during the file system check
  *****Dropping you to a shell ; the system will reboot
  *****when you leave the shell.
  Give root password for maintenance
    后面还有一个ctrl+d 重启或输入密码进入救援模式。

先进救援模式吧,应该是/dev/null 文件 丢失,系统无法启动。
先删除这个文件再重建吧。
rm -f /dev/null  
提示无法找到这个文件,难道是系统文件没有被挂载?

先挂载:mount -n -o remount,rw /dev/hda 
提示无法找到hda ,继续。先进入目录看看
cd /root
看看有没有权限
mkdir test
rm -rf test 
OK 能正常操作,接着删除 
rm -f /dev/null 
可以删除了,再创建
mknod -m 666 /dev/null c 1 3
reboot 
正常启动。

对LINUX文件系统只读的处理
 在系统中的处理
  1、mount:
  用于查看哪个模块输入只读,一般显示为:
  /dev/hda1 on / type ext3 (rw)
  none on /proc type proc (rw)
  usbdevfs on /proc/bus/usb type usbdevfs (rw)
  none on /dev/pts type devpts (rw,gid=5,mode=620)
  /dev/hda5 on /home type ext3 (rw)
  none on /dev/shm type tmpfs (rw)
  /dev/hda2 on /usr/local type ext3 (rw)
  /dev/nb1 on /EarthView/RAW type ext3 (ro)

  2、如果发现有ro,就重新mount,或者umount以后再remount

  3、umount /dev/nb1
  如果发现有提示“device is busy”,找到是什么进程使得他busy

  fuser -m /mnt/data 将会显示使用这个模块的pid
  fuser -mk /mnt/data将会直接kill那个pid,然后重新mount即可。

  4、还有一种方法是直接remount,命令为
  mount -o rw,remount /mnt/data
     手工去更改/etc/fstab   
[root@localhost dyl]# vi /etc/fstab

# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/                  /                        ext3     defaults         1 1
none                     /dev/pts                 devpts   gid=5,mode=620   0 0
none                     /dev/shm                 tmpfs    defaults         0 0
LABEL=/mail              /mail                    ext3     defaults         1 2
none                     /proc                    proc     defaults         0 0
none                     /sys                     sysfs    defaults         0 0
LABEL=SWAP-sda2          swap                     swap     defaults         0 0
/dev/hda                 /media/cdrom             auto     pamconsole,exec,noauto,managed 0 0
/dev/fd0                 /media/floppy            auto     pamconsole,exec,noauto,managed 0 0
~
~
~
~
~
~
~
     5、fsck -a 自动强制修复(如果存在坏道或者I/O错误过多的话会过不了)

系统启动的时候报只读错误无法进入系统
     在系统启动到一半会报系统错误需要进入systimefile ,直接输入密码进入文件系统修复模式
     1.执行fsck.ext2 -a
       这里会提示详细的修复进度!
     在修复成功后执行fsck -A /dev/sd*(device)

     建议各位常用linux的同事研究一下hdparm 这个命令
        可以测试并记录硬盘的性能   hdparm -tT /dev/hda
        设置硬盘的各项参数,如对中断事件的处理响应
全部参数如下
      [root@localhost dyl]# hdparm

hdparm - get/set hard disk parameters - version v5.7

Usage:   hdparm   [options] [device] ..

Options:
-a    get/set fs readahead
-A    set drive read-lookahead flag (0/1)
-b    get/set bus state (0 == off, 1 == on, 2 == tristate)
-B    set Advanced Power Management setting (1-255)
-c    get/set IDE 32-bit IO setting
-C    check IDE power mode status
-d    get/set using_dma flag
--direct   use O_DIRECT to bypass page cache for timings
-D    enable/disable drive defect management
-E    set cd-rom drive speed
-f    flush buffer cache for device on exit
-g    display drive geometry
-h    display terse usage information
-i    display drive identification
-I    detailed/current information directly from drive
--Istdin   reads identify data from stdin as ASCII hex
--Istdout writes identify data to stdout as ASCII hex
-k    get/set keep_settings_over_reset flag (0/1)
-K    set drive keep_features_over_reset flag (0/1)
-L    set drive doorlock (0/1) (removable harddisks only)
-M    get/set acoustic management (0-254, 128: quiet, 254: fast) (EXPERIMENTAL)
-m    get/set multiple sector count
-n    get/set ignore-write-errors flag (0/1)
-p    set PIO mode on IDE interface chipset (0,1,2,3,4,...)
-P    set drive prefetch count
-q    change next setting quietly
-Q    get/set DMA tagged-queuing depth (if supported)
-r    get/set device   readonly flag (DANGEROUS to set)
-R    register an IDE interface (DANGEROUS)
-S    set standby (spindown) timeout
-t    perform device read timings
-T    perform cache read timings
-u    get/set unmaskirq flag (0/1)
-U    un-register an IDE interface (DANGEROUS)
-v    defaults; same as -mcudkrag for IDE drives
-V    display program version and exit immediately
-w    perform device reset (DANGEROUS)
-W    set drive write-caching flag (0/1) (DANGEROUS)
-x    tristate device for hotswap (0/1) (DANGEROUS)
-X    set IDE xfer mode (DANGEROUS)
-y    put IDE drive in standby mode
-Y    put IDE drive to sleep
-Z    disable Seagate auto-powersaving mode

-z    re-read partition table


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值