[unix] munin 데이터 이관하기.. (32bit, 64bit)
서버 OS를 재설치 하면서.. 메모리도 그리 크지 않고 해서..
CentOS5 -> CentOS6으로 업그레이드 하면서..
64bit OS 쓰던 거를 32bit OS로 내렸다.
서버 기본 charset 설정도 euc-kr에서 UTF-8로 바꾸고..
근데.. 기존에 munin data를 가지고 왔는데.. 보통은.. /var/lib/munin/[hostname] 디렉토리만 복사해다 놓으면 됐는데..
이상하게 업데이트를 못하는 것이다..
좀 찾아보니.. 32/64bit 일때 data file이 좀 다른가보다.
해서.. 혹시나 담에 또 쓸일이 있을까봐 남겨놓는다..
원본링크 : http://www.porcheron.info/munin-migration-from-a-32bit-to-a-64bit-host/
일단 기존 서버(나같은경우는 64bit)에서 dump할 스크립트를 만들어서 실행한다.
=======
#!/bin/bash
for f in `find /var/lib/munin -name ‘*.rrd’ -print` ; do
xml_file=`dirname $f`/`basename $f .rrd`.xml
rrdtool dump “$f” > “${xml_file}”
chown root:root “${xml_file}”
done
=======
실행하면.. 자료파일(rrd)가 있는곳에 xml파일이 하나씩 더 생긴다..
이걸 그대로 복사해서(디렉토리 째로 압축해버렸다.) 새로운 서버(나 같은 경우는 32bit OS서버)에 복사해놓는다.
그리고서.. import할 스크립트를 만들어서 실행한다.
======
#!/bin/bash
for f in `find /var/lib/munin -name ‘*.xml’ -print` ; do
rrd_file=`dirname $f`/`basename $f .xml`.rrd
mv -f “${rrd_file}” “${rrd_file}.bak”
chown root:root “${rrd_file}.bak”
rrdtool restore “$f” “${rrd_file}”
chown munin:munin “${rrd_file}”
done
======
이렇게 하면.. 기존 rrd는 .bak으로 바뀌고.. dump했던 xml파일로 다시 rrd(32bit용)를 만든다.
나는.. root계정으로 /var/lib/munin 디렉토리에서 스크립트 만들어서 실행했는데.. 잘 됐다..