지난 편에서 5년쯤 쓰던 NAS가 켜지지 않게 된 이야기를 적었습니다. 기기는 포기했지만 안에 들어 있는 데이터는 포기가 안 됐습니다. 디스크 자체는 고장 난 게 아니었으니까요.
그래서 디스크를 빼서 윈도우 PC에 연결했습니다. 외장하드처럼 열리기를 기대했습니다.
열리지 않았습니다.
디스크 관리 화면에서 4TB짜리 디스크가 RAW라는 상태로 잡혀 있었습니다. 그리고 잠시 뒤 팝업이 하나 떴습니다.
드라이브를 사용하려면 포맷해야 합니다. 지금 포맷하시겠습니까?
이 버튼을 누르면 안 됩니다.
RAW는 비어 있다는 뜻이 아닙니다
윈도우가 RAW라고 표시하는 건 “이 디스크가 비어 있다”는 뜻이 아닙니다. “내가 읽을 수 있는 형식이 아니다”라는 뜻입니다.
윈도우는 NTFS, exFAT, FAT32 정도를 읽습니다. 시놀로지는 리눅스 기반이라 Btrfs나 ext4로 저장합니다. 윈도우 입장에서는 처음 보는 형식이니 해석을 포기하고 RAW로 표시합니다.
데이터는 그 안에 그대로 있습니다. 읽는 쪽이 형식을 모를 뿐입니다.
한글로 쓰인 책을 한글 모르는 사람에게 보여주는 것과 비슷합니다. 책이 비어 있는 게 아니라 읽는 사람이 글자를 모르는 겁니다. 그런데 윈도우는 여기서 한 발 더 나갑니다. “이 책 안 읽히는데 새 공책으로 만들어 드릴까요”라고 묻습니다. 그게 포맷 팝업입니다.
포맷을 누르면 무슨 일이 일어나나
포맷은 디스크를 윈도우가 읽을 수 있는 형식으로 새로 만드는 작업입니다. 기존 구조를 지우고 그 위에 새 구조를 씁니다.
빠른 포맷이라면 실제 데이터 영역을 전부 지우지는 않습니다. 그래서 이론적으로는 복구 여지가 남습니다. 하지만 파일이 어디에 어떤 이름으로 있는지 적어둔 정보가 날아갑니다. 파일 조각은 남아 있어도 그게 어떤 파일의 어느 부분인지 알 수 없게 됩니다.
사진 몇 장을 이름 없이 건지는 것과, 폴더 구조 그대로 되찾는 것은 전혀 다른 이야기입니다.
포맷 말고도 누르면 안 되는 것들이 있습니다
포맷만 조심하면 되는 줄 알았는데 아니었습니다. 윈도우는 여러 방식으로 “고쳐주겠다”고 제안하고, 그중 상당수가 디스크에 뭔가를 씁니다.
| 하면 안 되는 것 | 왜 위험한가 |
|---|---|
| 포맷 | 파일 위치 정보가 사라진다 |
| 디스크 초기화(Initialize) | 새 파티션 테이블을 덮어쓴다. 어디부터 데이터인지 알 수 없게 된다 |
| chkdsk 실행 | 윈도우 기준으로 “고치면서” 리눅스 구조를 망가뜨린다 |
| 파티션 복구 툴로 자동 수정 | 도구가 NTFS라고 가정하고 고치면 되돌리기 어렵다 |
| 드라이브 문자 할당 후 아무 작업 | 쓰기가 한 번이라도 일어나면 그만큼 덮인다 |
원칙은 하나입니다. 살리고 싶은 디스크에는 아무것도 덮어 쓰면 안됩니다.
시놀로지는 데이터를 여러 겹으로 싸둡니다
여기서 왜 이렇게까지 안 열리는지 알게 됐습니다. 시놀로지는 파일을 그냥 디스크에 얹어두지 않습니다. 여러 층으로 쌓아둡니다.
아래에서 위로 이렇게 됩니다.
- mdadm RAID — 디스크 여러 개를 하나처럼 묶는 층입니다. 디스크가 하나뿐이어도 이 구조로 만들어져 있는 경우가 많습니다.
- LVM — 묶인 공간을 유연하게 쪼개 쓰는 층입니다. 시놀로지의 SHR 방식이 이걸 씁니다.
- Btrfs 또는 ext4 — 실제 파일이 저장되는 파일 시스템입니다.
윈도우는 이 층들을 하나도 모릅니다. 맨 아래층부터 막히니 위로 올라갈 수가 없습니다.
그리고 이게 일반 외장하드와 결정적으로 다른 점입니다. 외장하드는 파일 시스템 한 겹이라 다른 컴퓨터에 꽂으면 대체로 열립니다. NAS 디스크는 여러 겹을 순서대로 풀어야 열립니다.
그래서 리눅스가 필요하다는 걸 알았습니다.
이 층들을 풀려면 그 층들을 아는 운영체제가 필요합니다. 리눅스입니다.
윈도우용으로 나온 리눅스 파일시스템 읽기 도구들도 있습니다. 저도 먼저 그쪽을 찾아봤습니다. 다만 mdadm과 LVM까지 거슬러 올라가는 경우에는 한계가 있어서, 결국 리눅스로 부팅해서 접근하는 쪽으로 방향을 잡았습니다.
여기서부터가 진짜 시작이었습니다. 그리고 저는 여기서 실패했습니다. 그 과정은 다음 편에서 적겠습니다.
디스크를 뽑기 전에 해두면 좋은 것
제가 나중에 아쉬웠던 것들입니다. 별것 아닌데 해두면 확실히 편합니다.
- 어느 슬롯에 있던 디스크인지 표시해 둡니다. 마스킹 테이프에 1, 2라고 적어 붙이면 됩니다. 여러 디스크를 다룰 때 순서가 헷갈리면 조립이 꼬입니다.
- 디스크 모델명과 일련번호를 적어둡니다. 나중에 검색할 때 씁니다.
- 연결한 상태의 화면을 캡처해 둡니다. 디스크 관리 화면, 오류 메시지 전부요. 나중에 물어볼 때 이게 가장 정확한 자료가 됩니다.
마지막 항목은 특히 그렇습니다. 저는 캡처를 남겨둔 덕분에 나중에 상황을 설명하기가 훨씬 수월했습니다.
정리
- RAW는 비어 있다는 뜻이 아니라 윈도우가 형식을 모른다는 뜻입니다. 데이터는 그대로 있습니다.
- 포맷·초기화·chkdsk는 전부 디스크에 쓰기를 합니다. 살릴 생각이라면 아무것도 쓰지 않습니다.
- 시놀로지는 RAID·LVM·파일시스템 여러 층으로 저장합니다. 윈도우는 맨 아래층부터 못 읽습니다.
- 꺼내려면 리눅스가 필요합니다.
- 디스크를 뽑을 때 슬롯 번호를 표시하고, 화면은 전부 캡처해 두시기 바랍니다.