php 文件写入磁盘错误,Linux磁盘读写故障的通常处理流程
問題
使用Linux作為服務器操作系統的時候
維護少不需要重新啟動的優勢非常明顯
但有時候會遇到莫明其妙的故障
例如數據無法寫入,執行某程序報錯
這個時候建議檢查一下,是否是磁盤子系統的故障
例如SCSI/IDE/SATA硬盤出現了壞扇區,例如SCSI卡熱插拔插座接觸不良等。
解決方案
1) 首先定位故障所在。
查看/var/log/message查看里邊是否有磁盤的報錯
例如如下的信息,就是磁盤錯誤:
Oct 23 10:22:58 vm3 kernel: EXT3-fs error (device ide0(3,5)): ext3_readdir: directory #719520 contains a hole at offset 898727936
Oct 23 10:22:58 vm3 kernel: attempt to access beyond end of device
Oct 23 10:22:58 vm3 kernel: 03:05: rw=0, want=969723216, limit=6144831
還可以執行dmesg,查看物理設備是否有報告SCSI IO error等錯誤信息
如果發現類似信息,則可以確定為磁盤子系統的故障。
還有時候也會遇到磁盤某些分區成為了只讀分區,任何數據都無法寫入
這是linux系統在掛載磁盤分區時候發生了錯誤,隨即啟動了“安全模式”
將分區掛載為readonly,即只讀狀態,以免更嚴重的損壞發生。
2) 確認為磁盤故障后,千萬不要重新啟動服務器。
這種情況下重新啟動服務器是比較危險的,可能重啟時候讀取數據錯誤造成引導失敗
系統就在也啟動不了了。
首先通過mount命令和df命令,查看當前的分區情況。
確認有用的數據都放在哪些分區上,這些分區是否獨立,是在第幾塊硬盤等,
為一會的具體修復甚至更換硬件做準備。
此時應盡快對關鍵數據做備份,如果掛載有兩塊磁盤,則可以直接向無故障的磁盤備份。
如果只有一塊磁盤,可以向其他正常的分區備份(但是也有風險)
在只有一塊磁盤的情況下,比較可靠的方式是通過scp直接復制遠程的文件
這樣不會在本地寫入大量的備份數據,避免加速硬盤的崩潰。
但缺點是速度較慢。
還有開設共享通過samba映射等各種方式都可以備份數據
3) 備份數據完成后,重新啟動系統。使用安裝光盤進行引導
并在啟動的時候輸入rescue,進入單用戶救援模式
使用fsck命令,加上-y參數,修復故障的分區。
如果故障無法修復,則只能更換硬盤,重新裝系統,再導回數據了。
以上為linux服務器遇到一般的數據錯誤的通常解決方法
建議具體情況具體分析,查看完全后,在進行操作
以免造成數據丟失等嚴重損失。
posted on 2009-01-21 11:21 Prog 閱讀(1138) 評論(0) ?編輯?收藏 引用 網摘 所屬分類: Linux
總結
以上是生活随笔為你收集整理的php 文件写入磁盘错误,Linux磁盘读写故障的通常处理流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: solr java 全量,Solr实时创
- 下一篇: 怎么理解js监听浏览器后退事件