VMware主機 幾次斷電后,掛載的磁盤報錯了,系統無法啟動


由於斷電,掛載的磁盤出錯:

task mount:1153 blocked for more than 120 seconds
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message

task mount:9943 blocked for more than 120 seconds

 磁盤掛載位置: /dev/mapper/centos-home  /home

解決方法:

1.進入單用戶模式:

按 e   把ro改成 rw init=/sysroot/bin/sh ,按ctrl+x啟動

進入單用戶頁面后,要執行

chroot /sysroot,獲取root權限

設置grub
(1)在 GRUB_CMDLINE_LINUX 中添加 net.ifnames=0 biosdevname=0

[root@localhost ~]# vi /etc/sysconfig/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed ‘s, release .*$,,g‘ /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=128M rd.lvm.lv=centos/root rhgb quiet net.ifnames=0 biosdevname=0" GRUB_DISABLE_RECOVERY="true"

 

生成菜單

[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-8058723e5e754d3aabc51842d9108e3b Found initrd image: /boot/initramfs-0-rescue-8058723e5e754d3aabc51842d9108e3b.img done

vi /etc/fstab

#/dev/mapper/centos-home /home xfs default 0 0
重啟系統。

重啟成功后進入正常模式,這時可以查看/home掛載的問題
(1)  lvs -a -o +devices查看磁盤詳細信息,可以看到home的attr參數沒有a(激活)未激活狀態
(2)  lvchange -a y /dev/mapper/centos-home 激活home

lvsdisplay

 

 

 

使用xfs_repair來修復,但是要注意xfs_repair修復的分區中的文件都會丟失,即使是du能正常顯示的文件也會丟失。

  處理步驟:
  1、umount /dev/mapper/centos-home
  2、xfs_repair /dev/mapper/centos-home 或者xfs_repair /dev/mapper/centos-home -L
       3、執行:mount /dev/mapper/centos-home   /home


   4、取消已掛載:umount /dev/mapper/centos-home

   vi /etc/fstab   #去掉之前的注釋

/dev/mapper/centos-home /home xfs default 0 0

   5、關閉linux虛擬機,再重啟,這時linux虛擬機就可以正常啟動了



————————————————
原文鏈接:https://blog.csdn.net/glongljl/article/details/80157162

 

 

其他設置:

journalctl -xb

sysctl -a |grep dirty
vi /etc/sysctl.conf
vm.dirty_background_ratio = 5
vm.dirty_ratio = 10

vi /etc/init.d/rcS
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5


sysctl -p

sysctl -a | grep hung_task_timeout_secs
sysctl -w kernel.hung_task_timeout_secs=0

cat /sys/block/sda/queue/scheduler
echo noop >/sys/block/sda/queue/scheduler

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM