또 다른 매뉴얼 작성을 시작한다. Bacula 라고하는 엔터프라이즈급 오픈소스 네트워크 백업 솔루션이다. 엔터프라이즈 라는 단어에서 오는 의미를 봐서, 개인용은 아니라는 것이 짐작되실 거다. 물론 개인용으로 써도 된다. 전혀 문제없다.

이걸 처음 써보고서는 오픈소스에 이 정도 성능의 솔루션이 한국에서 널리 알려지지 않은 것이 안타까워서, 본인 스스로가 이걸 좀 알려야겠다고 마음을 먹게되었다. 또한, 나는 Bacula Systems에서 주관하는 공인 교육인 Bacula Systems Administrator I과 II 교육을 모두 수료하여 Certified Backup Admin 인증서를 받았다.

한 가지 덧붙이자면, 본 매뉴얼은 Bacula Systems의 경영진 및 직원들에게 작성을 통보했었고, 사실 그들도 어느정도 관심있게 지켜보고 있다. 언어적인 문제일 수도 있겠지만, Bacula가 독일을 비롯한 유럽과 서양에서는 상당히 인기있는 반면 아시아에서는 언급은 커녕 이런게 있는지도 모르는 경우가 태반이기 때문이다. 이 매뉴얼을 시작으로 한국의 IT 시장에도 Bacula가 어느 정도 알려지길 바라는 기대가 어느정도 있어보인다.

본 매뉴얼을 시작하게 된 계기는, 이렇게 훌륭한, 그것도 오픈소스 솔루션을 모르는 분들이 생각보다 너무 많아서였다. Bacula는 한 번도 들어본 적이 없었지만 처음 접하고나서는 완전히 반해버렸다. 너무나도 훌륭하고 이걸 집이건 어디건 내가 관리하는 컴퓨터라면 전부 이걸로 갈아엎고 싶을 정도다. 내가 일하는 곳이 미국이라서 오픈소스를 접하기가 쉽긴 하지만, 주립대학이 주정부기관의 한 부서이다보니 아무래도 비용을 최대한 줄일 수 있는 오픈소스만 고집하는 것이 진짜 오픈소스 솔루션을 쉽게 접할 수 있는 이유가 아닐까 싶다.

Big Blue Button이라고 하는 너무나도 훌륭한 영상/음성지원 실시간 프레젠테이션 솔루션에 대해서도 잠깐 언급을 해드린다. 정말 이것이 과연 오픈소스인가 할 정도로 좋고, 게다가 상당수의 교직원들이 우분투 리눅스를 사용하는 본인의 직장환경에서도 모든 기능이 100% 작동되었다. 윈도우, 리눅스, 그리고 맥까지 모두 작동되는 이런 훌륭한 오픈소스 프로그램들이 많은데, 이런 것들을 알지 못해서 못쓰는 상황이 많이 안타깝다.

이 매뉴얼에서 곧 다룰 Bacula라고 하는 백업 솔루션도 마찬가지로, 오픈소스이며 너무나도 잘 만들어져있고, 쉽고, 간편하다. 해외에서는 이미 커뮤니티 버전에 대한 유저들의 참여가 활발하며, Bacula를 만든 Bacula Systems의 CTO인 Kern Sibbald가 직접 메일링 리스트의 답변을 주기도 한다. 공식적으로 리눅스, 윈도우, 맥, 그리고 여러 유닉스를 지원하며, 그외 잘 쓰이지 않는 유닉스 유저의 경우는 소스가 오픈되어있기 때문에 소스를 가져다 설치하면 된다. 공식적으로 지원되는 클라이언트용 플랫폼으로는 리눅스, 솔라리스, Free/Net/OpenBSD, 윈도우, 맥, HP-UX, Tru64, Irix가 되겠다. 특히나 백업이라는 행위가, 모든 장소에 똑같은 방식이 적용하는 것이 불가능한 아주 다양한 상황에 대한 요구가 필요한 것인데 Bacula는 이런 요구를 모두 처리할 수 있는 기능을 갖추고 있다.

또한 Bacula는, “오픈소스로 돈을 버는” 한국에서는 다소 성공하기 어려운 형태의 비지니스 모델을 이뤄냈는데,
1. 오픈소스 솔루션을 개발해서 배포한다.
2. 유료로만 지원되는 플러그인 및 모듈, 기술지원, 그리고 전문교육
을 판매하는 형태로, Bacula Systems라고하는 회사가 별도로 존재한다. 따라서, bacula.org는 오픈소스의 커뮤니티 버전을, baculasystems.com 이라고 하는 엔터프라이즈 레벨의 상품을 판매하는 것이다. Bacula는 2000년 1월에 처음 개발이 시작되어, 2002년 4월에서야 소스포지에 첫 버전이 올라왔고, 유료버전은 짝수이며 현재 버전 6까지 나와있다.

Bacula의 특징으로는 다음과 같다.

1. 쉬운 설치 및 쉬운 설정
2. 다양한 백업 장치 지원 (하드디스크, LTO 1-5 테이프 장치 등등)
3. 다양한 모니터링툴 지원
4. 증분, 차등, 차등 증분, 변경분, 가상백업, 백업 주기, 압축, 프로토콜 등 다양한 백업방식 지원
5. 원하는 경로 설정 및 백업 전후 실시할 명령어 지정 가능
6. 네트워크로 백업되는 데이터의 암호화를 위한 다양한 옵션 (MD5, SHA, TLS, CRAM-MD5 등등)
7. 압축

글쓴이가 근무하는 서버실 서버 중 대략 60대를 Bacula로 백업하고있는데, 사실 옵션이 아무리 많아도 쓰는건 한정되어있기 마련이다. 따라서, 본인의 상사께서 정해준 규정과 옵션으로만 운영하는 현재, 매일 하루에 한 번씩 이메일로 날라오는 백업 리포트를 읽는 것 외에는 백업에는 아예 신경을 안쓰고 근무할 정도로 편하고 쓰기쉬운 백업 솔루션이라고 말할 수 있다. 또한, 글쓴이의 서버실 규모가 작아서 그렇지, 교육에서 만났던 브라질에서 온 참가자의 경우는 1천대 가량 규모의 백업을 Bacula로 하고있다고 했다. 다른 참석자 중에서는 NASA에서 근무하는 System Admin도 있었다.

본 매뉴얼을 따라하기 위한 조건으로, 아래의 환경처럼 구성하고자 한다. 반드시 맞춰야할 필요는 없지만, “네트워크 백업 솔루션”인만큼 최소 2대의 컴퓨터가 있어야겠다. 다만, 반드시 필수적인 조건으로는, 본 매뉴얼을 따라하고자하는 분께서는 반드시 리눅스 터미널과 명령어 사용에 익숙해야하고, 네트워크에 대한 최소한의 개념은 이해하고 있어야한다는 점이다. 본인의 실습 조건이다.

1. 노트북
2. 가상화 프로그램 (Parallels, VMware, 혹은 VirtualBox)
3. 4대의 가상 컴퓨터
4. 글쓴이는 우분투 한국 로코팀 컨택터이므로, 가상 컴퓨터 4대의 운영체제는 모두 우분투 리눅스로 실시하며, 특별히 한 대는 데스크탑으로 한다.
5. 맥용 클라이언트 설치는 설명에서 제외한다. 일단, MacPorts에서 설치가 가능하고, 설정은 리눅스랑 100% 똑같다.
6. 윈도우용 클라이언트는 부득이하게 제외하기로 한다. 맥용 클라이언트와 마찬가지로, 설정은 리눅스랑 100% 같다. 참고로, 현재 윈도우용은 2012년 6월 28일자 버전인 5.2.10을 끝으로 무료버전은 개발이 중단됐다. 참고로, 최대 9대까지 쓸 수 있는 윈도우용 라이센스는 불과 1년에 $25 밖에 안한다. 1,000대 이상도 그래봐야 $600 밖에 안한다.기업용으로 이 정도 가격은 정말로 껌값이다. 무료 버전의 클라이언트는 현재 개발이 중단됐다는 점을 기억하자.
7. 백업 명령/복원 등의 실습은 CLI로 먼저 시작하고, CLI가 어느정도 익숙해지면 GUI를 진행한다. 사실 GUI를 사용하는 진짜 이유는, Bacula에서 화면에 출력되는 데이터가 횡으로 너무 길어서 CLI로 보면 상당히 불편하다.
8. 다양한 환경과 상황에서의 실습은 차후에 보여드릴 예정이다. 백업이라는 게 상황마다 조건마다 다들 판이하게 다르기 때문에 그것들을 일일히 다 실습해볼 수도 없거니와, 여러가지 상황에 대비한 옵션과 각각의 옵션에서 파생될 수 있는 결과 역시 수없이 많이 달라질 수 있기 때문에 개념을 설명하는 부분에서는 설명을 제외한다.

이제 설치에 들어가보자. 가상 컴퓨터가 아닌 진짜 컴퓨터로 해도 상관은 없겠지만, 리눅스 설치에 시간이 좀 걸릴테니 미리 준비하실 분들은 우분투 설치부터 시작하시면 되겠다.

다음 편으로…