修复 Longhorn 卷挂载失败(”CentOS 7.6-'fsck' found errors on device“)

简介: 修复 Longhorn 卷挂载失败(”CentOS 7.6-'fsck' found errors on device“)

查看 Pod 日志



kubectl describe po clickhouse-0 -n clickhouse
......
#Events:
#  Type     Reason       Age                     From     Message
#  ----     ------       ----                    ----     -------
#  ...
#  kubelet  MountVolume.SetUp failed for volume
#  "pvc-6561339a-6111-481c-a674-b4889c755299" : 
#  rpc error: code = Internal desc = 'fsck' found errors on device #/dev/longhorn/pvc-6561339a-6111-481c-a674-b4889c755299
#  but could not correct them: fsck from ...
#  
# /dev/longhorn/pvc-6561339a-6111-481c-a674-b4889c755299:
# UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.


提示我们运行 fsck 命令,在 pod 所在的节点,我们运行以下命令:


fsck -cvf /dev/longhorn/pvc-6561339a-6111-481c-a674-b4889c755299
# /dev/longhorn/pvc-6561339a-6111-481c-a674-b4889c755299 has unsupported feature(s): metadata_csum
# e2fsck: Get a newer version of e2fsck!


提示我们下载 e2fsck


使用 e2fsck 修复错误



下载


wget https://distfiles.macports.org/e2fsprogs/e2fsprogs-1.45.6.tar.gz
tar -zxvf e2fsprogs-1.45.6.tar.gz


安装


cd e2fsprogs-1.45.6
mkdir build && cd build
../configure
make && make install


参数说明


  • device :预备检查的硬盘 partition,例如:/dev/sda1
  • -a : 对 partition 做检查,若有问题便自动修复,等同 -p 的功能
  • -b : 设定存放 superblock 的位置
  • -B : 设定单位 block 的大小
  • -c : 检查该partition 是否有坏轨
  • -C file : 将检查的结果存到 file 中以便查看
  • -d : 列印 e2fsck 的 debug 结果
  • -f : 强制检查
  • -F : 在开始检查前,将device 的 buffer cache 清空,避免有错误发生
  • -l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
  • -L bad_blocks_file : 设定坏轨的block资料存到 bad_blocks_file 里面,若无该档则自动产生
  • -n : 将档案系统以[唯读]方式开启
  • -p : 对 partition 做检查,若有问题便自动修复
  • -v : 详细显示模式
  • -V : 显示出目前 e2fsck 的版本
  • -y : 预先设定所有检查时的问题均回答[是]


修复


fsck.ext4 -y /dev/longhorn/pvc-6561339a-6111-481c-a674-b4889c755299
# /dev/longhorn/pvc-6561339a-6111-481c-a674-b4889c755299: ***** FILE SYSTEM WAS MODIFIED *****



相关文章
|
安全 Unix Linux
CentOS7 Sudo本地提权漏洞修复实践
CentOS7 Sudo本地提权漏洞修复实践
963 0
CentOS7 Sudo本地提权漏洞修复实践
|
应用服务中间件 Linux 开发工具
CentOS7下启动Nginx出现Failed to start nginx.service:unit not found
CentOS7下启动Nginx出现Failed to start nginx.service:unit not found
3667 0
CentOS7下启动Nginx出现Failed to start nginx.service:unit not found
|
Linux Shell Python
-bash: pip: command not found pip命令报错 解决方法(Centos版)
-bash: pip: command not found pip命令报错 解决方法(Centos版)
3874 0
|
6月前
|
Linux
Centos7.4升级7.9失败,救援:/boot目录下文件丢失error: file ‘/initramfs-3.10.0-957.el7.x86_64.img‘ not found
以上步骤应该可以帮助你解决问题。如果问题仍然存在,可能需要更深入的排查。
170 1
|
11月前
|
Linux Shell Swift
django(二)centos安装django3.2报错SQLite 3.8.3 or later is required (found 3.7.17)
我正在参加「掘金·启航计划」 Centos安装diango3.2框架请参照《django(一)ubuntu18.04安装框架》 在运行: 复制代码 python3 manage.py runserver 0.0.0.0:81 的时候报错: swift 复制代码 django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17). 报错的大体意思是:对sqlite最低版本的需求的3.8.3,但是现在只找到了3.7.17。
149 1
|
JavaScript Linux C语言
【NodeJS】GLIBC_2.28 not found CentOS7不兼容Node高版本
【NodeJS】GLIBC_2.28 not found CentOS7不兼容Node高版本
1946 2
【NodeJS】GLIBC_2.28 not found CentOS7不兼容Node高版本
|
缓存 关系型数据库 MySQL
解决CentOS执行yum命令出现File contains parsing errors:file:///etc/yum.repos.d/CentOS-Base.repo
解决CentOS执行yum命令出现File contains parsing errors:file:///etc/yum.repos.d/CentOS-Base.repo
解决CentOS执行yum命令出现File contains parsing errors:file:///etc/yum.repos.d/CentOS-Base.repo
|
网络协议 Linux 网络安全
【Linux环境】centos7 Failed to start iptables.service: Unit not found 防火墙
【Linux环境】centos7 Failed to start iptables.service: Unit not found 防火墙
461 0
|
缓存 Linux 开发工具
centos 7 yum安装失败(HTTP Error 404 - Not Found)的解决方法
centos 7 yum安装失败(HTTP Error 404 - Not Found)的解决方法
2394 0
|
Linux Shell
Centos显示-bash-4.1$问题的修复及原因探究
Centos显示-bash-4.1$问题的修复及原因探究
159 0