DSM7 기준입니다. 이전 버전도 크게 다르지는 않습니다.
요즘 하드값도 비싸지고 해서 메인으로 쓰던 하드를 딱 미디어용으로만 쓰고 부하를 줄일겸
자주 읽거나 쓰는 서비스들을 SSD로 이동했습니다.
시스템 데이터베이스 이동은 정보를 찾기 어려워, 실행해 본 김에 누군가는 필요하실까봐 남겨봅니다.
postgres는 다운로드스테이션, 노트스테이션, 비디오스테이션, 포토스 등과 패키지 정보등 핵심 정보를 담고 있습니다.
시스템 파티션이 아닌 볼륨 파티션에 들어 있습니다.
volume1 에서 volume2로 이동하는 경우이며 root로 ssh로 실행합니다.
# 실행중인 postgres 중지.
systemctl stop pgsql
# 실제 db파일을 원하는 볼륨으로 복사. 원하는 볼륨에 @database가 없으면 직접 생성.
rsync -av /volume1/@database/*pgsql* /volume2/@database/
# 기존 심볼릭 링크 백업
mv /var/services/pgsql /var/services/pgsql-vol1
# 새로운 심볼릭 링크 생성
ln -s /volume2/@database/pgsql /var/services/pgsql
# 기존 db 백업
mkdir /volume1/@database/bak
mv /volume1/@database/*pgsql* /volume1/@database/bak/
# postgres 시작
systemctl start pgsql
핵심은 /var/services/pgsql 의 심볼릭 링크입니다.
@database 밑에 pgsql.old 등이 있을수 있는데 필요해 보이지는 않지만 그냥 뒀습니다.
위 내용을 확실히 이해하고 꼭 필요하신 분만 사용하세요.
각 서비스별로 하이퍼 백업 걸어두면 알아서 하는건지..
굉장히 중요한 데이터인데 비해 정보가 잘 없습니다.
하이퍼백업에서 백업 가능한 패키지(포토,비디오등)은 제각각 sql내부의 자기 영역만 같이 백업하고 복구 가능합니다.
레이드 구성이거나 하이퍼백업이 되어있지 않은 상태에서 @database 볼륨이 소실되면 당연히 복구는 안되고 초기화됩니다.
모든것이 정상동작하는지요?
시놀로지 지원에 이렇게 해도 문제 없냐고 문의했늘때는
하지마라고 답변 받았거든요..
일단 몇일 지났는데 별다른 문제 없습니다.
6버전의 문제인지
systemctl 명령이 없네요...
-ash: systemctl: command not found
/usr 에서 find . -name systemctl 해봐도 명령이 없네요..
dsm7이 안정화 좀 되면, 업데이트 하고 해봐야 겠습니다 ^^
감사합니다.
이런거 찾았는데 dsm7에선 안되서 systemctl 써봤습니다.
synoservice --stop pgsql
synoservice --start pgsql
/usr/syno/etc/rc.d/S20pgsql.sh stop
/usr/syno/etc/rc.d/S20pgsql.sh start
http://mycbl.blogspot.com/2014/02/synology-move-packets-from-volume2-to.html
참고하시면 되고 pgsql은 본문과 다르게 synoservice --stop pgsql 이용하여 중지하면 됩니다