NAS를 도입할지말지 고민이라면 일단 읽어보세요 – (7) 백업 정책

백업은 스토리지를 운영함에 있어 가장 중요한 개념입니다. 단순히 내가 데이터를 잘못 취급하여 삭제했거나 덮어씌워버릴 수 도 있고, 랜섬웨어나 악성코드로 인해 데이터를 사용할 수 없게 바뀔 수 도 있습니다. 그 빈도가 절대적으로 적긴 하지만 데이터 오류로 인해 접근이 불가능하기도 하고, 디스크가 고장났을때 RAID가 구성되지 않았다면 그대로,,, 혹은 RAID가 구성되었더라도 내결함성을 넘어버린 고장 발생시 그대로 데이터를 잃어버릴 수 있습니다. 그럴 때를 대비하여 별도로 백업본을 만들어두고 있다가, 원할때 다시 복구할 수 있어야지만, 진정으로 스토리지 서버를 운영하고 있다고 볼 수 있습니다.


RAID, 스냅샷하면 되는거 아닌가?

RAID는 앞에서도 설명을 했지만, 스토리지 서버를 운영하는데 장애로 인한 중단 시간을 최소화 하기 위한 하나의 수단이며, 그중에서 디스크 고장 상황 발생시에도 어느정도 버틸 수 있도록 하는 개념입니다. 만약 내가 취급 부주의로 데이터를 삭제했다? 혹은 수정했다? 라고 한다면 RAID는 그 시점에 동시에 기록되므로 절대 백업본으로써의 역활을 하지 않습니다. 커밋(내용을 반영)한 시점에 이미 RAID로 구성된 복제 디스크에 동일하게 반영됩니다. 아무리 과거 시점으로 데이터를 복구하고 싶다 하더라도 이미 데이터가 저장된 상태이므로 복구라는 개념은 존재하지 않습니다.

스냅샷의 경우, 해당 특정 파일을 특정 시점 상태 그대로 보관하는 개념입니다. 파일시스템이나 특정 기능을 통해 특정 파일을 특정 시점에 이렇게 되어 있다고 저장해뒀다가 필요시 복원이 가능합니다. 어찌보면 백업의 역활로 어느정도 사용은 가능하지만, 스냅샷은 무한정 보관할 수 없으며, 원본 데이터에 의존해서 변경사항 수준만 보관하기 때문에 해당 데이터가 삭제, 혹은 오류로 인해 손상되었다면 (역시 설정이나 기능구현방식에 따라 다르긴하지만 보편적으로는) 스냅샷은 더이상 사용할 수 없게 됩니다. 즉, 유사시 데이터를 특정 시점으로 돌리기 위해 사용하며, 데이터를 안전하게 보관해뒀다가 필요시 복구하는 개념으로는 사용하지 않습니다.

위 사항 모두, 물리적으로 만약 디스크가 고장나서 구동이 불가능한 상황이라고 한다면, 사실상 데이터를 복구할 방법은 있지 않습니다. RAID는 디스크가 고장날때 대비해서 동작하도록 하는 기능이라고 하면, 스냅샷은 일단 정상 동작중일때 변경사항을 저장하는 용도일 뿐, 일단 디스크가 고장나서 더이상 구동이 되지 않는다면 데이터는 그대로 잃어버리는 것과 동일합니다. 비싼 돈을 들여서 복구 업체를 통해 비트 단위로 복구해내어 데이터를 살려내는 방법은 최후의 방법이며 정상 복구가 된다고 보증하질 못합니다. 반대로 소프트웨어적으로 랜섬웨어등의 악성코드가 데이터를 망가뜨렸다면? 이럴 때에는 스냅샷도 정상 동작하지 않을 가능성이 있고, 극단적이라면 RAID를 깨트리거나 구성을 망가뜨려 하드웨어적으로는 정상인데 데이터를 전혀 접근할 수 없을겁니다. 극단적으로 NAS 자체가 고장이 났습니다. 디스크가 살아 있다면 동일한 NAS 기종을 구해오던가, 상위 기종을 구해와 디스크를 그대로 꼽으면 동작할 가능성이 일말이라도 있겠지만, 만약 정상 동작하질 않는다면? RAID가 깨져버려 더이상 파일에 접근을 못한다면? 끔찍하죠.

비싼 돈 들여서 NAS를 구축해 사용했고, 장애 대응을 위해 RAID를 구성했고, 변경사항을 그때그때 보관하기 위해 스냅샷을 구성했지만, 애초에 NAS의 디스크나 NAS가 고장났거나, 랜섬웨어가 모든 데이터를 망가뜨려버렸다면 내가 보관했던 소중한 데이터들은 모두 망가져서 복구가 불가능합니다.

근데? 마침 고장나기(데이터가 손실되기) 하루, 이틀전, 혹은 당일, 복사본을 만들어둔 USB외장하드가 있습니다. 그러면 그 데이터를 통해 데이터라도 살리고, 추후에 다시 NAS를 구축시켜서 데이터만은 온전히 다시 사용할 수 있게 될 수 있습니다. 그 복사본을 만든 사람은 구세주가 될 것이고, 그 외장하드는 원본 취급되어 스토리지 서버의 복구용도로 사용될 것입니다. 이게 바로 백업입니다.


백업을 그러면 어떻게 해야 하는데?

백업을 어떻게 해야 하는지에 대해 열심히 찾아보면 한번쯤은 볼 수 있는 원칙이라고 하는 글이 있습니다. 3-2-1 원칙이라고 하는데, 인프라적으로는 아주 중요하게 취급하는 원칙입니다. 이에 대해서는 설명이 아주 잘 되어 있긴 해서 찾아보면 이해가 될거지만, 굳이 설명을 한번 더 하면, 3개의 다른 버전을 가진 백업본을, 그중에서 2개는 원본과는 다른 저장소에, 1개는 완벽히 물리적으로 다른 공간에 있어야 한다는 개념입니다.

3개의 버전이라고 하면, 특정 시점이 될 수 도 있고 특정 작업 이후의 파일 버전일 수 도 있는데 만약 데이터가 손실되었을 때 언제쯤 손실되었는지 명확하게 알 수 없으면, 여러가지 버전을 놓고 비교하여 가장 최신의 데이터를, 혹은 가장 필요한 데이터를 가져올 수 있도록 백업에 여러가지 버전을 가지고 있어야 한다는 의미입니다. 우리가 NAS를 사용한다면 보통은 특정 시점으로 반복하여 보관할 것이고, 예시로 하루에 한번씩 백업을 받는다면 3일치 이상을 보관하라는 말입니다. 인프라적으로 최소한 운영 서비스의 DB를 구축했다면 자체적인 백업스캐줄을 만들어 설정해두는데 3일치를 보관하면서 밀어내기식으로 백업을 진행합니다.

그중에서 2개는 원본과 다른 저장소에 보관하라는 의미는, 백업본이 만들어졌는데 그게 같은 볼륨 안에 있다고 한다면 만약 랜섬웨어나 디스크 손상으로 데이터 접근이 불가능할시 이 백업본들도 같이 접근이 불가능하게 되기 때문에 원본과는 완전히 다른 저장소에 보관해서(인프라적으로는 최소한 물리적으로 다른 서버에 보관하는 개념이지만 최소한 같은 볼륨, 같은 디스크 안에는 보관하지 않는것도 허용됩니다), 위와 같은 상황일시에도 백업본을 볼 수 있고 필요시 복구가 가능하도록 하라는 내용입니다.

1개를 완벽히 물리적으로 다른 공간에 있어야 한다는 의미는, 극단적으로 운영 서버, 백업본을 보관하는 공간에 화재가 발생하는 등 불의의 사고로 인해 데이터가 소실되었을때에도 물리적으로 다른 곳에 있는 백업본을 통해 최소한 데이터만은 안전하게 보관하고 필요시 복원할 수 있도록 하라는 의미로, 인프라적 관점으로 백업 서버등을 통해 내려받은 백업 데이터를 LTO 테이프등에 저장해 뒀다가 특정 시점이 되면 이를 소산하는 행위를 하여 대응합니다.

이렇게 백업하는 것이, 전통적으로 가장 안전하고 가장 빠르고 가장 완벽한 백업방법이기에 이 원칙은 과어에 만들어져서 현재까지 유효합니다. 그리고 우리가 보통 사용하는 IT 서비스들은 정말 주먹구구식으로 동작하지 않는다면 모두 위와 같은 행위를 통해 백업을 진행하고 유사시 복원에 사용하고 있습니다.


NAS를 사용하는 개인 기준으로 완벽한 백업은?

위와 같이 전통적이면서 안전하고, 빠른 백업을 하는 방법은, 기껏 가정에서 사용할 NAS 수준에서 하기에는 배보다 배꼽이 더 클 수 있습니다. 이에 보통 NAS 제조사에서 이 욕구를 충족하고자 백업 관련 기능을 별도로 제공해주거나, 이에 대한 솔루션을 제공하는 편인데 보통은 NAS의 백업 기능을 적극적으로 이용하시는것이 제일 간편하면서 안정적입니다. 기능도 다양하게 제공해주는 편입니다.

백업 방법, 기능은 단순히 파일을 그대로 복사하는 하드카피부터, 데이터를 압축하고 블록단위 혹은 파일 정보 단위로 백업을 지원해 변경사항을 보관해 증분백업으로 사용할 수 있습니다. 전자의 경우 어느 시스템에서나 백업본을 볼 수 있고 복구할 수 있지만, 후자의 경우 해당 백업을 진행한 솔루션이나 백업 기능에서만 데이터를 확인 혹은 복구가 가능한 범용성의 차이가 있습니다. 여러가지 버전을 백업하기 위해서는 후자의 방법으로 진행하는것을 추천하나, 당연히 전자의 방법이 가장 취급하기 편합니다.

백업을 위해서는 본인이 사용하는 데이터 량(스토리지 용량이 아닌 현재 보관중인 데이터 량) 보다 큰 미디어를 준비해야 합니다. 당연히 백업을 하기 위해 원본보다는 커야하니까요. 보통의 백업 솔루션이나 NAS의 백업 관련 기능으로 제공되는 백업 방법은 데이터 압축과 중복 데이터의 제거 기능을 제공하며 블록단위 및 메타데이터 백업등으로 원본보다 용량을 더욱 적게 백업해주기 때문에 당장은 데이터량과 비슷한 백업 미디어를 사용하셔도 가능은 합니다만, 어떤 데이터를 보관하냐에 따라 백업시 압축 및 중복 데이터의 정리 효율이 예상보다 낮을 수 있고, 백업 미디어의 용량이 크면 클 수록 여러 버전의 백업본을 담아둘 수 있기에 백업 미디어의 용량을 본인이 가지고 있는 데이터보다는 큰 것을 사용하시는게 좋습니다. 여튼, 본인이 설치한 스토리지 용량이 고용량의 외장하드디스크 단일로 충분히 커버 된다면 가급적 본인이 설치한 스토리지 용량만큼 혹은 더 큰 용량을 담은 외장하드디스크를 구매하여 백업 미디어로 사용하시는게 가장 베스트입니다. 본인의 스토리지 용량이 너무 과도하다면, 일단 데이터 용량 보다는 큰 외장하드등을 백업 미디어로 사용하고, 추후 큰 용량의 외장하드로 백업본을 이전하거나 다른 외장하드를 구매해 새로운 백업본을 생성, 또는 특정 공유폴더 기준으로 나눠 백업을 진행하는 식으로 관리하시면 됩니다.

중요한건 절대 백업본을 NAS 내부에, 혹은 연결하여 보관하시면 안됩니다. 위에서 원칙이라고 하는 부분에서 설명한대로, 취급 부주의 혹은 악성코드등에 의해 연결된 백업본 보관 미디어 혹은 백업본을 보관하는 공유폴더에서 백업본이 손상되거나 삭제될 수 있기 때문입니다. USB 외장하드를 이용하실 경우, 백업본을 생성할 시점에 USB 외장하드를 NAS와 연결하고, 백업 프로세스를 실행시킨 뒤, 완료되면 USB 외장하드의 연결을 분리하는게 가장 좋습니다. 만약 NAS가 한대 더 있다거나, 간이 NAS를 구축할 수 있다면 훌륭한 외부 백업본 저장소로 운영하실 수 있습니다. 특히 NAS가 있는 곳 외에 다른 공간에 이를 구축할 수 있다면, 백업본 버전 관리와 병행하여 백업의 3-2-1 원칙을 그대로 이행할 수 있습니다.


아 모르겠고, 방법을 명확히 알려줘

  1. 현재 NAS만 구축되어 있다면, 일단 무조건 백업을 위한 외장하드디스크를 별도로 구매하시는걸 추천드립니다. 본인이 구축한 NAS의 총 저장공간이 4TB라고 한다면, 4TB이상의 외장하드디스크를 구매하면 좋습니다. 당장 구하기 어렵더라도 백업하는데 문제는 안됩니다. 내 데이터 용량이 총 2TB 수준이라면, 2TB보다 조금 큰 외장하드디스크를 사용하셔도 당장은 무방합니다. 중요한건 일단 내 데이터의 사본을 만드는 것입니다.
  2. NAS의 백업 솔루션, 혹은 백업 관련 프로그램을 설치하거나 외부 솔루션등을 통해 외장하드디스크에 백업본을 생성합니다. 버전관리를 하면 좋으니 증분백업으로 생성합니다. 백업 시간 및 일정이 타이트하다면 가장 좋겠지만, 너무 많은 백업본을 생성하거나 시간을 타이트하게 정할 경우 오히려 과할 수 있기에 보통 하루에 한번, 새벽시간때에 동작하고 최소 3일치의 백업본을 보관할 수 있게 백업 정책을 관리합니다. 본인이 필요하다면 용량이 허락하는 한 늘려도 되며, 대부분의 백업 솔루션들은 늘리더라도 변경사항만 저장되고 데이터 압축과 중복데이터가 정리되는 증분백업을 지원하기 때문에 그만큼 용량을 차지하지는 않으니 늘려도 좋습니다. 본인이 적절하다고 판단되는 선에서 백업을 진행해주시면 됩니다.
  3. 백업본을 생성할 타이밍에 맞게 USB 외장하드를 NAS에 연결합니다. 매번 연결을 끊고 다시 연결하기에는 귀찮으니 백업 관련 팁에 자동으로 USB 외장하드의 연결을 끊었다가 연결했다가 하는 스캐줄등의 설정을 사용하시면 편리합니다. 백업을 진행하는데 있어 USB 외장하드의 용량이 부족하다면, 추가 USB 외장하드를 구매하시어, 기존 USB 외장하드는 특정 공유폴더, 새로 구매한 USB 외장하드는 나머지 공유폴더로 나눠서 백업하시는것도 좋습니다.
  4. 별도의 여유 USB 외장하드가 있거나 한다면 한번씩(일정을 잡고 한달에 한번씩 등) 하드카피 방식의 백업을 돌려 백업본을 받은 다음, 해당 USB 외장하드는 NAS와는 떨어진 공간에 별도로 보관합니다. 물리적으로 떨어져 있으면 있을 수록 좋지만 잃어버리지 않고 손실되지 않도록 보관하는걸 추천드립니다.

여기까지만 하면 개인용도로의 NAS를 사용하는데 있어 큰 문제가 되지 않습니다. 이정도면 백업을 아주 잘 하고 있다고 자부하셔도 됩니다. 왠만한 문제가 발생하더라도 충분히 대응이 가능하실 겁니다.

다만, 조금 더 완벽하게, 인프라적으로 안전하고 자연스럽게 구상하고 싶다고 한다면 아래와 같이 구성을 추천드립니다. 저도 아래와 같이 구상한 상황이니 제가 설정한 상황을 예시로 적어보겠습니다.

  1. NAS에 구축된 스토리지 용량보다 큰 용량으로 구성된 별도 NAS나, 간이 NAS의 rsync 프로토콜을 사용해 원격지 백업 환경을 구축합니다. 원격지는 물리적으로 완전히 떨어진 곳이면 가장 이상적입니다. 저는 본가에 공유기에 USB 외장하드를 연결하고 간이 NAS 기능의 rsync 프로토콜을 활성화시켜두었습니다. 지도상 거리로 대충 80KM정도 떨어진 위치입니다. 연결된 USB 외장하드는 12TB이며, 제 NAS 기준으로 총 16TB수준의 스토리지 용량을 가지지만, 당장은 데이터 백업할 용량이 약 4TB 수준입니다. 그마저도 백업 완료 후 압축된 결과물은 약 2TB 미만이여서 충분하다 판단중이지만 조금 더 욕심을 내볼까 싶습니다. 또는 추후에 가족중에 형이 사용하는 NAS를 원격지에 구성해서 해당 NAS를 통해 완벽히 백업을 하는 방안도 구상중입니다.
  2. NAS의 백업 솔루션 및 백업 관련 프로그램, 외부 솔루션등으로 1에서 구축한 원격지 백업 저장소를 연결하고, 증분백업을 진행합니다. 백업은 매일 새벽 0시경에 진행되고, 일주일동안은 계속 보관, 이후 2달까지는 1주간 보관, 이후 1년간은 한달 단위로 보관하도록 설정하였습니다.
  3. 별도 남는 외장하드를 통해서 중요하다고 판단되는 데이터는 별도로 직접 하드카피하여 NAS와는 조금 떨어져 있지만, 같은 집 안에 보관합니다. 꼭 스캐줄을 걸거나 하지는 않았지만 중요하게 보관하는 파일들은 NAS가 연결되지 않더라도 바로 사용할 수 있게 관리하고자 했습니다. 물론 꼭 필요하지는 않습니다.
  4. 사진, 북스캔과 같은 보관하다 필요시 읽기만 하며 수정되지 않는 자료들 중 중요하다고 판단되는 자료들은 공 CD, 공 DVD, 공 블루레이 미디어를 통해 복사본을 만들어 창고와 같은 곳에 보관합니다. 혹여나 백업지의 데이터와 원본 데이터가 동시에 파괴되더라도 제 기준 가장 중요하다고 판단되는 데이터를 여전히 보관하고 필요시 복구할 수 있게 하기 위함입니다. 물론 이 미디어들이 데이터를 보관하는데 적절하지는 않을 수 는 있지만 뭐라도 한 벌 더 복사 되고, 하드디스크와 다른 형태의 미디어로 보관하는것은 중요합니다.

아 백업을 꼭 해야 해?

사실 원론적으로 백업을 굳이 해야 하는가는 조금 다른 문제일 수 도 있습니다. 저처럼 NAS가 제 데이터의 가장 종착지이며, 필요시 꺼내쓰는 용도라면 당연히 백업은 필수이지만, 그게 아니고 NAS 자체가 백업용도라면 그 상황은 달라집니다. 원본이 NAS가 아니니까요. 다시말하면 NAS를 백업 미디어로 활용하실 수 있습니다. PC에 있는 데이터가 원본이고 이를 보관하는 용도로 NAS를 사용할 때 위의 백업 정책을 적용하면 사실상 백업본을 위한 백업을 하는것과 마찬가지니까요. 역시 중요한건 본인의 NAS 사용 용도입니다. 위에서 설명한대로 NAS를 백업하는 용도로 사용한다면, 필요없습니다. 백업용도로 NAS를 잘 사용한다면 훌륭한 3-2-1을 준수하는 백업 공간이 되니까요. 하지만, 그것만을 위해서 NAS를 도입하지는 않았을 거란건 잘 알고 있습니다. 그렇다면 백업을 꼭 하시는걸 추천드립니다.

백업 미디어로 쓸 외장하드가 비싸서 백업을 망설이고 있다면, 당장 디스크가 FAIL이 떠서 동작하지 않게 되었을때 데이터 복구 비용은 상상을 초월합니다. 경우에 따라서는 데이터를 복구하고 싶은데, 그 복구 비용 때문에 데이터를 포기할 수 도 있습니다. 그럴때에 가서 고작 N0만원 언저리로 살 수 있는 외장하드를 보고 ‘아 저걸 사서 백업해놓을껄’ 이라고 후회해봤자 소용 없습니다. 즉 현재 구성한 상황에서 조금만 돈을 더 투자한다면 충분한 용량의 백업 미디어를 구할 수 있으니, NAS에 본인의 중요한 데이터가 담겼다고 생각하면 꼭 고려해보시는게 좋습니다. 내가 구축한 NAS의 용량이 너무 크고 내가 보관하는 데이터가 너무 많아서 망설이신다면, 앞에서 고용량 하드디스크를 사용할때의 주의점과 마찬가지로, 그게 꼭 내가 필요한 데이터가 맞는지, 꼭 보관해야 하는 데이터가 맞는지를 다시한번 고려해보세요. 모든 사용자들이 그렇지는 않겠지만, 불법 다운로드 한 영상물이라던가, 내가 가지고 있으면 안되는 자료들, 언젠간 내가 쓰겠노라 하고 저장했지만 2~3년째 방치중인 데이터들은 사실 백업해야할 필요가, 애초에 저장해둘 필요가 있지 않을 수 도 있습니다. 그것들을 정리한다면 개인 용도로 필요한 데이터 량은 많지 않을겁니다.

백업의 중요성은 계속 강조해도 부족함이 없으니 본인의 데이터가 소중하다면 꼭 하시는걸 권장합니다.

NAS를 도입할지말지 고민이라면 일단 읽어보세요 – (1) 서론. – Minny’s Blog

Views: 373

1 thought on “NAS를 도입할지말지 고민이라면 일단 읽어보세요 – (7) 백업 정책”

Leave a Comment