sh 修复ceph pg repair都无法修复的pg不连续
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 修复ceph pg repair都无法修复的pg不连续相关的知识,希望对你有一定的参考价值。
#!/bin/bash
log=/root/ceph_yunwei/repair_pg_mismatch.log
pg=$1
filename=$2
disk_size=$3
meta_size=$4
size_hex_revert()
{
size_hex=`printf '%x\n' $1`
len=`echo ${#size_hex}`
add_zero=`expr 6 - $len`
for((i=1;i<=$add_zero;i++))
do
size_hex=0"$size_hex"
done
size_hex_revert=`echo ${size_hex:4:2}``echo ${size_hex:2:2}``echo ${size_hex:0:2}`
echo $size_hex_revert
}
osds=`ceph pg map $1|awk '{print $10}'|sed 's/\[//g'|sed 's/\]//g'`
osd1=`echo ${osds}|awk -F\, '{print $1}'`
osd2=`echo ${osds}|awk -F\, '{print $2}'`
osd3=`echo ${osds}|awk -F\, '{print $3}'`
disk_size_hex_revert=`size_hex_revert $disk_size`
meta_size_hex_revert=`size_hex_revert $meta_size`
# disk_size_hex=`printf '%x\n' $disk_size`
# len1=`echo ${#disk_size_hex}`
# if [ '$len1' ]
# disk_size_hex_revert=`echo ${disk_size_hex:2:2}``echo ${disk_size_hex:0:2}`
# meta_size_hex=`printf '%x\n' $meta_size`
# meta_size_hex_revert=`echo ${meta_size_hex:2:2}``echo ${meta_size_hex:0:2}`
node1=`ceph osd find $osd1|grep '"host":'|awk -F\" '{print $6}'`
node2=`ceph osd find $osd2|grep '"host":'|awk -F\" '{print $6}'`
node3=`ceph osd find $osd3|grep '"host":'|awk -F\" '{print $6}'`
dirname="$pg"_head
file_path=`ssh $node1 'find /var/lib/ceph/osd/ceph-'$osd1'/current/'$dirname' -name "*'$filename'*"'`
ssh $node1 "attr -q -g ceph._ '$file_path' > /tmp/attr.1."$filename
ssh $node1 "hexdump -ve '1/1 \"%.2x\"' /tmp/attr.1."$filename" | sed 's/"$meta_size_hex_revert"/"$disk_size_hex_revert"/' | xxd -r -p > /tmp/attr.2"
ssh $node1 "attr -s ceph._ '$file_path' < /tmp/attr.2"
ssh $node1 "scp /tmp/attr.2 $node2:/tmp"
ssh $node1 "scp /tmp/attr.2 $node3:/tmp"
file_path2=`echo $file_path|sed 's/ceph-'$osd1'/ceph-'$osd2'/g'`
ssh $node2 "attr -s ceph._ '$file_path2' < /tmp/attr.2"
file_path3=`echo $file_path|sed 's/ceph-'$osd1'/ceph-'$osd3'/g'`
ssh $node3 "attr -s ceph._ '$file_path3' < /tmp/attr.2"
ceph pg repair $1
以上是关于sh 修复ceph pg repair都无法修复的pg不连续的主要内容,如果未能解决你的问题,请参考以下文章
WOW Repair修复器不能修复 急啊!!!
Ubuntu 16.04 引导修复(Boot Repair)----lianwang----anzhuang windows hou(双系统修复一)
我试过用MHDD来LOOP the test/repair这个选项,但电脑就一直都在修复不停的,点样办呀
请问大佬有Repair Center(win7系统修复工具) V4.0 绿色版软件百度云资源吗
xfsrepair修复多久
Ceph手动修复mon 集群