말똥이의 블로그

시놀로지 나스 ext4에서 btrfs로 변환하기 본문

IT/NAS

시놀로지 나스 ext4에서 btrfs로 변환하기

ryush00 2019. 4. 3. 10:35

드디어 시놀로지 나스가 도착했습니다. 핵노롤지에서 SHR로 붙여 쓰던 하드 두개를 겨우 붙이긴 붙였는데, 파일 시스템를 보니까 ext4더군요. ext4는 리눅스에서 평범하게 볼 수 있는 파일 시스템이긴 한데, 시놀로지에서 최근에 밀고 있는건 btrfs라는 파일 확장자이라서 흥미가 생겼습니다. 아 참고로 btrfs는 Butter file system의 줄임말입니다.

btrfs는 성능은 약간 떨어질수도 있지만, 데이터 정합성이 우수하고 도커를 쓸수 있다는 장점이 있습니다. 그리고 데이터 스냅샷 기능이 파일 시스템 자체에 내장되어 있어서 예전 시점으로 돌아가는게 바로 가능합니다. 즉, 증본 백업에 아주 유용합니다.

문제는 ext4에서 btrfs로 변환하는게 쉬운 일이 아니라는 겁니다. 버튼 한번만 누르면 자동으로 이전 작업을 진행해주면 정말 좋겠지만....

주의사항

필자는 SHR로 묶인 두개의 하드를 이용합니다. 만약 본인의 나스가 1-bay짜리라면 외장 하드를 구매해서 연결하든지 해서 데이터를 옮기는 작업을 진행해주셔야 합니다.

아래 작업을 따라하다가 데이터가 망실되어도 책임은 본인에게 있습니다. 항상 중요한 데이터는 따로 백업해 주세요.

1. 데이터 백업

아무리 우리가 신중하게 작업해도, 명령어 하나 잘못 입력하면 날라갈 수 있는 게 데이터입니다. 중요한 데이터는 따로 저장해주세요. 필자의 경우 구글 드라이브 유료 플랜을 구매해서 Cloud Sync를 이용해서 사진을 복사한 후 작업을 시작했습니다.

2. RAID 깨기

하드디스크 한개의 RAID를 풀어준 후, 하드를 btrfs로 변환해야 합니다. RAID를 깨기 위해서 하드디스크 하나를 물리적으로 잠시 뽑아주세요. 하드가 하나 사라지니 디스크 성능 저하라면서 삑삑거리고 난리를 치지만, 무시하고 재부팅을 해주세요. 재부팅을 하지 않게되면 하드디스크를 다시 넣는 순간 디스크 리빌딩을 시작합니다. 리빌딩이 시작되면 RAID가 제대로 깨지지 않습니다.

재부팅 후에도 계속 삑삑거릴탠데, 제어판에서 음소거가 가능합니다. 시끄럽다면 음소거해주세요.

재부팅이 끝났다면 하드디스크를 넣어주세요. 그리고 새로 넣은 하드디스크 데이터를 날린 후 새로 스토리지 풀을 만들어주세요. 필자는 SHR로 설정하기 위해서 좀더 유연한 설정으로 골랐습니다. 스토리지 풀을 만든 후 볼륨도 btrfs로 생성하세요.

3. 데이터 옮기기

미친듯이 지루한 작업입니다. 공유 폴더 설정에서 위치를 변경해주면 자동으로 데이터를 이전시켜주는데, 많은 인내심이 필요한 작업입니다. 한숨 주무시고 오세요.

4. 볼륨 확장하기

이제 새로 만든 btrfs 드라이브에 모든 데이터가 옮겨졌습니다. ext4 드라이브를 삭제하고 btrfs 드라이브에서 볼륨 확장하기를 눌러서 RAID를 구성하시면 됩니다. 이 작업도 데이터 옮기기만큼이나 오랜 시간이 소요되지만, 믿고 기다리셔야 합니다.

이제 ext4가 btrfs로 바뀌었습니다!

 

 

 

3 Comments
  • 프로필사진 guest 2019.07.25 14:19 안녕하세요
    저 역시 Ext4에서 Btrfs 변경을 하는 방법을 찾던 중 이해가 안되는 부분이 있어서 문의 드립니다.
    전 4TB * 8 베이로 현재 16.1/25.3TB 사용 중이며 스토리지 풀 구성은 shr/ext4 단일 볼륨 구성 입니다. 뭐 용량이 크다보니 전체 백업이 사실상 어려운 부분이 있습니다.
    작성자님의 글에서 raid를 깨는 부분이 잘 이해가 안되는게 스토리지풀 SHR(Synology Hybrid RAID) 모드에서 물리적으로 디스크를 하나를 뽑고 그 자리에 새로운 HDD 장착을 할 경우 예를 들면 4TB HDD 제거를 하였으니 기존 스토리지 형태가 16.1/25.3TB에서 16.1/21.3TB 스토리지가 축소 되면서 정상 작동을하는건가요?
    그렇다면 제거한 공간에 신규 새 HDD 장착을 하여 신규 HDD를 Btrfs 볼륨2으로 스토리지 생성을하여 신규로 추가한 Btrfs 볼륨 4TB 공간으로 기존의 볼륨1에서 4TB 데이터를 신규 볼륨2에 옮기는 작업을 하고....
    전송이 끝나면 다시 기존 볼륨1의 디스크를 추가적으로 뽑아서 볼륨 축소되어...
    최종적으로는 초기 16.1/25.3TB 상황에서 4TB를 볼륨2로 데이터 이동을 하였기에 16.1 ->12.1이 되고
    HDD를 추가 탈착을 하여 총 2개의 HDD가 탈착 되었기에 처음 25.3TB -> 21.3TB->17.3TB으로 변경 되어
    12.1/17.3TB가 되고 Btrfs 볼륨2에 추가 HDD 장착을 하여 4/8TB 확장되고...
    확장된 4TB의 공간 만큼 다시 볼륨1에서 볼륨2로 복사를 반복하여....
    최종적으로 봄륨1의 데이터를 모두 Btrfs 볼륨2로 전환하여 볼륨1을 없애는 형태가 되는것인가요?
    그럴경우 기존 8개의 디스크 중에서 1개의 디스크가 패리티 디스크 일텐데....
    이럴 경우 어느 순간에 나스에서 알아서 패리티 디스크를 볼륨2를 생성하게 되는지를 모르겠네요
  • 프로필사진 ryush00 2019.08.16 14:59 신고 제 경우는 옮길 데이터 용량이 비교적 적어서 이런 방법을 사용한 것이고, 방문자님께서는 데이터가 상당히 많아보이는데, 외장 하드나 구글 드라이브등에 임시로 저장한 후에 이전하는 것이 안전하다고 생각됩니다.. 데이터 옮기는 작업이 저렇게 복잡하면 실수가 생기거든요..
  • 프로필사진 아이둘스타 2019.09.21 22:04 가이드 감사합니다. 2베이 모델에서 RAID 1/SHR을 깨기 위해 2번째 하드를 제거했다가 재삽입하고 볼륨 생성했더니 Volume 2가 되어서 공유 폴더 이동 작업을 2번 했네요. 어쨌든 파일이 유지된 상태로 파일 시스템을 변경할 수 있어서 다행이었습니다.
댓글쓰기 폼