월간 보관물: 2017 1월

ip address masking

sosreport를 뜰때 ip address가 포함되면 안되는 경우가 있다.

그럴 경우 아래와 같이 처리하면 XXX.YYY.0.10 이런식으로 앞에 2자리가 masking된다. 부작용은 java version같은 ip와 비슷한 ‘.’이 들어간 4자리 숫자는 다바뀐다. 이건 어찌 골라내기가 힘들더라.

#!/bin/bash

TMP_DIR=/var/tmp/gluster-issue/
SOSOUTPUT=$TMP_DIR/sosreport_stdout.txt

# delete file
rm -rf $TMP_DIR

# create directory
mkdir $TMP_DIR

# run sosreport
sosreport -n virsh -e gluster –batch –build –tmp-dir=$TMP_DIR | tee $SOSOUTPUT
SOSDIR=$( grep build $SOSOUTPUT | awk ‘{print $8 }’)
echo $SOSDIR

# ip address mask
find $SOSDIR -type f -exec sed -i -r “s/([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/XXX.YYY.\3.\4/g” {} \;
tar cvJf ${SOSDIR}.tar.xz $TMP_DIR

 

glusterfs ipv6 disable

glusterfs가 왜인지 모르겠지만 연결이 안되면 ipv6주소로 connection연결을 하려고 한다는게 bugzilla에 올라왔다.

일단 왜그런지는 source를 파봐야 아는거고 ipv6를 disable하면 이런짓은 못하게 할 수 있다.

/etc/sysctl.conf 나 sysctl.d안에 아무 file이나 만들어서 아래 line을 추가 시켜 주자.

net.ipv6.conf.all.disable_ipv6 = 1

이렇게 하면 ipv6를 아얘 안쓴다는 뜻임.

 

아래처럼 하게되면 ipv6를 쓰되 우선순위를 낮춰서 ipv4를 먼저 쓰게 할 수 있다.

/etc/gai.conf 에 다음 라인 추가 (IPv4 어드레스의 참조 권한을 올림)

precedence ::ffff:0:0/96 100

gai(getaddrinfo(3)) 라는 librarycall을 부를 때 ::ffff:0:0/96 의 우선순위를 100으로 하는것이다. (높을수록 순위가 떨어진다. )

세번째로 /etc/hosts 에서 ipv6 주소를 지워준다.

# ::1 localhost localhost6

ipv6를 아얘 안쓰는것이 아니기 때문에… 행여모를 문제의 원인이 될수 있어서 두번째인 ipv6의 우선순위를 낮추는것이 좋지 않나 싶다.

그래도 계속 비슷한 문제가 생기면 sysctl로 ipv6를 아얘 안쓰는 방법이 좋을듯 싶다.

그리고 이때문인지… netstat -i로 봤을 때 rx tx의 error가 엄청 많이 있다. 이것의 원인이 뭔지 찾아봐야겠다…

 

간단한 looping script

#!/bin/bash

COUNT=0

while :
do
echo
echo
let COUNT+=1
echo ————— ${COUNT}th round start’!!’ ——————
echo
echo “vdbench -f <file> [-i <interval>] [-o <log_output_$COUNT>] [-w <warmup_time>] [-e <elapsed time second>]”
sleep 1

if [[ $? != 0 ]] ; then
echo
echo ————— ${COUNT}th round fail ‘!!’ ——————
else
echo
echo ————— ${COUNT}th round success ‘!!’ ——————
break
fi
done