# Synology NAS

# NAS 기본 설정

NAS는 중요한 데이터를 안전하게 보관하고, 파일 공유, 데이터 백업, 멀티미디어 스트리밍 등 다양한 기능을 제공하는 고성능 저장소 솔루션 이다. Spelix IDC에 있는 Synology NAS 장비는 현재 RAID 1+0 형태의 스토리지를 가지고 있고, btrfs 파일 시스템으로 포멧 되었다. 그리고 현재는 8개의 12TB HDDs를 사용 하고 있다. Synology NAS 장비들은 Synology DiskStation Manager(DSM) 이라는 웹 인터페이스를 사용 하여 대부분의 설정들을 진행 한다. 예를 들어 RAID 설정, 네트워크 설정, NFS, iSCSI 설정 및 공유 파일 등등 설정이 가능하다.

##### **Live Demo**

DSM 인터페이스를 실험 하기 위해 Synology가 만들어준 연습 플랫폼이라고 생각 하면 된다. Synology DSM Live Demo는 [여기](https://demo.synology.com/en-us/dsm)서 체험 할 수 있다.

DSM 7.2 버전 데모를 바로 실행 할 수 있다. 데모를 들어 가면 아래와 같은 화면을 볼 수 있다

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/lyximage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/lyximage.png)

왼쪽 상단에 있는 메뉴에서 '저장소 관리자' 로 이동 하면

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/fNBimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/fNBimage.png)

이미 정상적으로 볼륨 1 이 생성 되어 있고 돌아 가는 것을 확인 할 수 있습니다.

자세한 정보를 확인 하면

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/itWimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/itWimage.png)

Btrfs 파일 시스템으로 포멧 된 것을 확인 할 수 있다. 실제 장비에서는 더 많은 옵션들이 존재 하지만, Demo 에서는 기본적인 요소들 만 존재 한다.

실제 장비의 DSM:

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/Y8Zimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/Y8Zimage.png)

Demo DSM의 옵션들:

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/0DVimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/0DVimage.png)

결론은 Demo DSM에서는 많은 실습을 실행 할 수가 없다.

그래도 할 수 있는 것은 iSCSI 볼륨 생성 하는 것이다.

##### **iSCSI 20GB Volume 생성**

SAN Manager을 통해 iSCSI를 설정 할 수 있다. iSCSI 설정을 하기 전에 LUN 설정을 먼저 진행 해야 된다. LUN(Logical Unit Number)은 가상화 환경에서 자주 사용되는 개념으로, 가상 서버나 가상 머신에 스토리지를 할당할 때 사용 된다. LUN 설정을 하면 Virtual disk가 생성 되어 iSCSI 프로토콜을 실행 할 수 있게 된다. iSCSI 프로토콜을 사용하려면 가상 디스크를 사용해야 한다.

그 외에는 LUN 설정 시 Thick Provisioning 과 Thin Provisioning Space Allocation 옵션들이 존재 한다.

<p class="callout info">**Thick**  ➖ 이 방식은 LUN의 전체 용량을 미리 물리적 스토리지에 할당하는 것을 의미한다  
**Thin**  ➖ 이 방식은 필요에 따라 동적으로 스토리지를 할당하는 방식이다</p>

DSM Live 데모 속에서 간단한 실습을 진행 하였다. 전 과 같이 DSM 메인 화면에서 메뉴를 열어 'SAN Manager'로 이동 한다.

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/zgUimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/zgUimage.png)

정상 적으로 iSCSI 서비스가 작동 되는 것을 확인 할 수 있다. 새로운 LUN을 생성 하여 LUN 속성을 아래와 같이 지정 한다.

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/lLwimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/lLwimage.png)

<p class="callout info">Thick Provisioning을 선택 한 이유는 실제 NAS 서버에서는 공간 문제가 없고 Thin에 비해 성능이 워낙 뛰어 나서 이다.</p>

이 상태에서 다음 화면으로 넘어 가면 iSCSI가 기본 적으로 선택 되어 있다

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/xzIimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/xzIimage.png)

그 다음으로 Access 권한 할당 설정도 존재 한다. 일단 모든 허용으로 진행 한다.

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/Hx8image.png)](http://138.2.116.150/uploads/images/gallery/2023-05/Hx8image.png)

마지막으로 설정 확인을 할 수 있다.

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/YaMimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/YaMimage.png)

결과 를 확인 하면:

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/e5Gimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/e5Gimage.png)

iSCSI 옵션에서도 iSCSI 타겟이 준비 되어 있는 것을 확인 할 수 있

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/nNmimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/nNmimage.png)

물론 개요 페이지도 정상적으로 생성 된 LUN을 보여 준다

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/6tWimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/6tWimage.png)

이제 클라이언트 쪽에서 iSCSI initiator 설치 후 iSCSI target과 연결 가능하다

먼저 클라이언트 쪽 "iSCSI initiator"을 설치 해야 된다. 참고 자료 는 [여기](https://koreaninbeijing.tistory.com/512).

<p class="callout warning">iSCSI는 실제 NAS에서 실행 하지 않았다. NFS으로 넘어 갔기 때문이다.</p>

#####   


##### **NFS 설정**

NFS는 네트워크를 통해 원격 파일 접근을 가능하게 하는 분산 파일 시스템 프로토콜이다. 이를 통해 운영 체제에 관계없이 컴퓨터/서버 간에 파일을 쉽게 공유하고 접근할 수 있다. NFS는 네트워크 환경에서 효율적인 파일 공유, 협업 및 중앙 저장 관리를 가능하게 한다.

DSM 인터페이스 에서 제어판 으로 이동 한다. 제어판 안에 '파일 서비스' 라는 서비스를 선택 한다.

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/dLBimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/dLBimage.png)

그 후 NFS 서비스 칸으로 이동 하야 NFS를 활성화 시켜 주면 된다

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/tdPimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/tdPimage.png)

바로 옆 칸에 '공유 폴더' 로 이동 한다. 공유 폴더로 이동 한 이유는, 공유하고자 하는 공유 파일을 수정 할 것이다.

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/3Y1image.png)](http://138.2.116.150/uploads/images/gallery/2023-05/3Y1image.png)

예를 들어 Photo 폴더를 공유 한다고 과정을 하면, Photo 폴더를 선택 하여 '편집'으로 이동 한다

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/p9dimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/p9dimage.png)

새로운 메뉴가 올라오면, 'NFS 권한' 을 선택 한다

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/iveimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/iveimage.png)

새로운 NFS 권한을 생성 한다.

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/EBXimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/EBXimage.png)

- 첫 번째로 호스트 PC의 IP 주소를 입력 하고, 권한을 부여 한다
- Squash 매핑을 지정 할 수 있다
- 보안에서 AUTH\_SYS가 기본적으로 선택이 될 수 있지만 Kerberos 인증 과 무결성도 선택 할 수 있다
- 그 후 하위 폴더 액세스도 허용 가능

이렇게 권한 설정 후 나가면 마운트 경로와 NFS 권한에 새로운 호스트가 추가 되어 있는 것을 볼 수가 있다

[![image.png](http://138.2.116.150/uploads/images/gallery/2023-05/scaled-1680-/0Pvimage.png)](http://138.2.116.150/uploads/images/gallery/2023-05/0Pvimage.png)

다 저장 후 이제 서버쪽에서 NFS client을 설치 하여 NFS 공유 폴더를 접속 할 수 있다

<p class="callout warning">아래 내용은 아직 테스팅을 못 한 부분이다</p>

예식로 기본적인 마운팅은 아래와 같다 (RHEL 8 버전 사용):

NFS client 부터 설치:

```bash
dnf install nfs-utils
```

NFS share을 마운트 하기 위해

```bash
# -t는 타입을 지정하는 옵션
mount -t nfs <IP 주소>:/마운트/경로 /로컬/경로
```

추가 옵션에 경우에는

```bash
# ro 옵션을 통해 read-only 모드로 연결
mount -t nfs -o ro <IP 주소>:/마운트/경로 /로컬/경로
```

```bash
# ro, nfsvers=3로 통해 read only 모드 + nfs version 3를 사용
mount -t nfs -o ro,nfsvers=3 <IP 주소>:/마운트/경로 /로컬/경로
```