Creatz/업무 외
NAS 설치
sysout.초코우유
2020. 3. 11. 22:56
업무에서 큰 용량의 데이터를 공유할 일이 많이 생겨, 팀 전용 서버를 하나 마련하기로 했다.
작은 팀이어서 서버를 전담할 인력을 붙일 수는 없고, 더군다나 서버와 통신이 많이 일어나는 환경이 아닐 것이었으므로 그냥 내가 초기화 및 세팅하는 방법을 조금 공부하여 설치하고, 틈틈이 모니터링하면서 문제가 생기지 않는 정도로 관리하면 될 것으로 합의하였다.
- HW spec
- 회사에서 기존에 사용하는 것과 같은 Synology DS918+을 NAS로 사용한다.
- 경제적인 이슈로 HDD는 WD mybook 8T 외장하드에서 적출하기로 했다.
- 물리적 설치
- 외장하드를 적출한다.
- 헤라(플라스틱 주걱)나 안쓰는 신용카드 등을 이용해서 틈새를 벌려 주고, 케이스와 봄 부품이 빠져나올 것 같은 방향으로 조금씩 밀어준다. 잘 모르겠다면 youtube를 적극 활용하자. 물론 그래도 잘 모르겠어서 막 뜯었더니 두 번째부터는 조금 수월해졌다.
- 케이스를 뜯고 나서 하드를 분리할 때 육각 별모양 드라이버가 필요했다. 렌치로도 가능할 것 같았지만 왠만하면 비트를 갈아끼는 드라이버가 있는 게 좋을 것 같다.
- 다음에 또 이럴 일이 있다면 mybook보다는 easystore나 elements쪽으로 사는 게 나은 것 같다. mybook케이스는 뭔가 갑옷같다.
- easystore는 elements의 베스트바이 버전이라고 하는 것 같다. 디자인이 거의 같으나 easystore가 더 싼 편이라고 한다. 물론 한국 쇼핑몰에서 사면 배송비용 등등이 포함되어 거의 비슷하다.
- 적출 후에는 혹시 모를 수리, 보증, 외장하드로의 재사용 등을 위해 부품을 모아두었다
- bay에 적출한 하드디스크를 하나씩 마운트한다. 나사를 조으는 곳에 플라스틱 가드가 붙어 있으므로 적절히 제거하고 마운트하면 된다.
- 서버용 HDD는 소모품*이라고 생각해야 하기 때문에, 마운트한 날짜와, 어떤 베이에 마운트했는지의 번호를 기입하여 붙여둔다.
- 서버 구축이 처음인 나로서는 문제가 생기면 안그래도 당황스러운데 베이에서 꺼낸 하드가 다 똑같이 생겨 멘붕에 빠질 것만 같기 때문에 라벨을 붙여 둬야 나중에 문제가 생겼을 때 어느 하드에 문제가 생겨서 복구해야 하는지 등에 대해 당황하지 않을 수 있을 것 같다.
- * HDD의 불량률은, 대부분의 사람들이 보는 Backblaze의 자료를 보면 알 수 있다.
1년 내에 문제가 생기는 비율을 나타낸 Annual Failure Rate를 보면 되고, 대략 요약하면
HGST(히타치)의 불량률이 약 1%미만, WD의 불량률이 2%안팎, Seagate는 1~3%정도이다.
failure가 2%남짓이면, 4bays nas를 사용하면, 1년 내에 하나 이상이 고장날 확률이 8%남짓,
8년쯤 되면 고장날 확률이 50%쯤 된다.
(생각보다 튼튼한데? 하지만 서버는 문제 생기면 일이 커진다)
Toshiba도 사용하지만, 큰 용량은 시게이트나 히타치를 사용한다.
물론 그럼에도 Backblaze는 Seagate를 사용하는 비율이 월등히 높았다.
큰 용량에서는 오히려 Seagate의 하드가 더 AFR이 낮기도 했다.
그럼에도 불구하고 WD를 사용한 이유는(이 시국에 히타치? 도시바?)
과거에 Seagate의 불량률이 너무 높았던 데 대한 안좋은 인식이 여전히 있고
WD를 적출하는 방법에 대해서는 reference가 많았기 때문이다.
- * HDD의 불량률은, 대부분의 사람들이 보는 Backblaze의 자료를 보면 알 수 있다.
- 외장하드를 적출한다.
- OS설치 및 기본 세팅
- NAS를 하루 정도 짱박아둬도 괜찮을 법한 장소에서 작업을 시작하자. 웬만하면 최종 설치할 곳 근처에서.
- OS를 설치하는 데 드는 시간은 길지 않으나, 설치 직후 RAID설정에 따라 parity check라는 일종의 검사를 하게 된다. Synology NAS는 os가 올라가있고 cup, ram이 있기 때문에 pc와 유사하다고 생각할 수 있고, 안정적으로 종료하기만 한다면, parity check중에도 종료했다 키면 알아서 잘 이어서 검사하긴 하지만, 왠지 찜찜하다면 세팅 후 검사가 끝날때까지 전원을 내리지 않고 둬야 하기 때문,
- NAS에 전원과 랜선을 연결하자.
- 일반적으로는 공유기에서 나온 랜선을 연결하고 작업을 위한 컴퓨터는 같은 공유기로부터 유선 또는 무선으로 연결하면 된다.
- 이후 전원을 키고, 마운트한 hd drive를 모두 인식할때까지 잠시 기다리자. 2분정도 걸린 것 같다.
- NAS에 연결할 랜포트는 두 개가 있었는데 어디 연결해도 상관없는 듯 하다. 그래도 특별한 이유가 없다면 1번에 연결하는게...
- NAS에 DSM이라는 Synology전용 OS를 설치한다.
- find.synology.com에 접속하면 방금 부팅한 NAS가 자동으로 검색된다. (안된다면 역시 구글링)
- os설치는 금방 되는 편.
- 기본 계정 및 폴더 설정
- 관리자 계정 설정에서 NAS 서버 이름과 사용자 계정 및 비밀번호 설정을 하자. 이후에도 수정 항목이 있는 것으로 보아 이후에도 수정할 수 있는 것 같다.
- 퀵커넥트 설정을 할 지도 처음에 물어본다. DDNS같은 거라고 생각하면 될 듯 하다. 설정했다가 비활성화했다. 외부의 공격에 얼마나 취약할지 등에 대한 지식이 많지 않아서, 외부 접속을 최대한 제한하는 방향으로 설정하기로 해서.
- 사내 네트워크에서도 포트포워딩할 때 외부접근 포트를 5000번이 아닌 다른 포트로 지정하였다. 시놀로지의 기본 포트가 5000번이고 외부에서 랜덤 공격 시도를 할 때도 5000번을 기본으로 한다는 말이 있어서. 사실 그것보다도 하드에 오류가 생겼을 때 어떻게 대처해야 안전한지를 고민하는 게 더 필요할 것 같긴 하다.
- 설치한 하드를 적당한 RAID로 초기화한다. 보통은 RAID 0, 1, 5, 6, 10, 01중에 하나를 선택하는 것 같다.
- 간단히 서술하면
- RAID0: 오류 검출 기능 없이 디스크를 병렬로 묶는다. 설치한 디스크의 용량 전체를 저장공간으로 사용한다. 자료는 각 디스크에 N등분되어 저장된다. 다만 하나의 실패는 N등분된 모든 어레이의 실패가 되고, 미러링이나 패리티 확인 등의 절처가 없으므로 별도 백업이 없다면 복구할 수 없다.
- RAID1: 두 개의 디스크를 하나로 묶어 같은 데이터를 저장한다(미러링). 설치한 디스크 전체 용량의 절반만을 저장공간으로 사용할 수 있다(나머지 절반은, 백업용 COPY라고 생각하면 된다).
- RAID5: 패리티 검사(오류 검사)기능을 추가하여 디스크를 묶는다. 각 디스크의 일정 공간을 나머지 디스크 정보의 오류를 체크하는 공간으로 사용한다. 오류 체크를 해야 하므로 읽기/쓰기 성능에 영향을 주지만, 안정성을 확보하면서 꽤 많은 공간을 저장공간으로 쓸 수 있다는 장점이 있다. N개의 같은 용량 디스크가 있을 때 N-1만큼의 공간을 저장공간으로 사용한다.
- 조금 설명을 덧붙이면 아래 그림과 같다. 각 _p공간을 _n어레이들의 패리티 검사 공간으로 활용하는 것.
(seagate nas os사용설명서 페이지에서 가져옴)
- RAID6: RAID5에서 패리티 검사 공간을 2배로 사용한다. N개의 디스크 중 N-2개 만큼의 공간을 저장공간으로 사용한다.
- RAID10: RAID1로 미러링한 디스크를 다시 RAID0으로 묶는다.
- RAID01: RAID0으로 묶은 디스크를 RAID1로 미러링한다.
- 사용자 계정을 설정한다. 이 때 기본 admin과 guest는 외부에서도 누구나 이름을 알 수 있는 계정이므로 비활성화(라고는 하는데 비활성를 찾지 못해서)하거나 접근금지로 설정해주는 게 좋다.(이름을 변경하는 게 안된다.)
- 필요한 만큼 계정을 생성하고, 관리의 용이성을 위해 같은 권한을 부여할 그룹을 몇 개 만든다. admin, teammates, guest등
- 폴더도 생성하고, 각 계정에 적당히 오픈하면 된다. 권한이 없는 사람에게는 폴더 자체가 노출되지 않는다.
- 이 외 공부해야 할 것
- 디스크의 FAIL이 발생했을 때 안전한 대처 방법
- DDNS나 quickconnect를 설정했을 때 보안과 관련하여 주의할 사항
- ftp접속을 허용할지
- 등
- NAS를 하루 정도 짱박아둬도 괜찮을 법한 장소에서 작업을 시작하자. 웬만하면 최종 설치할 곳 근처에서.