Sign in to follow this  
LetITgo

XPEnology 데이터 저장소 용량 확장하기

Recommended Posts

오늘은 XPEnology의 용량 확장하는 것에 대해서 이야기 해보려고 합니다.

 

용량을 확장한다는 것은 하드디스크를 추가하면 된다고 생각하실 수 있는데,

일반 윈도우 PC의 경우 기본적으로 디스크를 독립적으로로 보기 때문에, HDD를 연결하면 초기화 하라고 하고 새로운 드라이브 이름을 생성해서 독립되게 사용하는게 보통입니다.

(물론 NTFS 폴더 연결 같은 방법도 있긴 합니다만...)

 

하지만, XPEnology와 같은 NAS 시스템은 디스크를 그룹으로 묶는것을 기본으로 하기 때문에...

디스크를 추가하여 연결할때 디스크 관리자에서 자동으로 SHR 볼륨으로 생성하시겠습니까? 하면서... 예! 예~ 하다 보면...

RAID-1 미러링으로 구성되어 용량이 늘어나지 않는 상황에 당황하기도 합니다.

 

그래서 처음 셋팅할때 어떤식으로 용량 확장을 할지 염두에 두고 볼륨을 만들어 준비를 해 놓아야 합니다.

 

 

볼륨을 생성하는 방법은 두가지 방법이 있습니다.

 

1. '디스크 그룹'을 생성해서 여기에 여러대의 하드디스크를 추가하여 해당 그룹으로 부터 볼륨을 생성합니다.

- 즉 디스크 그룹은 여러대의 하드를 묶어서 넓은 공간을 만들고, 거기에서 부터 쪼개서 볼륨을 생성할 수 있게 해주는 개념입니다.

 

2. 볼륨을 생성해서 한대의 하드디스크로 부터 볼륨을 생성합니다.

- 즉 볼륨은 하드의 파티션 같은 개념이라고 보시면 됩니다.

 

그런데 추후 용량을 확장할때 위의 두가지 경우 확장 방법이 조금 다릅니다.

 

 

첫번째, 디스크 그룹을 생성한 경우는 보통 SHR 방식(Synology Hybrid Raid)으로 디스크를 초기화 합니다.

이 SHR이 어떤 잇점이 있는지 시놀로지에서 제공하는 페이지 링크를 대신합니다. https://www.synology.com/ko-kr/knowledg ... orials/492

 

결국 디스크 그룹을 용량 확장하기 위해서 SHR 방식의 디스크 그룹에서 기존 하드를 더 큰 용량으로 바꾸는 방식을 이용하는 것입니다.

일반적인 RAID 방식의 디스크 그룹은, 모든 하드를 같은 용량으로 교체하기 전에는 용량이 늘어나지 않습니다.

반면 SHR 방식의 디스크 그룹은, 하나의 하드디스크를 큰 용량으로 교체하더라도 늘어난 용량을 쓸 수 있는 것입니다.

 

1개의 디스크로 SHR 볼륨을 생성해 놓은 상태에서 1개의 디스크를 SHR 볼륨에 추가할 경우 RAID-1 방식으로 디스크 오류를 해결할수 있게 머리링이 구성됩니다.

여기에 1개의 디스크를 추가해서 SHR볼륨에 포함시켜 3개의 디스크로 구성되면 이제야 비로소 용량 확장이 이루어 집니다. 이후부터는 디스크를 추가하는 족족 용량이 늘어납니다.

그리고 기존 디스크를 더 큰용량으로 교체할 경우에도 SHR 방식은 용량이 늘어납니다.

 

 

두번째, 하드디스크를 그룹으로 묶지 않고 단일 하드로 볼륨을 생성하고 쓰고 있다면...

그냥 윈도우 처럼 하드 추가해서 초기화 한 다음 또다른 볼륨을 생성해서 사용하면 됩니다.

그렇게 되면 용량을 늘어나게 할 수는 있지만, 장애 발생시 디스크 오류를 해결할 수 없는 저장소가 되는 것 입니다.

 

 

자, 그럼 좀 더 자세하게 실제 HDD를 교체할때 어떤 어려움이 있는지 살펴봅시다.

 

2대 이상의 하드디스크로 SHR 방식의 디스크 그룹을 생성한 경우 데이터를 그대로 보존하면서 더 큰 용량의 HDD로 교체하는 것은 다음과 같습니다.

 

1. 기존의 하드디스크 그룹의 HDD를 제거하고 그 보다 큰 용량의 HDD로 교체한뒤 전원을 켭니다.

2. 저장소 관리자에 가보면 시스템은 새로운 하드디스크를 인식하고, 기존 하드가 제거된 것을 인식하여 큰 용량에 맞게 SHR로 구성된 저장소를 자동 확장합니다,

만약 자동확장 되지 않으면 저장소 관리자에서 수동으로 확장 버튼을 눌러주면 reshape 작업을 합니다.

reshape 란 기존 하드디스크 그룹의 데이터를 새 하드디스크로 복사하여 SHR방식으로 모양을 만드는 겁니다.

3. reshape가 짧게는 2~3일, 일주일 까지도 걸릴 수 있는데, 속도를 비약적으로 늘리기 위해서 root권한으로 다음의 명령어를 사용합니다. 그럼 하루안에 끝낼 수 있습니다.

 

echo 50000 > /proc/sys/dev/raid/speed_limit_min
echo 16384 > /sys/block/md2/md/stripe_cache_size

 

위 두 항목이 사실 이 글의 핵심입니다. 위 두 항목은 Out-of-box Synology 에서는 모델에 따라 각각 1000 과 512, 또는 10000과 4096 으로 되어있습니다.

이것 때문에 초당 10메가도 처리가 되지 않아서 오래 걸리고 고생 많이 합니다. 일종의 제한을 풀어주고 버퍼를 늘려줘서 속도를 빠르게 하는 거라고 생각하시면 됩니다.

 

얼마나 진행중인지, 언제 완료 예정인지 상태를 확인하기 위해서는 ssh나 콘솔에 접속해서 다음의 명령을 내리면 확인이 가능합니다.

 

cat /proc/mdstat

 

그럼 다음과 같이 진행 상황을 확인할 수 있습니다.

DiskStation> cat /proc/mdstat

Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]

md2 : active raid5 sde5[4] sdd5[3] sdc5[2] sdb5[1] sda5[0]

2925531648 blocks super 1.2 level 5, 64k chunk, algorithm 2 [5/5] [uUUUU]

[====>................] reshape = 21.0% (614874240/2925531648) finish=4680.6min speed=8227K/sec

 

 

 

그런데 용량을 증설하려고 보니, 기존의 디스크 그룹 구성이 마음에 들지 않거나 해서 새롭게 설계를 하려면 다음과 같이 해야 합니다.

 

1. 데이터를 다른 공간에 백업한다

2. 기존의 디스크 그룹이나 볼륨을 삭제한다.

3. 남는 HDD slot에 하드를 추가하거나, 기존의 HDD보다 큰 용량의 HDD로 교체한다.

4. 새로운 HDD들로 디스크 그룹이나 볼륨을 새로 구성한다.

5. 백업받은 데이터를 다시 복사한다.

 

방법이랄것도 없습니다. 데이터를 백업후 디스크 저장공간을 전부 제거하고 새로 구성한뒤 자료를 복구하는 겁니다.

 

 

 

만약 SHR과 같은 방식의 용량 확장 말고, 용량 추가만을 생각하고 계신다면... 추가할 하드디스크를 여분의 슬롯에 추가한뒤

 

디스크 관리자로 가서 새로 추가된 하드로 볼륨을 SHR방식으로 자동 추가하게 하지 말고, 수동 으로 단일 볼륨을 선택하여 추가적인 저장 위치를 만들면 됩니다.

 

2ab62761899bea3493b760711ae08d4b.png

 

 

 

이처럼 데이터 저장소 용량을 확장하는데 있어서 SHR가 능력을 발휘할 수 있는 최상의 상황은 3베이 이상 제품에 용량이 다른 하드들을 조합해 이용할 때 입니다.

 

또한 레이드 조합방식이나 용량관리 역시 SHR을 이용하면 하드를 추가하거나 용량을 확장할 때 기존 볼륨에 용량을 간단하게 추가시킬 수도 있습니다.

 

 

 

다음에는 디스크 관리의 끝판왕인 BTRFS와 ZFS에 대해서 글을 써볼까 합니다.

 

시놀로지에서는 BTRFS를 이용한 신제품을 출시한 상황이고, XPEnology 에서는 해당 기능을 XPEnology 에서도 사용할 수 있는 방법을 찾고 있는것 같습니다.

 

현재는 XPEnology에서 기능을 활성화 시켜서 사용할 수 있긴 한대, 부팅때 volume이 크래쉬 되어 수동으로 잡아 줘야만 해서, 반쪽만 가능한 상태입니다.

 

 

리눅스 진영이 밀고 있는 BTRFS은 사실 솔라리스에서 시작된 ZFS를 본따서 만든 것입니다.

 

대표적으로 FreeNAS가 FeeBSD기반에서 제공되는 ZFS를 가지고 시스템이 운영되고 있는데, 저도 10TB 짜리 박스에 24GB 메모리를 달아서 잘 활용하고 있습니다.

 

BTRFS나 ZFS의 snapshot 백업은 뭔지, RAID5,6의 white hole이 뭔지, ZFS는 왜 1TB 용량마다 1GB의 메모리가 필요한지 등에 대해서 실전 경험을 나눠 보려고 합니다.

 

BTRFS나 ZFS가 그렇게 강력함에도 불구하고 왜 XPEnology의 SHR을 사용하는 것에 대해서도 이야기를 나눠 볼까 합니다.

 

 

이 글이 도움이 되었으면 합니다.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this