查看 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.gztar -zxvf e2fsprogs-1.45.6.tar.gz
安装
cd e2fsprogs-1.45.6mkdir build && cd build../configuremake && 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 *****
公众号:黑客下午茶