文件系统损坏导致虚拟机无法正常启动的问题及解决方法
簡介
計算機的文件系統是一種存儲和組織計算機數據的方法,它使得對其訪問和查找變得容易,文件系統使用文件和樹形目錄的抽象邏輯概念代替了硬盤和光盤等物理設備使用數據塊的概念,用戶使用文件系統來保存數據不必關心數據實際保存在硬盤(或者光盤)的地址為多少的數據塊上,只需要記住這個文件的所屬目錄和文件名。
在使用中, 會遇到文件系統損壞的故障, 直接導致 Azure 平臺的虛擬機無法正常啟動和訪問, 以下是關于此類問題的描述及解決方法.
關于文件系統,詳情參見如下:
文件系統
注意:本文檔討論的文件系統以 CentOS 作為范例, 其他版本的 Linux 略有不同, 請注意差別.
文件系統損壞常見問題
范例1:
復制 Checking all file systems. [/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a /dev/sda1 /dev/sda1 contains a file system with errors, check forced . /dev/sda1: Inodes that were part of a corrupted orphan linked list found. /dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY范例2:
復制 EXT4-fs (sda1): INFO: recovery required on readonly filesystem EXT4-fs (sda1): write access will be enabled during recovery EXT4-fs warning (device sda1): ext4_clear_journal_err:4531: Filesystem error recorded from previous mount: IO failure EXT4-fs warning (device sda1): ext4_clear_journal_err:4532: Making fs in need of filesystem check .解決方案之 root 文件系統損壞
A = 文件系統故障所在的虛擬機
B = 臨時虛擬機
執行以下步驟, 進行備份文件系統信息:
復制 # fdisk -l /dev/sdc > /var/tmp/fdisk_before.log # dumpe2fs /dev/sdc1 > /var/tmp/dumpe2fs_before.log # tune2fs -l /dev/sdc1 > /var/tmp/tune2fs_before.log # e2fsck -n /dev/sdc1 > /var/tmp/e2fsck._beforelog執行以下命令, 進行文件系統修復:
復制 # fsck -yM /dev/sdc1解決方案之常規文件系統損壞
A = 文件系統故障所在的虛擬機
B = 臨時虛擬機
執行如下命令,將虛擬機A的系統磁盤掛載到臨時虛擬機上:
復制 # mkdir /mnt/temp_fs # mount /dev/sdc1 /mnt/temp_fs # cp /mnt/temp_fs/etc/fstab /mnt/temp_fs/etc/fstab.org # vi /mnt/temp_fs/etc/fstab 將文件系統損壞的條目注釋掉,保存修改, 退出 vi. # umount /dev/sdc1在 Azure 經典管理門戶上分離虛擬機 A 的系統磁盤.
執行以下命令, 進行文件系統修復:
復制 # fsck -yM <file system>;文件系統修復完畢以后, 恢復 /etc/fstab 被注釋的對應條目, 重啟虛擬機.立即訪問http://market.azure.cn
轉載于:https://www.cnblogs.com/zangdalei/p/7693636.html
總結
以上是生活随笔為你收集整理的文件系统损坏导致虚拟机无法正常启动的问题及解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Shell--cut用法
- 下一篇: NOIP 模拟 box - 费用流 /