상용·프리웨어 제품 중 선택 가능 … 테이프 백업 대체용은 아니다
상태바
상용·프리웨어 제품 중 선택 가능 … 테이프 백업 대체용은 아니다
  • 승인 2004.04.27 00:00
  • 댓글 0
이 기사를 공유합니다

파일 동기화 툴

상용·프리웨어 제품 중 선택 가능 … 테이프 백업 대체용은 아니다
“언제나 가장 최근의 모습으로…”

파일 동기화에 대해서는 특별히 거론하는 사람은 없지만 모두가 이것을 하고 있다. 네트워크 파일 동기화는 새로운 파일이나 업데이트된 파일로 쉽게 이동할 수 있게 해주며, 미러링된 디렉토리를 최신 것으로 유지해준다. 이것은 또한 장애 발생시 데이터를 보호할 수 있는 현명한 방법이기도 하다. 파일 동기화 툴은 복원을 계획하고 특정 파일 복구용 스크립트를 준비할 수 있게 해주기 때문이다. 예를 들어 테이프에서 서버를 복원한 후 ‘영업용 데스크톱 복원’ 스크립트를 실행해 가능한 한 빨리 나가야 하는 판매 계약건을 검색해볼 수 있다.

파일 동기화는 새로운 기술이 아니며, 몇 가지 상용 및 프리웨어 툴들이 나와 있다. 이런 툴은 다재다능해서 기계를 신속히 동기화하는 것 외에도 서로 다른 OS간에 작동해 복원을 앞당겨주는 것들도 있다. 무엇보다 가장 좋은 것은 예산을 거의 건드리지 않고도 파일 동기화를 이행할 수 있다는 점이다.

피어소프트웨어(Peer Software)의 피어싱크(PeerSync) 서버 소프트웨어와 같은 기존 파일 동기화 툴은 서버 부피에 따라 500~900달러 선이며, 마이크로소프트에서는 다운로드가 가능한 파일 동기화 툴을 제공하고 있다.

대부분의 파일 동기화 유틸리티는 네트워크 보안과 작동하도록 구성될 수 있다. 게다가 이들은 복제 프로세스에서 파일과 디렉토리를 포함, 혹은 배제시키기 위한 규정과, 파일 동기화가 예를 들어 5개의 미러 사이트에서 동시에 두 개의 파일이 바뀌도록 해야 할 때 적합한 규정을 설정할 수 있게도 해준다.

비싼 무선랜 대역폭을 갖고 있고 대형 코드 기반과 문서화 구조를 유지하는 기업이라면, 왠에서 업데이트된 모든 파일을 복사하는 것은 비효율적이다. 그보다는 파일 동기화 프로세스의 일부인 파일 복제(file replication)가 대역폭을 덜 사용하기 때문에 보다 나은 선택이 될 수 있다.

파일 복사보다 약간 복잡

가장 간단한 형태의 동기화는 파일 복사와 유사하다. 하지만 동기화가 좀더 복잡하며 이것은 동시에 소스 파일을 변경하는 몇 명의 사용자를 처리할 수 있다. 이 경우 소프트웨어는 보통 사무실 근처 기계들이나 왠을 가로질러 일어나는 변화를 미러링한다. 동기화 소프트웨어는 파일 충돌을 감지한다. 간단한 파일 복제에 본질적으로 따르는 데이터 유실을 막기 위해 동기화 소프트웨어는 시스템 관리자가 적절한 규정을 사전에 구성할 수 있게 해주거나 복제가 발생하기 전에 관리자에게 통보를 한다.

다중 사용자가 동시에 데이터 열 업데이트를 시도하는 데이터베이스 세계에서도 유사한 문제가 발생한다. 예를 들어 두 명의 영업사원이 동시에 하나의 큰 고객 주문서를 변경한다고 하자. 한 사람이 몇 개 제품을 더 추가하고 다른 사람은 두 배나 더 추가했다. 데이터베이스 관리자는 데이터 충돌을 방지하기 위해 파일 잠금 기능을 이행한다. 그리고 파라미터 지정을 통해 어떤 판매 주문이 유효한지를 지정함으로써 부정확한 정보가 받아들여지지(즉 복제되지) 않도록 하며, 이렇게 하기 위해서는 복잡한 규정이 필요하다.

하지만 파일 동기화가 있으면 그럴 필요가 없다. 이 소프트웨어는 관리자에게 정보의 충돌 버전이 언제 등장하는지, 혹은 사용자가 언제 거의 중복되는 엔트리를 디렉토리에 갖다놓는지를 통보해준다. 대부분의 경우 관리자는 충돌을 수동으로 중재해야 한다.

이러한 방식은 엄청나게 느린 모뎀(300bps)이 주된 파일 전송 수단이었던 초창기 동기화 툴 시대에 행해진 것이다. 이렇게 느린 속도에서는 디렉토리 스트럭처를 지리적으로 떨어진 기계로 미러링하는 것에도 많은 비용이 들었으며, 관리자가 조사해서 데이터 충돌 문제를 해결할 수 있을 때까지 복제를 차단하는 데 더 저렴했다. 오늘날의 많은 상용 파일 동기화 제품에는 이제 이러한 절차를 단순화해주는 규정 세트가 포함돼 있지만, 대부분의 프리웨어 솔루션에서는 관리자가 아직 개입을 해야 한다.

일단 파일 미러가 수립되면 그 파일 스트럭처 안에서 발생하는 변화만 전송된다. 200만 라인의 소스 코드 리스팅에서 5 라인에 업데이트를 교구할 경우 동기화 소프트웨어는 전체 파일을 복사하는 대신 5라인만 업데이트한다.

파일 동기화는 날짜/시간 스탬프를 기반으로 파일이 어떻게 변경되는지와 파일의 간략한 구조를 파악한다. 소스 및 목적지 파일의 서명과 시간 스탬프가 일치하면, 파일은 동일한 것으로 간주되며 업데이트 프로세스 동안 전송되지 않는다. 이들이 다를 경우 파일은 다른 것으로 간주되며 그런 다음에야 미러링된다.

동기화 소프트웨어에 따라 파일은 보다 작은 바이트 크기 청크로 분할될 수도 있다. 다이제스트 서명이나 알고리즘이 두 개의 파일과 작은 조각들 사이에 일어난 어떤 변화든 감지할 수 있게 도와주며, 다이제스트 서명이 바뀌지 않는 한 어떠한 작동도 취해지지 않는다. 동기화 프로세스 뒤에서 어떤 일이 발생하는지에 대해 더 알고 싶다면 R싱크가 보다 상세한 면모를 제공해줄 것이다(samba.org/~tridge/ phd_thesis.pdf 참조).

다양한 기능들

오늘날의 파일 동기화 소프트웨어는 디렉토리 미러링뿐만 아니라 데이터 백업 및 복원과 포인트 인 타임 스냅샷(point-in-time snapshot)용으로도 좋다. 어떤 것들은 심지어 다중송신 기능을 제공하기도 한다. 반복적으로서 시스템으로부터 하나 이상의 미러링되는 하드 드라이브를 제거하고 오프사이트 카피를 유지할 계획이 아닌 한(비용이 많이 든다) 이러한 툴이 큰 장애가 발생했을 때 좋은 테이프 백업을 대체할 수는 없을 것이다. 그러나 이들은 테이프 복원이 완료됐을 때 네트워크로의, 특히 클라이언트 기계로의 이동을 신속하게 할 수 있게 해준다.

서버에 테이프 드라이브와 데이터가 있다고 하더라도 중요한 정보는 데스크톱 컴퓨터에 백업을 해야 하며, 이는 서버를 백업할 때 특히 중요하다. 이 작업을 하는 가장 간단한 방법은 데스크톱 데이터의 카피를 서버의 하드 드라이브에 저장하고 서버에서의 테이프 백업이 그 일을 하게 하는 것이다.

서버의 하드 드라이브에서 각 사용자에게 하나의 폴더를 주면 사용자 데이터 폴더와 일일 작업을 서버로 동기화할 수 있다. 여기에는 최소한의 관리 행동만 필요하며, 복원 절차는 간단하다(그냥 데이터를 개인이나 그룹별로 데스크톱에 돌려주면 된다). 대부분의 동기화 툴들이 스크립팅, 액세스 제어 목록, 파일 허가 등과 같은 기능을 지원하기 때문에 랩에서 이것을 테스트하면서 백업 및 복구 전략을 고안할 수 있을 것이다.

엔트리 솔루션즈(Entre Solutions)에 있는 내부 네트워크 안에서 우리는 파일 동기화 툴을 이용해 미리 지정된 간격으로 사용자의 하드 드라이브에 있는 정보를 네트워크의 백업 드라이브로 옮기고 있다. 모든 사람들이 이런 작업이 점심시간이나 퇴근시간 직후에 이루어지리라는 사실을 알고 있다. 생산 대역폭에 미치는 영향을 최소화할 필요가 있을 경우에는 백업 시간을 조정하기도 한다. 동기화 툴이 임무를 완수하면, 밤 시간을 이용해 네트워크 드라이브를 테이프로 백업한다.

사용자 데이터를 복원할 필요가 있을 경우에는 파일 카피처럼 작동하면서 파일 허가 및 액세스를 복원하는 배치 파일을 사용한다. 이것은 간단하고 깔끔하며 신속하게 이루어지는데, 그 이유는 데이터 폴더에서 최근에 변경된 항목들만 복제가 되기 때문이다.

엔트리 솔루션즈에서는 내부의 웹 개발 및 생산 환경사이에서 파일 동기화를 사용하고 있다. 이것은 마이크로소프트 전용 도메인이기 때문에 F카피(Fcopy)와 전자 증명서를 돌리고 있다. 우리는 개발 환경에서 생산 환경으로 웹 사이트를 퍼블리싱할 경우가 있을 경우 이런 동기화를 수동으로 수행한다. 이렇게 하면 모든 변경이 이루어지며, 일부 보다 큰 사이트에서의 유지보수 업데이트를 위한 전송 시간이 절감될 수 있기 때문이다. F카피는 사용하기 간단하지만 교차 도메인 작업에서는 서버에 MSMQ(Microsoft Message Queuing)와 인증 서비스뿐만이 아니라 F카피용 인증도 필요할 것이다. 서버 자원 키트에 이것을 하는 방법이 설명돼 있다.

하지만 MSMQ에는 MSMQ MQ로케이트비긴(MQLocate Begin heap) 범람과 같은 패치되지 않은 OS 코드의 기능을 포함한 몇 가지 보안 문제가 있기 때문에 소규모 서버 설치에서는 보통 MSMQ나 F카피를 로딩하지 않는다.

다중송신은 서버 중 하나에서 다중 클라이언트로 이미지를 옮길 때 사용되는 기술이다. 여기에는 시간이 들지만 이것은 각각의 클라이언트 로케이션으로 카핑 이미지를 보내주며, 특히 배치 파일이 없으면서 애드혹 기반으로 작업해야 할 경우에 유용하다. 원격 사이트가 몇 개가 될 경우 다중송신은 또한 광역 대역폭 이용량을 최고화해주는데, 그 이유는 이것이 하나의 세션이기 때문이다.

하지만 한 클라이언트에서만 다중송신 작동이 오류가 나더라도 그 클라이언트에 대한 전체 다중송신을 반복해야 한다. 그리고 하드드라이브 이미지를 복원할 때는 보안 식별기와 날짜가 지난 커버로스 키들과 같은 보안 엘리먼트들이 동기화 프로세스에서 문제를 야기할 수 있다.

파일 동기화는 아직 테이프 백업을 대체할 수 없으며, 데이터 변화율이 높은 일부 환경에서는 최상의 방안이 되지 못할 것이다. 그러나 파일 동기화는 데스크톱 데이터 백업용 정보를 통합하기에는 효율적인 수단이 된다.

동기화를 공짜로 확보하는 방법들

너무 많은 동기화 프리웨어들로 인해 혼란스러운 사람들을 위해, 가장 인기있는 것들을 간추려 보았다.

>> R싱크(samba.anu.edu.au/rsync)는 파일 싱크 소프트웨어의 손주격으로 가장 신뢰성 있고 사용이 간편한 것에 속한다. 이것은 유닉스 플랫폼용으로 설치가 가장 간단한 것 중 하나이기도 하다. R싱크는 보안(SSH) 점진적 파일 전송 기능을 제공하며, 파일 미러링 프로그램으로 고안됐기 때문에 이러한 작업에서 뛰어난 성능을 보인다. 이것은 또한 맥킨토시 버전www.macosxlabs.org/RsyncX/RsyncX.html과 윈도 버전(optics.ph.unimelb.edu.au/help/ rsync/rsync_pc1.html)으로도 나오고 있다.

>> 유니선(www.cis.upenn.edu/~bcpierce/unison)은 다양한 유닉스 및 윈도 플랫폼에서 작동하는 것으로 명성이 높다. 이 프리웨어는 CLI와 GUI를 둘 다 제공하며, 각각의 기계는 둘 중 한 가지 컴포넌트를 돌려야 한다. 유니선은 복제 프로세스에서 충돌을 플래깅하고 이들을 보여주며, 보안은 유닉스 환경에서 SSH를 통해 제공된다. 소켓 방안은 별도의 보안이 필요치 않을 경우 사용 가능하다. 명령어 라인 버전은 스크립팅이 가능한데, 이것은 관리자들에게는 좋은 선물이다. 하지만 미러를 스크립팅하고 충돌 상황이 발생할 때는 동기화가 처리되기 이전에 이것을 먼저 관리자 차원에서 처리해야 한다는 사실을 명심해야 한다.

>> 마이크로소프트는 자사의 윈도 리소스 키트(Windows Resource Kit, (www.microsoft.com/ windowsserver2003/ downloads/ tools/ default.mspx)에서 파일 동기화와 복제를 지원하는 세 가지 툴을 제공하고 있다. 로보카피(Robocopy), F카피 및 M캐스트(Mcast)는 NT 4.0에서 2003 버전의 윈도 서버와 대부분의 마이크로소프트 클라이언트와 작동한다. 로보카피는 NT4 시절 이후 나온 것으로 속도가 빠르다. 이것은 대역폭 사용량을 제어할 수 있게 해주며 정확한 미러를 유지한다. 로보카피는 배치 파일에 포함되거나 그 자체의 포맷 작업 파일로 있을 수 있으며, 이것이 정기적인 간격으로 혹은 계속해서 돌아가도록 스케줄링할 수 있다. 이것은 같은 네트워크에 있는 랜이나 왠 회선용으로 만들어졌지만 윈도 95 클라이언트와는 작동하지 않는다.

F카피는 MSMQ(Microsoft Messaging Queuing) 환경을 기반으로 색다른 파일 동기화 방식을 취하고 있다. 이것은 워크그룹이나 네트워크화된 구성에서 작동하게 설계됐다. 문제는 동기화 프로세스에 참여하고 있는 모든 기계에서 전자증명서가 필요하다는 것이다. 구성에 따라 여기에는 얼마간의 작업이 필요할 수도 있는데, 그 이유는 F카피가 자신의 일을 하기 이전에 각각의 서버와 애플리케이션이 MSMQ 서비스 안에 등록된 증명서를 갖고 있어야 하기 때문이다. 전자증명서를 사용하고 있고 이들을 사용자에게 발급했다면 자체 증명서를 발급하는 게 아니라 그것으로 사용자를 대신할 수 있게 해주는 옵션이 있긴 하지만 언제나 이것이 적용되는 것은 아니다. 특히 동기화가 다중 네트워크 도메인들을 가로질러 일어날 경우에는 되지 않는 경우가 많다.

멀티캐스팅은 마이크로소프트의 가장 새로운 파일 동기화 툴로서 서버 컴포넌트인 MQ캐스트(MQCast)와 클라이언트 컴포넌트인 MQ캐치(MQCatch)가 있다. 네트워크 라우터는 다중송신 트래픽을 전달하도록 설정돼야 한다. 마이크로소프트의 MQ캐스트와 MQ캐치는 타이머에 따라서 수동으로 캐칭 컴포넌트를 내보내는 한 무제한 클라이언트를 복제할 수 있다. 하지만 이것은 파일 동기화 툴이라기보다는 파일 복제 툴에 가깝다. MQ캐스트와 MQ캐치는 MSMQ 3를 기반으로 하며 최신 마이크로소프트(윈XP와 윈도 서버 2003)을 대상으로 하고 있다. 캐칭 컴포넌트가 늘 작동하게 해둠으로써 보안 문제가 야기될 수 있기 때문에 이 툴을 사용할 때는 신중을 기해야 한다.

맥 OS X 환경용으로 나와 있는 다른 솔루션들로는 싱크(Sync)와 이그제큐티브싱크(ExecutiveSync) 등이 있다. 싱크(www.decimus.net/synk)는 복잡한 환경을 갖고 있지 않은 맥 사용자를 위한 프리웨어 자원이다. 제한적이긴 하지만 백업 툴로는 잘 작동한다. 보다 복잡한 환경에서는 이그제큐티브싱크(www.macudate.com/info.php/id/8543)가 효과적이다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.