태그 보관물: 백업

MySQL 원격 증분 백업 – Percona XtraBackup

# Percona XtraBackup 소개

이미 예전에 XtraBackup을 간단하게 소개한 글을 썼었는데 그 글의 내용만으로는 XtraBackup을 실무에 쓰기에 턱없이 부족하다. 그래서 이번에는 XtraBackup을 제대로 쓸 수 있는 문서를 만들었다.

일반적으로 MySQL 백업으로 mysqldump를 사용하는데 매번 전체를 백업하는 방식이므로 데이터가 커질수록 백업에 걸리는 시간이 길어지고 부담이 커진다. 뿐만 아니라 백업된 데이터를 복구하는데도 무척 긴 시간을 필요로 한다. 하지만 XtraBackup을 사용하면 마지막 백업으로부터 변경된 사항만 이어서 백업하는 증분 백업이 가능하다.

XtraBackup은 MySQL의 데이터 디렉토리 자체를 복사하는 것과 같기에 복구에 걸리는 시간은 단지 파일을 복사하는데 걸리는 시간과 같으며 InnoDB 엔진을 적용한 테이블의 경우 MySQL이 실행중인 상태에서도 테이블 락을 걸지 않고 백업이 가능하다. MyISAM 엔진을 사용한 테이블은 락이 걸리므로 주의하자.(락을 걸지 않도록 하는 옵션이 있지만 모험을 하고 싶지는 않다.)

 

# 학습 순서

이 문서에서는 XtraBackup으로 MySQL 백업을 아래와 같은 단계로 학습하겠다.

  1. 로컬 전체 백업 및 복구
  2. 로컬 증분 백업 및 복구
  3. 원격 증분 백업 및 복구

단계가 올라갈수록 복잡도가 높아지며 이전 단계의 이해를 요구하므로 한단계씩 차근차근 진행하자.

 

# 설치

XtraBackup의 설치는 어렵지 않다. 패키지로 설치가 가능하며 우분투에서는 apt-get으로 설치하면 된다.

레드햇 계열은 yum으로 설치하면 된다. 요즘 배포판이라면 기본 저장소에 XtraBackup이 포함되어 있지만 그렇지 않다면 Percona에서 제공하는 XtraBackup 설치 가이드를 참고하자.

 

# 전체 백업

전체 백업은 무척 간단하다. innobackupex라는 명령을 사용하는데 xtrabackup을 좀 더 쓰기 쉽게 펄 스크립트로 구현해 놓은 것이다.

위와 같이 백업할 경우 ‘/전체백업/날짜’로 저장된다.
백업디렉토리를 명시적으로 지정하고 싶다면 –no-timestamp 옵션을 추가한다.

 

# 복원 준비

복원하기 위해서는 백업이 진행되는 동안 생성된 MySQL의 로그를 적용시켜야 한다.
로그 적용은 –apply-log 옵션을 사용하면 된다.

 

# 복원

복원 준비까지 마쳤다면 –copy-back 옵션으로 복원 할 수 있다.
복원은 백업 디렉토리를 MySQL 데이터 디렉토리에 복사하는 것과 동일하다.
때문에 MySQL의 동작을 중지시켜야 하며 데이터 디렉토리는 비어 있어야 한다.
우분투에서 MySQL의 기본 데이터 디렉토리는 /var/lib/mysql 이다.

마지막으로 MySQL 데이터 디렉토리의 소유자와 그룹을 재설정하고 MySQL을 다시 시작한다.

 

# 증분 백업

최초 증분 백업을 하기 위해서는 전체 백업을 해놓은 디렉토리가 준비되어 있어야 한다.
증분 백업이란 마지막 백업 이후로 변경된 사항만 이어서 백업하는 것이므로 기본적으로 전체 백업이 필요하다.

증분 백업은 –incremental 옵션으로 할 수 있다.
여기서 중요한건 어느 시점부터 백업을 시작할지 LSN(log sequence number)을 전달해야 한다.
LSN 전달 방법은 아래와 같은 방법이 있다.

  1. LSN(log sequence number) 값을 직접 명시하는 방법
    –incremental-lsn=LSN
  2. xtrabackup_checkpoints 파일이 있는 디렉토리를 지정하는 방법
    –incremental-basedir=DIR

두 방법 모두 백업 디렉토리 하위의 xtrabackup_checkpoints 파일의 to_lsn 값을 이용하는 것이다.

로컬 백업에는 2번 방법으로도 충분한데 원격 백업을 위해서는 1번 방법을 응용하는 것이 좋다.
이 문서에서는 1번 방법으로 계속 설명하겠다.

이후 진행을 편하게 하기 위해서 xtrabackup_checkpoints 파일에서 to_lsn 값을 가져오는 간단한 명령을 사용하자.

증분 백업도 전체 백업과 마찬가지로 –no-timestamp 옵션을 추가해서 백업 디렉토리를 명시적으로 지정할 수 있다.

그럼 위에서 설명한  –incremental, –incremental-lsn 옵션과 LSN 값을 가져오는 명령을 이용해서 증분 백업 명령을 내려보자.

LSN 값만 제대로 전달되면 증분 백업도 어렵지 않다.
이어서 새로운 증분 백업을 하려면 최근 백업한 디렉토리 하위의 xtrabackup_checkpoints 파일에서 to_lsn 값을 가져와서 처음 과정을 반복하면 된다.

이렇듯 증분백업은 전체 백업에 자동으로 합쳐지는 것이 아니라 별도의 디렉토리에 생성이 되며 복원을 위해서는 전체 백업에 합쳐야 한다.

전체 백업 + 증분 백업 1 + 증분 백업 2 + …

 

# 전체 백업에 증분 백업을 합치기

전체 백업에 증분 백업을 합치려면 일단 전체 백업 디렉토리에 –apply-log –redo-only 옵션을 적용한다.
그리고 증분 백업 디렉토리를 순서대로 –apply-log –redo-only 옵션과 함께 전체 백업에 적용한다.

전체 백업 디렉토리와 마지막 증분 백업 디렉토리 각각 하위의 xtrabackup_checkpoints 파일을 열어보면 to_lsn 값이 동일하다는 것을 확인 할 수 있다.

증분 백업을 전체 백업에 합치고 나면 증분 백업 디렉토리는 삭제해도 된다.

 

# 증분 백업 복원

전체 백업에 증분 백업을 모두 합쳤다면 이후 복원은 일반적인 전체 백업 복원과 동일하다.

 

# 증분 백업 팁

매번 증분 백업을 할때마다 디렉토리가 늘어나고 나중에 한번에 합치기가 불편하다면 증분 백업을 하자마자 바로 전체 백업에 합치면 된다.

위의 명령 이후 전체 백업을 제외한 3 ~ 6번 라인의 과정을 반복하면 한개의 디렉토리에 백업을 이어갈 수 있다.

 

# 원격 전체 백업

원격 백업이라고 하지만 원격 MySQL에 접속하여 백업하는 것은 불가능하고 로컬에서 백업한 것을 원격으로 전송하는 방식을 쓴다. 백업을 전달받을 원격 호스트는 –remote-host 옵션으로 지정한다.
원격 전송에는 scp가 사용되는데 –scpopt 옵션으로 scp 관련 옵션을 부여할 수 있고 기본 옵션은 ‘-Cp -c arcfour’ 이다.
–remote-host 옵션과 –scpopt 옵션을 제외하면 일반적인 전체 백업과 같다.

 

# 원격 증분 백업

증분 백업은 백업 데이터를 스트림으로 내보낼 수 있으며 –stream=xbstream 옵션을 사용하면 된다.
스트림으로 출력되는 데이터는 파이프를 통해 ssh 명령으로 원격 서버에 전송할 수 있으며 원격 서버에서는 xbstream 을 이용하여 전송된 데이터를 풀어 놓으면 된다. 때문에 원격 서버에도 XtraBackup이 설치되어 있어야 한다.

증분 백업 스트림 데이터를 ssh로 원격 서버에 전송하고 원격 서버에서는 xbstream으로 전송된 데이터를 풀어놓는 명령어은 아래와 같다.

명령이 복잡해 보이지만 차근차근 뜯어보면 어렵지 않다.

위 명령의 앞부분은 일반적인 증분 백업과 다를바 없다. 다만 백업 경로가 /tmp로 되어있는데 임시로 사용되는 경로일뿐 실제 데이터는 바로 스트림으로 전송된다.

명령의 뒷부분은 우리가 원하는 동작 순서 그대로 나열했을 뿐이다.

 

# 원격 증분 백업 스크립트

간단한 명령으로 자동화된 원격 백업을 할 수 있으면 좋겠지만 아쉽게도 그렇지 않다. XtraBackup의 다양한 명령을 조합하여 원격 백업을 구현해야 한다. 그러기 위해서는 서버의 ssh 설정과 권한 설정 등 추가적인 서버 운영 지식이 필요하다.

아래는 백업 서버에서 DB 서버로부터 MySQL의 데이터를 백업하는 스크립트 예제다. 각 코드에 대한 설명은 하지 않겠다. 서버별로 환경이 다양하므로 가져다 쓰기만 하면 되는 스크립트를 만들 수는 없다.

스크립트가 복잡해 보인다고 걱정하지 말자. 지금까지 설명한 XtraBackup의 사용법을 이해하고 있다면 아래 스크립트는 별 것 아닌 단순한 명령을 순서대로 나열한 것일 뿐이다.

완성된 스크립트를 cron에 등록하여 주기적으로 백업이 되도록 하면 된다.

내가 생각하기에 XtraBackup이 가장 가볍고 빠르게 동작할 수 있는 환경은 MySQL의 모든 테이블이 InnoDB 엔진을 사용하며 innodb_file_per_table 옵션이 활성화되어 있을 때인 것 같다.

이제는 실무에서 MySQL을 백업하는 도구로 mysqldump를 대신 XtraBackup을 사용하자. 물론 mysqldump가 필요한 경우도 있다. 하지만 분명한 건 전체를 백업하는 용도로는 mysqldump는 불편하다.

개인 백업의 중요성과 NAS 구축 – QNAP TS-220 + ipTIME A2004

개인 백업의 중요성과 NAS의 선택

컴퓨터에 저장하는 개인의 데이터 크기는 시간이 갈수록 커지고 있다. 고화질 영화, 고음질 음악, 스마트기기로 개인이 만든 고품질의 사진과 동영상 같은 용량 큰 데이터가 빠르게 누적되고 있다.

그런데 많은 사람들이 데이터의 백업에는 무관심하다. 심지어 이미 데이터를 날린 경험을 가진 사람 조차도 백업을 신경쓰지 않는다. 이것도 일종의 안전불감증이라고 본다. 컴퓨터의 하드디스크를 믿으면 안된다. 지금 갑자기 고장나도 이상한 일이 아니다. 특히 저가의 저품질 컴퓨터는 컴퓨터는 잔고장이 많고 수명이 짧은편으로 무척 위험하다.

보통 사람들이 컴퓨터에 저장하는 파일들의 종류는 크게 아래와 같이 분류할 수 있다.

어플리케이션, 영화, 음악, 개인 창작물(문서, 사진, 동영상 등)

나는 각 항목에 대해서 아래와 같은 방침으로 관리하고 있다.

  • 어플리케이션: 리눅스와 맥은 예전부터, 윈도우는 Windows 8부터 어플리케이션 스토어를 갖추고 있다. 소수의 특별한 어플리케이션을 제외하고는 언제든지 내가 사용하던 어플리케이션을 다시 설치할 수 있기에 설치파일을 따로 저장하지 않는다.
  • 영화: 저장한 영화를 다시 보는 일은 거의 없다. 오히려 내가 과거에 다운 받아놓은 사실을 잊어버리고 다시 받기도 한다. 요즘은 스트리밍으로 보는게 더 편하다. 컴퓨터에 용량이 부족하면 영화부터 지우자. 정말 소중한 영화는 DVD나 블루레이를 사자.
  • 음악: 벅스, 멜론과 같은 스트리밍 서비스의 발달로 월 몇천원이면 언제 어디서든 내가 원하는 노래를 들을 수 있다. 나는 아이튠즈에서 음악을 사는데 언제나 다시 받을 수 있다. 이제는 구하기 힘든 옛날 애니메이션 음악만 소장한다.
  • 문서: 드롭박스 같은 클라우드 서비스를 이용한다. 문서는 용량이 크지 않으므로 수GB의 무료 클라우드 서비스에 동기화 하는 것만으로도 충분하다.
  • 사진, 동영상: 개인이 만든 사진이나 동영상은 영화나 음악 처럼 다시 구할 수 있는게 아니다. 문서 처럼 클라우드에 동기화 하기에는 용량이 너무 크다. 요즘 사진 파일의 크기는 수MB로 500장만 되도 1GB를 넘을 수 있다. 플리커가 1TB, 중국의 모업체가 10TB 클라우드 서비스를 무료로 제공하지만 사진은 영화나 음악과는 다르다. 사진은 스트리밍으로 보는게 아니다. 다수의 사진을 동시에 확인하고 빈번하게 접근한다. 내 사진 폴더중 하나는 1,400여장이 있다. 용량은 2GB가 넘지만 컴퓨터에서는 전체 사진을 순서대로 넘기며 보는데는 문제가 없다. 하지만 클라우드 서비스에서는 느리고 불편하다. 클라우드 서비스는 사진을 다수에게 공유하는 용도에 적합하다. 그리고 아이포토와 같은 사진 관리용 프로그램 사용할 경우 클라우드에는 사진만 백업되며 수작업으로 분류한 사람 얼굴이나 태깅등은 백업되지 않는다.

결국 가장 큰 문제는 개인이 만든 사진과 동영상이다. 물론 용량이 부족하면 용량 큰 하드디스크를 추가로 장착하면 된다. 하지만 요즘 컴퓨터 사용 추세와 어긋나는 문제가 발생한다.

  • 커다란 데스크탑 본체 대신에 작고 슬림한 본체를 쓰거나 노트북(노트북은 사양이 떨어진다는건 옛날 이야기다. 커피숍만 가더라도 노트북 사용자가 엄청 많다. 나도 맥북 하나로 프로그램 개발 다한다.)을 사용한다. 때문에 하드디스크 확장에 제한이 따른다.
  • HDD 대신 SSD를 장착하면 컴퓨터 성능이 엄청나게 좋아져서 요즘은 SSD를 장착하는 추세다. 하지만 SSD는 용량이 작고 비싸다. 대충 용량대비 HDD 보다 10배 비싸다.

그렇기에 별도의 외장 백업장치가 필요하다. 그동안 나는 HDD 250GB가 장착된 맥북을 쓰고 있었고 USB에 외장 HDD 200GB를 연결해서 백업을 해왔다. 그동안 그럭저럭 쓸만했는데 아래와 같은 문제점이 생겼다.

  • 새로 구입한 맥북프로는 500GB로 점점 데이터가 많아지면 전체 백업을 하기에 HDD의 용량이 부족하다.
  • 집에 가서 USB를 연결해야만 백업이 가능하다. 잊어버리거나 귀찮아서 백업을 빼먹을때가 있다. 되도록 1주일에 한번은 백업하려고 노력한다.
  • 여자친구 컴퓨터에 있는 데이터는 백업이 안되고 있어서 위험하다. 나 혼자만 안전하게 살 수는 없다.

이 문제를 해결할 방법으로 고민끝에 NAS를 선택했고 아래와 같은 목표를 세웠다.

  • HDD 2개를 RAID 1으로 연결해서 HDD 한개가 고장나도 데이터가 손실되지 않도록 한다.(* RAID 1을 쉽게 설명하자면 2개의 HDD에 동시에 똑같이 데이터를 저장하는 방식이다. 즉, HDD 한개가 고장나도 똑같은 내용의 HDD가 하나 더 있으니까 안전하다. 물론 고장난 HDD는 다시 바꿔줘야 하고 두개가 동시에 고장나면 어쩔 수 없다.)
  • 집안은 물론 집밖에서도 인터넷만 연결되면 자동으로 백업이 되도록 한다.
  • 여자친구 컴퓨터도 자동으로 백업이 되도록 한다.

구입한 장비의 종류와 주요사양 그리고 선택한 이유는 아래와 같다.

  • 유무선 공유기: ipTIME A2004
    • 2.4Ghz, 5Ghz 듀얼밴드 / 802.11n, 802.11ac / 기가비트
    • 5Ghz와 기가비트는 필수다. 공유기가 기가비트를 지원하지 않으면 컴퓨터와 NAS간에 대용량 파일 전송이 힘들고 인터넷이 느려진다.
      802.11ac는 현존 가장 빠른 규격이며 현재 최신 기기들만 지원하지만 현재 자신의 기기가 지원하지 않는다고 해서 굳이 802.11ac를 지원하지 않는 옛날 공유기를 선택할 필요는 없다.
      공유기 후보로는 TP-LINK Archer C7 AC1750, ASUS RT-AC66U가 있었는데 둘다 해외에서 구매해야 하는 제품이다. TP-LINK Archer C7 AC1750는 기가비트를 지원하지 않아서 제외했다. TP-LINK Archer C7 AC1750는 기가비트를 지원하지 않는줄 알고 실수로 제외했다. ASUS RT-AC66U가 지존이라고 하는데 너무 비싸다. 내가 회사 네트워크 구축시 ipTIME 공유기 4대, 허브 1대, 시스코 스위치 1대를 사용했다. 30명 가까운 인원이 각자 스마트폰까지 합쳐서 최소 50여대 이상의 기기가 붙어서 쓰고 있는데 문제없이 잘 쓰고 있다. 때문에 내 개인 용도로 ipTIME A2004면 충분하다고 판단했다.
  • NAS: QNAP TS-220
    • 2베이 / SATA-3 / USB 3.0 / 맥 OS 지원
    • RAID 1을 위해서 최소한 2베이가 필요하다. USB 3.0 지원은 크게 중요한건 아니지만 어떤 이유에 의해서 NAS의 데이터를 USB로 연결해서 옮겨야 하는 경우 USB 2.0은 너무 느리다.
      많은 사람들이 NAS 브랜드로 시놀로지(Synology)와 큐냅(QNAP)을 추천하는데 버팔로나 ipTIME 제품등에 비해서 상당히 비싸다. 나도 가격 때문에 엄청나게 고민했지만 큐냅을 선택했다. RAID 구성시 저가 제품은 데이터가 깨질 수 있다. 그리고 직접 NAS를 구축해보니 비싸더라도 좋은 제품을 써야하는 이유가 느껴졌다. 계속 이어질 QNAP TS-220 리뷰에서 설명하겠다.
  • HDD: 도시바 3TB DT01ACA300
    • 3TB / SATA-3 / 7,200RPM / 저소음
    • 현재 가성비가 가장 높은 용량이 3TB이다. 4TB부터는 가격이 많이 뛴다. 원래는 2TB만 하려고 했다. 예상하기에 2년간은 2TB로 충분할 것 같은 느낌이었다. 그런데 그동안 내가 HDD를 써온 기간을 생각하면 최소 4년은 썼던 것 같다. 괜히 어설픈 용량을 샀다가 4년도 안되서 용량이 부족해지면 기존 HDD를 빼내고 새로운 HDD로 교체해야 한다. 그것도 한개도 아닌 두개나 교체해야 한다. 그렇다고 나중에 HDD 교체가 아닌 추가 장착을 생각해서 4베이 NAS를 구입하면 배보다 배꼽이 커진다.
      HDD 후보로는 WD Red, WD Green도 있었다. WD Red는 NAS 전용으로 나온 모델이기에 최적이라고 생각한다. 하지만 가격이 비싸다. NAS를 사무용으로 다수가 쓴다면 WD Red를 선택했겠지만 개인용으로는 굳이 NAS 전용 HDD를 살 필요는 없다고 판단했다. WD Green은 속도는 느리지만 저전력 저소음 제품으로 안정성이 좋고 가격이 낮은편이다. 그런데 NAS와 궁합이 맞지 않는다는 이야기 있다. 큐냅에서도 추천하지 않는 제품이다.
      최종 구입한 도시바 DT01ACA300은 조용한 편이며 안정성도 괜찮다는 이야기가 많다. 물론 HDD는 뽑기운이 따르기에 안정성을 100% 믿지는 않는다. 대신 NAS는 끄지 않고 계속 돌려야 하기에 저소음에 점수를 줬다. 소음 측정기는 없지만 개인적으로 마음에 드는 소음 수준이다.

 

구입한 장비 리뷰

ipTIME A2004

ipTIME A2004

ipTIME A2004의 구성품(공유기, 어댑터, 랜선)은 간단하다.

ipTIME A2004

2.4Ghz 안테나 2개, 5Ghz 안테나 2개로 듀얼밴드를 지원하며 4개의 랜포트를 지원한다. 안테나가 3개인데 듀얼밴드를 지원한다는 제품은 안테나 한개가 2.4Ghz와 5Ghz를 둘다 지원하는 것으로 안테나가 4개 있는 제품 기준으로 보자면 안테나가 6개 있는 것과 마찬가지다. 때문에 속도가 훨씬 빠르다. 예로 ASUS RT-AC66U가 그렇다.

  • ipTIME A2004: 안테나 4개 / 802.11ac 연결시 최대 867Mbps
  • ASUS RT-AC66U: 안테나 3개 / 802.11ac 연결시 최대 1,300Mbps

하지만 ASUS RT-AC66U의 가격은 ipTIME A2004를 거의 4개 살 수 있는 가격이다. 때문에 개인용으로는 ipTIME A2004가 가성비라고 생각한다. 그런데 실사용 속도 측정에서 실망스러운 결과를 얻었다. 자세한 내용은 리뷰에서 다시 설명하겠다.

큐냅 QNAP TS-220

큐냅 QNAP TS-220

QNAP TS-220의 구성품(NAS, 어댑터, HDD 고정 나사)도 간단하다. 설명서가 없는데 걱정할 필요는 없다. 자세한 메뉴얼은 인터넷에 최신 업데이트 된 문서가 제공되고 초기 설치는 문서 없이도 할 수 있을 정도로 잘 준비되어 있다.

도시바 3TB DT01ACA300

2개의 도시바 3TB HDD다. 포장 비닐은 위의 사진처럼 처음부터 잘려져 있다. 무상 A/S 기간은 2년으로 정품 스티커가 붙어 있는지 확인하자.

도시바 A/S 정책: http://tsds.kr/index/4_tsds_as.php

큐냅 QNAP TS-220

TS-220 NAS에 HDD 장착은 어렵지 않다. NAS의 HDD 가이드를 레버를 당겨서 뽑고 HDD를 가이드에 나사로 고정한다.

큐냅 QNAP TS-220

두개의 HDD를 모두 가이드에 고정시킨 후 NAS에 밀어넣는다.

큐냅 QNAP TS-220

위의 사진처럼 끝까지 밀어넣고 레버를 내리면 가이드가 고정된다.

랜선 CAT.5E

랜선은 CAT.5E가 제공된다. 주의! 랜선이라고 모두 같은 랜선이 아니다. CAT.5는 기가비트를 지원하지 않는다. 공식적으로는 CAT.6 부터 기가비트가 지원된다. CAT.5E는 기가비트가 되기는 하지만 랜선의 길이가 짧아야 한다.

참고하면 좋은 글

ipTIME A2004

큐냅 QNAP TS-220

큐냅 QNAP TS-220 + ipTIME A2004

HDD 장착이 끝났다면 전원 연결 및 공유기와 랜선을 연결하고 스위치를 켠다. NAS도 OS가 설치된 컴퓨터이기에 부팅에 시간이 걸린다. 부팅하면서 마치 고장난 것 처럼 삑삑 경고음이 울리는데 놀라지 말자.

부팅이 된 것 같으면 NAS 옆면에 붙어있는 스마트폰으로 QR코드를 촬영하면 QNAP NAS 모바일 설치 페이지로 이동된다. 스마트폰이 없거나 QR코드 촬영하는 방법을 모르면 http://start.qnap.com/ 으로 접속해서 할 수도 있다.

* 설명서를 정독하며 설치하고 싶다면 QNAP Turbo NAS 사용자 설명서 바로가기

큐냅 모바일 인스톨

제품 인증 및 가입에 필요한 정보를 입력하면 위와 같이 설치가 진행된다. 반드시 NAS가 부팅된 상태로 인터넷에 연결이 되어야 위의 과정들이 진행된다.

큐냅 모바일 인스톨

큐냅 모바일 인스톨

큐냅 모바일 인스톨

큐냅 모바일 인스톨

큐냅 모바일 인스톨

큐냅 모바일 인스톨

여러가지 과정을 거친 후 설치가 완료된다.

NAS와 공유기의 필수 기본 설정

NAS 설치도 마쳤겠다 바로 뭔가 하고 싶지만 원활한 사용을 위해서 필수적인 설정이 필요하다.

우선 NAS에 접속하기 위해서 큐냅 다운로드 센터에서 QNAP Qfinder 를 받는다. 리눅스, 맥, 윈도우 버전이 모두 제공된다.

QNAP Finder

Qfinder를 실행하면 NAS가 어떤 IP로 연결되어 있는지 보여준다. 구성을 클릭하고 들어가서 NAS가 사용할 고정 IP를 정해준다. 초기 로그인 정보는 admin / admin 이다.

QNAP Finder 설정

구성을 변경하면 NAS가 재시작을 했던 것으로 기억한다. 삑삑! 경고음이 나오더라도 놀라지 말자. 이제 ‘http://{NAS의 고정 IP주소}:8080’로 NAS 관리 시스템에 접속할 수 있다. 하지만 아직 외부에서는 NAS에 접근할 수가 없다.

외부에서 NAS에 접근하려면 공유기에서 NAS의 고정 IP를 DMZ로 설정해줘야 한다. 간단하게 설명하면 집밖에서 NAS에 접속하고 싶은데 NAS는 공유기에 연결되어 있어서 바로 NAS로 접속이 불가능하다. 이때 공유기에서 NAS의 IP를 DMZ로 설정하면 외부에서 공유기로 접속시 NAS로 연결이 된다.

ipTIME DMZ

이제 외부에서도 NAS에 접속할 수 있게 되었다. myqnapcloud.com 에서 제공해주는 도메인 서비스로 나의 NAS에 접속해보자.

http://{나의 NAS 이름}.myqnapcloud.com/

* 나의 NAS 이름을 모르겠거나 설정한 기억이 없다면? http://www.qnap.com/kr/index.php?lang=kr&sn=9109

 

QNAP TS-220의 기능들

QNAP TS-220의 기능은 모두 나열하기 힘들정도로 많다.

QNAP NAS 관리 시스템

일단 메인화면에 보이는 것으로 이름만 봐도 무슨 기능인지 추측되는 포토/뮤직/비디오/다운로드/파일 스테이션, 백업, 동기화 기능이 있다.

QNAP dashboard

우측 하단의 속도계 버튼을 클릭하면 위와 같은 대쉬보드가 나타난다. 현재 NAS의 주요 상태를 한눈에 파악할 수 있다.

QNAP NAS Service

제어판에 들어가보면 개인 서버 호스팅이 부럽지 않을 정도로 다양한 서비스가 존재한다. 물론 NAS로 많은 사람들이 사용하는 웹서비스를 운영하는건 불가능하다.

QNAP APPS

모바일 앱도 제공된다. NAS에 저장된 동영상과 음악을 스마트폰에서 스트리밍으로 이용할 수 있다. 이러한 다양한 기능들과 편의성을 보면서 NAS는 비싸지만 좋은 제품을 구입해야 하는 이유가 느껴졌다. 물론 기능보다는 안정성이 0순위다.

다양한 기능들에 대한 흥분은 일단 가라앉히고 가장 중요한 백업 환경을 구축하자.

 

맥 OS의 타임머신용 디스크를 NAS로 설정하기

NAS 관리 시스템에 접속후 ‘백업 관리자 > 백업 서버 > Time Machine 지원’을 연다.

screenshot_nas_timemachine

암호와 용량을 설정해준다. 타임머신 백업은 백업공간이 가득찰때까지 과거의 기록을 지우지 않고 계속 백업하므로 적당한 용량을 제한하는 것이 좋다.

기본적인 맥의 타임머신 사용법은 여기서 설명하지 않는다. 타임머신으로 NAS에 백업하려면 타임머신용 디스크로 NAS에서 제공하는 디스크를 선택해야 한다.

맥의 파인더에서 ‘커맨드 + K’를 누른다.

screenshot

afp://{나의 NAS 이름}.myqnapcloud.com 으로 연결하면 로그인 정보를 입력하라는 창이 나온다. 이름은 TimeMachine, 암호는 위에서 NAS 관리 시스템에 설정한 타임머신 암호를 넣으면 된다.

screenshot_timemachine

타임머신 환경설정에서 디스크 선택을 누르면 TMBackup을 찾을 수 있다. 여러개의 TMBackup이 보일수 있는데 반드시 ‘{나의 NAS 이름}.myqnapcloud.com’로 표시된 것을 선택해야 외부에서도 타임머신 백업이 동작한다.

이제 나의 맥북은 언제 어디서든 인터넷만 연결되면 NAS에 수시로 백업이 된다.

 

윈도우에서의 백업

아직 윈도우에서는 백업환경을 구축하지 않았는데 QNAP에서 지원하는 NetBak Replicator라는 백업 프로그램을 사용할 예정이다. QNAP 다운로드 센터에서 받을 수 있다.

 

실사용 속도 측정

speedtest.net에서 공유기의 인터넷 속도를 측정해봤다.

speedtest.net 속도측정

우선 내가 기존에 사용하던 ipTIME N704M 공유기의 속도 측정이다. 다운로드 43.54Mpbs(5.4MB/s), 업로드 50.96Mpbs(6.37MB/s)가 나왔다.

speedtest.net 속도측정

ipTIME A2004 공유기는 다운로드 90.78Mpbs(11.34MB/s), 업로드 83.83Mpbs(10.47MB/s)가 나왔다.

그런데 이건 ipTIME A2004이 제공하는 최고 속도가 아니다. 내가 집에서 쓰는 인터넷 회선의 최대 속도일 뿐이다. 이전에 쓰던 공유기보다 속도가 빨라졌다는 것에 의의를 둔다.

FTP 속도측정

문제는 내부 네트워크 속도이다. 맥북에서 FTP를 이용해 NAS로 파일을 전송했는데 742MB를 전송하는데 55초가 걸렸다. 조금 잘나올때는 47초도 나왔다. 일단 55초라고 계산하면 속도가 13MB/s로 ipTIME A2004의 스펙에 비해서 엄청나게 느린 속도이다. ipTIME A2004는 최대 108MB/s(867Mbps)를 지원해야 한다. SMB와 AFP도 테스트 해봤지만 속도의 차이는 없었다. 반대로 NAS에서 맥북으로 전송도 해봤지만 마치 이게 최대 속도라고 말하는 것 마냥 동일했다. 공유기도 재시작 해봤지만 똑같다.

Mac OS WIFI 확인

맥북의 무선 연결상태도 확인해봤는데 정확하게 802.11ac로 연결된 상태다. 공유기와 맥북의 거리는 30cm도 안된다.

NAS에 사용된 도시바 DT01ACA300 HDD는 순차쓰기 약 190MB/s 의 성능을 내므로 RAID 1 구성으로 인한 속도저하를 감안해도 HDD 쓰기에 의한 딜레이는 없다고 본다. 하스웰 맥북프로 레티나에 사용된 SSD의 읽기 속도는 726MB/s 이므로 읽기에 의한 딜레이도 없다.

단일 파일이 아닌 맥북 전체 백업에 걸린 시간도 측정해봤다. 타임머신 최초 실행시에는 전체 백업을 실시한다. 이후로는 변경된 파일만 백업한다.

내 맥북 전체 백업량은 138GB(약 141,312MB) 였다. 총 7시간 20분(26,400초)이 걸렸다.

141312MB / 26,400초 = 5.35MB/s

최초 백업만 이렇고 이후로는 조금씩 변경된 파일만 백업하기에 7시간씩 걸리지는 않겠지만 무척 실망스러운 속도다.

여러가지 테스트 결과 ipTIME A2004 공유기의 문제라고 판단된다. ipTIME 고객센터에 문의를 해보고 답변이 오면 이 글에 내용을 추가하겠다.

ipTIME 문의 후

ipTIME에 어떤 조치를 하면 좋을지 문의를 했지만 다른 장비로 테스트를 해보라는 답변을 받았다. 집에는 맥북 이외의 장비가 없어서 테스트를 못했다. 대신 회사에서 동일한 공유기로 테스트를 해봤다.

맥북 –(무선)–> 공유기 –(유선)–> 윈도우 노트북

1,336MB의 파일로 양방향 전송 테스트 결과 평균 40MB/s의 속도가 나왔다. 집에 있는 공유기가 아닌 회사의 공유기지만 둘다 새제품으로 제품에 문제가 없다고 한다면 NAS의 문제인가? 이번에는 큐냅에 문의를 해보고 답변이 오면 다시 내용을 추가하겠다.

QNAP 문의 후

문의를 했으나 큐냅으로부터 답변을 받지 못했다. 큐냅 해외 포럼은 활발한데 국내 포럼은 일반 사용자들의 가뭄에 콩나는 답변 뿐이다.

대신 구글링을 통해서 TS-220의 벤치마크 자료를 찾았다.

qnap_ts220_benchmark_summary
* 자료출처: http://www.smallnetbuilder.com/nas/nas-reviews/32172-qnap-ts-x20-nas-series-reviewed?start=1

여러 NAS들의 파일 복사 속도를 비교한 NAS Charts 라는 자료를 보더라도 NAS의 파일 복사 쓰기 속도는 HDD의 성능에 비해서 낮다. 차트상에서 TS-220의 성적은 중하위권이다. 이 자료를 토대로 봤을때 공유기의 문제 보다는 TS-220의 성능 문제일 가능성이 높다고 본다.

한달 이상 TS-220을 쓰다보니 파일 쓰기 속도뿐만 아니라 전반적으로 더 높은 성능의 제품이 욕심난다. NAS는 파일 송수신 기능뿐만 아니라 저장된 멀티미디어 파일을 인덱싱 하거나 각종 서비스 프로그램을 운영하는 등 많은 일을 처리하기 때문에 성능이 높을수록 좋다.

유선랜으로 추가 테스트

기본적으로 맥북프로 레티나는 유선랜을 꼽을 수 있는 포트가 없다. 그래서 썬더볼트 이더넷 어댑터를 구입해서 유선랜상에서 테스트를 해봤다. 테스트한 파일의 용량은 약 4.69GB 이다.

  • NAS => 맥북: 약 99MB/s
  • 맥북 => NAS: 약 42MB/s

맥북에서 NAS로 했을때 속도가 떨어진건 위에서 설명했듯이 NAS의 성능상 한계이다.

이번에는 같은 파일을 다시 무선으로 테스트 했다. 최고 속도를 마음껏 낼 수 있는 NAS에서 맥북으로 전송한 테스트 결과이다.

ipTIME A2004 Speed test

전송 초반에는 30~40MB/s도 나오면서 속도가 오르락 내리락 하다가 전송이 안정화되면 25~26MB/s로 고정된다. 802.11ac를 지원하는 다른 공유기들의 속도는 어떨지 조사해봤다.

FolderTransfer5GHzacSame5GWi-Fi
* 자료출처: http://www.tomshardware.com/reviews/wi-fi-802.11ac-router,3386-10.html

2GB 폴더를 전송한 테스트 결과이다. 같은 802.11ac를 지원하는 공유기지만 속도의 차이가 크다는 것을 알 수 있다. 저기서 100MB/s 이상의 속도를 내는 공유기들은 출시된지 1년이 넘은 모델들로 그중 가장 속도가 빠른 Netgear R6300은 현재 아마존에서 $169.99에 팔며 다나와에서 배송대행으로 올라온 가격은 149,400원 이다. 자신이 내부 네트워크를 얼마나 활용하느냐에 따라서 저렴한 ipTIME A2004를 선택할지 더 비싼 공유기를 선택할지 고르면 된다.

 

부담되는 가격이지만 돈값하는 NAS

아래는 모 하드복구 업체의 가격표이다.

HDD 복구 가격표

요즘 컴퓨터 하드디스크 기본 용량(다나와 표준PC 기준)은 500GB다. 때문에 HDD가 깨지면 복구비를 최소 30만원부터 잡아야 한다. 500GB HDD는 현재 4만원대로 그냥 사면 그만이다. 중요한건 추억이 담긴 사진과 동영상으로 이걸 포기할 수 없다면 수십만원의 돈을 들여 복구해야 한다. 말그대로 그냥 돈을 날리게 된다. 그에 비해 NAS는 백업은 기본이고 개인 웹하드 및 클라우드 기능에 나 혼자만이 아닌 가족이나 다른 사람들과 같이 사용할 수 있다. TS-220에는 DLNA 기능을 지원하는 TV와 연결해서 NAS에 있는 동영상을 TV로 볼 수 있다. 이런 수많은 장점으로 인해 NAS는 돈값을 톡톡히 한다.

당장 NAS를 사는게 부담된다면 최소한 외장 USB 하드라도 사서 수시로 백업하자. 막상 일터져서 복구비용 수십만원 깨지게 될때면 그때는 NAS가 값싸게 보일 것이다.

 

도움되는 링크

블로그 호스팅 서버 변경으로 인한 댓글 분실

원래 000webhost.com 에서 무료로 블로그를 잘 운영하고 있었습니다.

그런데 갑자기 무료 사용량을 초과했다며 유료로 전환하라고 하는 겁니다.

트래픽이 많지도 않은 조용한 블로그인데 왜 초과되었는지 모르겠습니다.

그래서 백업받고 호스팅 변경하려고 했는데 유료 결재를 해야지만 비활성 계정이 풀려서 백업이 가능하더군요. OTL

할 수 없이 3월달에 백업 받은 데이터로 복구했습니다.

덕분에 최근 댓글들이 사라졌네요. ㅠㅠ