在對集羣測試過程當中發現系統中某一節點中的磁盤變成read-only file system,從而致使測試任務出錯,從網上查找資料,找到如下解決方案:node
這個報錯的意思是硬盤屬性變成只讀,不可寫入;linux
VOS自己是不可能更改你的硬盤屬性的,只有操做系統有這樣的能力;服務器
通常可能緣由有三點:網絡
1.硬盤與主板的不兼容性致使;測試
2.硬盤損壞;ui
3.人爲修改spa
首先利用fsck修復一下,操作系統
1 [root@localhost ~]# fsck 2 fsck 1.39 (29-May-2006) 3 e2fsck 1.39 (29-May-2006) 4 /dev/VolGroup00/LogVol00: recovering journal 5 Clearing orphaned inode 302154356 (uid=48, gid=48, mode=0100600, size=0) 6 Clearing orphaned inode 57245765 (uid=0, gid=0, mode=0100600, size=0) 7 Clearing orphaned inode 57245703 (uid=27, gid=27, mode=0100600, size=0) 8 Clearing orphaned inode 57245702 (uid=27, gid=27, mode=0100600, size=0) 9 Clearing orphaned inode 57245701 (uid=27, gid=27, mode=0100600, size=0) 10 Clearing orphaned inode 57245700 (uid=27, gid=27, mode=0100600, size=0) 11 Clearing orphaned inode 57245699 (uid=27, gid=27, mode=0100600, size=0) 12 /dev/VolGroup00/LogVol00: clean, 7592796/365756416 files, 80372202/365740032 blocks 13 e2fsck 1.39 (29-May-2006) 14 /dev/sda1 is mounted. 15 WARNING!!! Running e2fsck on a mounted filesystem may cause 16 SEVERE filesystem damage. 17 Do you really want to continue (y/n)? no 18 check aborted. 19 20 -----------------------------
嘗試執行了一下fsck 直接出現了 修復提示,無任何異常!code
若是出現這樣的提示,就須要當心:
blog
1 root@test ~]# fsck 2 fsck 1.35 (28-Feb-2004) 3 e2fsck 1.35 (28-Feb-2004) 4 /dev/sda1 is mounted. 5 WARNING!!! Running e2fsck on a mounted filesystem may cause 6 SEVERE filesystem damage. 7 Do you really want to continue (y/n)? no 8 check aborted. 9 [root@test ~]#
必定要選擇NO,先拆卸文件系統,不然 對文件系統形成毀滅性的打擊。
6.修復完成後,reboot 系統 正常啓動
1 [root@cacti ~]# dmesg |grep error 2 hdb: packet command error: status=0x51 { DriveReady SeekComplete Error } 3 hdb: packet command error: error=0x54
利用 mount 指令解決 Read-only file system的問題
剛纔在VirtualBox下裝起了liveAndroid ,但是在利用wget下載apk包的時候,老是提示Read-only file system,也就是說系統是隻讀的,什麼也寫不了。因而在網上處處找了一下,發現解決起來挺容易的。一條命令就能夠了
1 mount -o remount rw /
系統啓動的時候報:
1 Updating /etc/fstab Unable to open /etc/fstab for writing:Read-only file system [FAILED] 2 touch:createing '/var/lock/subsys/kudzu':Read-only file system [OK] 3 Bringing up lookback interface: modprobe: modprobe: Can't locate module ...(此處看不到了) 4 modprobe:modprobe:Can'g locate module net-pf-4 5 modprobe:modprobe:Can'g locate module net-pf-5 6 modprobe:modprobe:Can'g locate module net-pf-18 7 modprobe:modprobe:Can'g locate module net-pf-9 8 Bringing up interface eth0: Inter(R) PRO/100 Network Driver -version ...(此處看不到了) 9 Copyright (c) 2003 Inter Corporation 10 PCI:Fount IRQ 9 for device 00:06.0 11 e100:eth0: Inter(R) PRO/100 Network Connection 12 Hardware receive checksums enabled 13 cpu cycle saver enabled
系統到這一步就不走了,半天沒有反應,只能重啓(過後發現此處等待n久時間是能夠進入系統的,進入系統後也是沒有主機名,文件系統只讀)。
1,重啓後進入單用戶模式,打開/etc/fstab文件,查到以下信息:
/dev/sde1 /back ext3 noauto 2 3
有一個陣列櫃上的分區加載,雖然只是noauto,不會自動加載,不過當時爲了保險起見就像讓把這一項去掉。去掉的時候提示文件系統治讀。
不過用Mount 命令查看的時候是rw的。
2,這個時候用suse 10 x86的光盤引導進入恢復模式,進去的時候不可以發現本地的硬盤,只可以發現櫃子的硬盤。
這個時候想起來了,是suse 10對這個型號的服務器的mageraid卡的驅動不支持,當時公司的這個型號的服務器只能安裝radhat 3版本系列的操做系統,redhat 4和suse都不能安裝上去。redhat 5出來後也能夠安裝redhat 5了。
3,想經過redhat 啓動過程當中的交互模式作點事情。
redhat 啓動的時候會有一個按"I"進入的交互模式,但是這個服務器居然沒有這個選項,鬱悶了,當時已經好久沒有看到redhat 3的啓動界面了,當時也不在現場,還覺得redhat 3真的沒有這個交互界面了。當時記得redhat 3u6是有的。
INIT: version 2.85 booting
Welcome to Red Hat Enterprise Linux AS
Press 'I' to enter interactive startup.
4,沒有辦法,只好去如今,去現場後用redhat 3u6的光盤引導系統。進入系統後用下面的命令Mount分區
mount -o rw /dev/sda1 /mnt/boot
mount -o rw /dev/sda3 /mnt/sysimage
發現是能夠用讀寫方式加載的.打開系統的/etc/fstab文件,這個時候位置在/mnt/sysimage/etc/fstab。把這個文件的最後一行刪除。從新啓動仍是不行。
5,用光盤引導進入系統後用
fsck.ext3 -f /dev/sda1
fsck.ext3 -f /dev/sda3
強制檢查文件系統,沒有發現異常。重啓後仍是不行。
6,系統啓動的過程當中會發現一些新硬件信息,此時彈出的配置界面都是亂碼。應該是系統安裝的時候配置的中文環境的緣故。用光盤引導系統,引導的過程當中配置網絡信息,配置加載本地的linux分區。
進去後修改/etc/sysconfig/i18n文件,這個文件的原信息爲:
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
修改成:
LANG="en_US.UTF-8"
SUPPORTED="en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
這個時候啓動的時候就爲英文了。
7,上面的這些操做一直都不行,而後就繼續想系統啓動的步驟,就檢查系統啓動的文件。
發現/etc/inittab文件的下面一行多了一個#號
si::sysinit:/etc/rc.d/rc.sysinit
把這個#號去掉後就一切Ok。