CDC rsync / stream은 윈도우->리눅스 파일 버전 확인 및 동기화 프로그램입니다. 구글 스타디아 팀에서 윈도우에서 빌드한 게임을 리눅스 파일서버에 업로드하는데 사용하기 위해 개발하여 배포한 솔루션인데, 시그윈+rsync 조합보다 최대 3배까지 빠르다고 합니다.
시놀로지 드라이브 백업을 기존에 잘 쓰고있었는데, 인증서 갱신을 맨날 깜빡해서 만료돼버리면 백업을 다시 붙이는 작업이 잘 안돼서 몇번 재백업을 해보고 나니 여기에 학을 떼게 됐습니다. 그래서 찾은 대안입니다.
평범한 리눅스 서버에 붙이는거라면 그냥 윈도우 클라이언트만 받아서 명령줄로 실행하면 서버측 바이너리까지 알아서 배포해주는 편리한 친구입니다만, 이걸 시놀로지에 붙여보면 대략 난감한 상황에 처하게 됩니다.
왜냐면 glibc 버전이 안맞거든요. DSM 7.0인데 이러니 아마 시놀로지 기본 상태로는 다 안될겁니다.
운영체제 과목을 성실하게 들으신 분들이라면 런타임 라이브러리를 따로 사용하는 컨테이너를 띄워서 사용하면 되겠다는 생각을 자연스럽게 떠올리실 수 있습니다(??)
도커에 적당한 우분투 이미지를 띄워서 백업 디렉토리를 마운트 해줍니다.
이대로 쓰셔도 되지만(3으로 이동), 동기화 작업이 DSM 메인 계정에서 일어나는 것처럼 보이게 하려면 uid를 맞춰주는 작업이 필요합니다.
1) DSM ssh에 메인 계정으로 로그인하셔서 아래 명령어를 사용하시면 메인계정의 uid를 얻으실 수 있습니다.
2) 아까 띄워둔 우분투 컨테이너로 ssh 접속해서 메인계정 uid를 가진 유저를 생성합니다 (dsm_user 대신 아무 이름이나 쓰셔도 됩니다).
useradd dsm_user -u 1026 -m -s /bin/bash
이제 이 계정으로 마운트 볼륨에 읽고 쓰는 작업은 밖에서 볼 때 dsm 메인 계정에서 하는 것과 똑같이 취급됩니다.
adduser과 달리 useradd는 홈디렉토리 추가같은 잡다한 작업은 일절 안해주기 때문에
(700) /home/dsm_user/
(700) /home/dsm_user/.ssh/
(600) /home/dsm_user/.ssh/authorized_keys
위 2개 디렉토리 및 1개 파일을 괄호내의 권한으로 생성해주고 진행하시면 됩니다.
3) 키 로그인 설정을 해줍니다.
https://light-tree.tistory.com/232
인터넷에 많은 설명이라 링크로 대체합니다. 위 작업 수행하신 뒤에
%USERPROFILE%/.ssh/config 파일에 이렇게 설정하여 결과적으로 별도의 포트나 비밀키 파일 지정 없이 SSH 접속이 가능하게 해주셔야 합니다. cdc 바이너리가 명령줄로 포트랑 비밀번호를 못받거든요(...)
4)
배치파일로 만들어서 스케쥴러에 붙이거나 주기적으로 실행해주면 됩니다. 끝
SFTP 기반이라 속도가 아주 준수해서 맘에 드네요.
대전에서 서울집 나스에 130GB 백업하는데 44분정도 걸렸으니 약 50MB/s (400Mbps)... 반기가 속도 거의 다 뽑아먹었군요.
시놀로지 SSD 캐시에 전체 메타데이터 고정을 켜놓은 덕분인지는 몰라도 일치파일 확인도 배치파일 켜자마자 끝납니다. 오홍홍 조와용