태그 보관물: Synology

Connect Synology and APC UPS with SNMP protocol

Synology NAS의 안정적인 운영을 위하여 APC사의 UPS를 설치하였다.

UPS 사양은 다음과 같다.

APCSmart-UPS CMS-1500IC

APC UPS의 경우 PowerChute 어플리케이션을 통해서 상황에 따라 서버 전원을 내릴 수 있게 지원하고 있다.

하지만 Synology의 경우 해당 어플리케이션이 없었고, 기본적으로 제공하는 SNMP 기반의 안전모드를 사용해야 했다.

먼저 UPS SNMP를 먼저 설정해준다.

## SNMP V1 이용 시

1. UPS Management Web 접속
2. UPS Management 로그인
3. PowerChute -> SNMP Setting -> SNMPv1(+) 로 이동
4. Enable 체크 후 Apply 클릭
5. User Profiles Add Profile 클릭
6. Community Name 입력 (원하는 값으로)
7. NMS IP/Host Name 설정 (기본값은 0.0.0.0 으로 모두 접속 허용)
   > NMS IP값에 특정 IP를 적으면 그 IP 장비만 SNMP에 접속 할 수 있음.(*Host Name 안됨.)
8. Access Type은 Read로 설정
9. OK 선택 후 Apply 클릭

위와 같이 SNMP 설정이 끝나면, 다음은 Synology NAS 설정이다.

1. Synology NAS 로그인
2. 제어판 열기
3. 하드웨어 및 전원 -> UPS 이동
4. UPS 지원 활성화 체크
5. 네트워크 UPS 유형 "SNMP UPS" 선택
6. RackStation이 안전 모드로 설정되기 전 대기 시간 설정
   (원하는 시간, 예를 들어 20분 등)
7. SNMP UPS IP 주소 입력 (UPS 주소)
8. SNMP MIB는 auto로 설정 (* "apcc" 로 잡아주는게 정확한 값임)
9. SNMP 버전은 v1으로 설정
10. SNMP 커뮤니티는 UPS에서 설정한 값을 입력
11. 적용

위의 절차를 진행하고 잠시 기다리면 장치정보를 확인할 수 있다.

 

## SNMP V3 이용 시

위와 같이 SNMP 설정이 끝나면, 다음은 Synology NAS 설정이다.

 

장치 정보 확인 시 UPS 검색 잘 되면

그럼 끝!

Synology RAID Volume 단일 Volume으로 변경하기

시놀로지는 볼륨 관리를 위해 md라고 불리는 software raid를 사용합니다.
raid를 관리하기 위해 사용하는 명령어가 mdadm 입니다.

보통은, /dev/md0가 OS 파티션, /dev/md1이 swap 파티션, 그리고 사용자가 사용하는 첫번째 볼륨 파티션이 /dev/md2로 생성되는데요..

“cat /proc/mdstat” 명령을 치시면 현재 사용하고 있는 md raid 정보가 출력됩니다.

?? ??2.png

이중 md 구성 별 blocks 수를 대략 비교 해보며 Disk Size 별로 어떤 Volume 인지 확인합니다.

mdadm –grow –raid-devices=1 –force /dev/[md2] <— 분리 하고자 하는 md 번호

상기 명령을 통해 원하는 Volume Raid를 분리 할 수 있습니다.

시놀로지 NAS의 OpenVPN 서버 설정하기

Synology NAS의 PPTP VPN 서버 설정 방법을 이전 포스트에서 설명했는데 한가지 설명을 빠트렸었다. 무엇인고 하니 설명한 환경에서 NAS를 SuperDMZ 또는 DMZ(NAT) 기능을 이용해 집의 인터넷 공유기에 할당되는 공인IP를 통채로 NAS에 할당한 경우에만 가능한 방법이다.

그렇지 않고 통신사에 연결되는 인터넷 공유기에는 공인IP가 할당되고 NAS에는 192.X.X.X로 표시되는 사설IP가 할당될 경우에는 PPTP, IPSEC 등의 VPN은 정상동작시키기 쉽지 않다. 인터넷 공유기에서 포트포워딩을 해줘야할 포트도 여러개인데다 설정을 하더라도 제대로 동작하지 않는 경우가 많기 때문이다.

그래서 오늘은 하나의 포트만 포트포워딩 하면 사용할 수 있는 OpenVPN 서버의 설정방법을 포스팅한다.

1. 인터넷 공유기에서 OpenVPN에서 사용할 통신포트를 포트포워딩 하기

통신사에서 제공하는 인터넷 공유기의 경우 다음과 같이 “포트포워딩(Port Forwarding)” 기능을 제공하는 경우가 대부분이다.

2. 시놀로지 NAS에서 새 인증서 만들기

많은 시놀로지 사용자들이 OpenVPN 서버를 설정하면서 부닥치는 가장 큰 난관은 바로 인증서 설정과 관련된 부분이다. 일단 “인증서”가 뭔지 제대로 이해를 하지 못하고 있기 때문이다.

(기존의 기본 인증서로 설정해도 관계 없다. 생성하는 과정만 건너 뛰면 모든 작업은 동일하다.)

먼저 “제어판”에서 “보안” 메뉴를 선택하면 표시되는 “인증서” 탭을 선택한다.

 

synology nas의 Certificate tab
Synology NAS의 제어판-보안 메뉴의 인증서 탭

 

“추가” 버튼을 누르고 “인증서 생성” 창이 실행되면 “새 인증서 추가” 를 선택한 다음 “다음” 버튼을 누른다.

“설명” 에는 적당한 설명을 넣는다. 그리고 “자체 서명 인증서 생성”을 선택한다.

 

synology nas에서 self-sign certificate 만들기
자체 서명 인증서 생성

 

다음과 같이 루트(CA) 인증서 생성에 필요한 기본값을 입력한다. 대충 입력해도 된다.

 

시놀로지 NAS의 셀프사인 인증서 생성
루트 인증서(CA) 생성

 

루트(CA) 인증서를 만들 정보를 입력하고 나면 실제 통신 시 사용할 인증서를 만들게 된다. 입력하는 정보가 아주 조금 다른데… 대충~ 에러가 나지 않도록만 입력하면 된다.

 

시놀로지 NAS에 인증서 만들기

 

“적용” 버튼을 누르면 다음과 같이 인증서가 반들어진다. 그리고 인증서의 유효기간은 생성한 날로부터 1년이다.

 

Synology NAS에 만들어진 Self-sign Certificate
Synology NAS에 만들어진 자체 서명 인증서

 

3. VPN 서버가 새로 만든 인증서를 사용하도록 설정하기

“제어판” – “보안” – “인증서” 탭에서 “구성” 버튼을 누르면 인증서를 사용하는 서비스가 사용할 인증서를 선택할 수 있는 화면이 표시된다.

아래 화면처럼 “VPN Server”가 앞에서 새로 생성한 인증서를 사용하도록 선택해준다.

 

VPN Server가 사용할 인증서 선택하기

 

4. OpenVPN 서버 설정하기

이제 OpenVPN 서버를 설정해줘야 한다.  VPN Server를 설정하기 위해서 VPN Server를 실행하고 “OpenVPN” 메뉴를 선택한다.

그리고 “OpenVPN 서버 활성화”를 체크해준 뒤 다음과 같이 설정한다.

 

 Synology NAS의 OpenVPN Server
Synology NAS의 OpenVPN 서버

 

여기서 중요한 것은 “포트” 항목에 앞의 인터넷 공유기에서 NAS의 IP인 192.168.219.102의 포트포워딩 포트인 10472를 “포트” 항목에 입력하는 것이다.

그리고 나서 “적용” 버튼을 눌러 OpenVPN 서버를 실행한다.

 

OpenVPN 서버 실행

 

OpenVPN 서버를 실행하면 화면 아래에 보이는 “내보내기 구성” 버튼이 활성화된다.

이 버튼을 눌러 OpenVPN 클라이언트에서 OpenVPN 서버에 접속할 때 사용할 “설정 파일”을 저장한다.

 

OpenVPN 설정 내보내기

 

이 OpenVPN 접속 설정 파일을 적당한 이름으로 저장한다. 위에서는 synology-openvpn(10472).zip 파일로 저장했다. 그리고 하나의 파일을 더 저장해야 한다. 바로 인증서 파일이다.

5. 인증서를 파일로 저장하기

다시 인증서 화면으로 간 뒤 아래 화면처럼 새로 생성한 인증서 파일을 “인증서 내보내기” 버튼을 눌러 PC에 저장한다.

 

Synology NAS의 인증서 내보내기

 

인증서 파일은 기본적으로 archive.zip 파일로 저장된다.

지금가지 두개의 파일을 PC에 저장했다. OpenVPN 클라이언트에서 사용할 접속 설정 파일과 인증서 파일 두 개다. 이제 이 두개 파일의 압축을 해제한 뒤 편집해야 한다.

6. OpenVPN 클라이언트 구성 파일 편집

Synology에서 제공하는 VPN 서버의 버그인지… 아니면 원래 그런 것인지 모르겠지만 앞에서 다운로드 받은 OpenVPN 클라이언트 접속 용 구성 파일은 인증서 정보가 제대로 설정되어 다운로드 되지 않는다. 그래서 수동으로 인증서 내용을 편집해 넣어줘야 한다.

먼저 다음과 같이 인증서가 저장된 archive.zip과 OpenVPN 접속 설정파일인 synology-open….zip 파일의 압축을 해제한다.

 

인증서 파일과 OpenVPN 접속 구성파일 압축해제

 

인증서 압축파일을 해제하면 4개의 파일이 표시되는데 cert.pem 파일과 prikey.pem 파일의 내용을 OpenVPN 접속 구성 파일에 추가해줘야 한다.

 

인증서 압축파일 해제하면 표시되는 4개의 파일

 

OpenVPN 접속 구성 파일이 포함된 zip 파일을 압축해제하면 VPNConfig.ovpn 이라는 OpenVPN 접속 용 구성파일이 보인다. 이 파일을 Notepad 등으로 열어준다.

 

OpenVPN 접속 용 구성파일 열기

 

먼저 상단에 위치한 YOUR_SERVER_IP를 인터넷 공유기에 할당된 외부 공인IP로 수정한다. 만약 시놀로지의 DDNS를 이용해 xxx.synology.me 와 같은 도메인주소를 사용한다면 그 도메인주소를 입력해주면 된다.

 

ovpn파일 편집하기

 

다음은 새로운 Notepad을 열어 인증서 파일들 중 cert.pem 파일을 다음과 같이 연다.

 

cert.pem
cert.pem 파일

 

위의 cert.pem 파일의 내용 전체를 다음과 같이 VPNConfig.ovpn 파일을 열고 가장 아래부분의 </ca> 뒷 부분에 <cert> 태그를 추가하고 그 뒤에 붙여넣는다.

 

.ovpn 파일의 가장 뒤에 cert.pem 파일의 내용을 붙여 넣는다.

 

그리고 가장 뒷 부분에 </cert>을 추가한다.

마찬가지로 인증서 파일들 중 prikey.pem 파일의 내용을 모두 복사해 VPNConfig.ovpn 파일의 맨 뒷 부분에 <key> 태그를 추가한 뒤 붙여넣는다.

 

.ovpn 파일의 끝에 prikey.pem 파일의 내용을 추가한다.

 

그리고 맨 끝에 </key>를 추가해준 뒤 저장한다.

여기까지 진행하면 OpenVPN 클라이언트 프로그램이 OpenVPN 서버에 접속할 때 사용할 구성파일이 완성된다.

7. OpenVPN Client 설치하고 접속 구성 파일 복사하기

OpenVPN 서버에 접속하여 암호화 된 안전한 Private(사설) 네트워크를 만들기 위해서는 OpenVPN GUI라는 클라이언트 프로그램을 설치하여야 한다. 다운로드는 여기에서 받으면 된다.

기본 옵션으로 설치한 뒤 앞에서 편집한 VPNConfig.ovpn 파일을 아래와 같이 기본 config 경로에 복사한다.

 

.ovpn 파일 복사하기

 

이 때 관리자권한이 필요한데 관리자 권한을 부여하여 복사해 넣으면 된다.

8. OpenVPN 서버에 OpenVPN GUI로 접속하기

설치하고 나면 VPNConfig 라는 접속 구성이 보인다. 아래와 같이 “연결”을 눌러 OpenVPN 서버에 접속하면 된다.

 

OpenVPN GUI를 통해 접속하기

 

ID와 비밀번호를 묻는 창이 실행되면 시놀로지의 접소계정을 입력하면 된다. 다만 해당 계정은 시놀로지 DSM에서 OpenVPN 접속이 허용된 계정이어야 한다.

 

OpenVPN 서버에 접속하기
시롤로지 OpenVPN 서버에 접속하기

 

접속이 되면 다음과 같이 접속상태를 확인할 수 있고 “연결해제” 버튼을 눌러 VPN 네트워크를 파괴하여 접속을 끊을 수도 있다.

 

Synology NAS 오픈VPN 접속 상태

시놀로지 4TB디스크를 8TB디스크로 교체하기

DS918+와 4TB 하드디스크 한 개를 사용하고 있는데요. 8TB 하드디스크 네 개로 교체하고 싶어요.

  • 4TB 하드디스크의 공간이 가득 찼습니다. 8TB 하드디스크 4개 장착 후 raid5를 만들어서 24TB의 공간을 사용하고 싶습니다.
  • 나스는 24시간 계속 사용합니다. 8TB 하드디스크로 교체하는 동안에도 나스 접속이 끊기지 않아야 합니다.

8TB 하드디스크 4개를 raid5로 만듭니다.

DS920+는 핫스왑 기능을 제공하므로 나스를 계속 사용하면서 하드디스크를 교체할 수 있습니다. 8TB 하드디스크 4개를 사용하여 raid5가 완성되는 데는 5일 정도 소요 되었지만 실제로 작업한 시간(하드디스크 교체하기, 마우스 클릭하기 등)은 10분 정도밖에 되지 않습니다.

  • 현재는 1번 베이에 4TB 하드디스크가 장착되어 있고 나머지 베이는 비어 있습니다. 스토리지 풀은 shr방식입니다. 다음 과정을 거쳐서 8TB 하드디스크 4개로 raid5를 만듭니다.
  • 과정 1
    4TB 디스크 1개와 8TB 디스크 1개를 레이드1으로 만듭니다. 레이드1이 된 이후에는 볼륨의 크기가 4TB가 됩니다.
  • 과정 2
    4TB 디스크를 8TB 디스크로 교체 후 수리를 진행합니다. 수리가 끝나면 8TB 디스크 2개로 raid1이 되고 볼륨의 크기가 8TB가 됩니다.
  • 과정 3
    8TB 디스크 2개로 raid1 상태에서 8TB 디스크 2개를 추가하여 raid5로 변경합니다. raid5가 된 이후에는 볼륨의 크기가 24TB가 됩니다.

과정 1. 4TB와 8TB로 raid1 만들기.

  • 2번 베이에 8TB 디스크를 장착 후 “스토리지 풀 > 작업 > 드라이브 추가”를 클릭합니다. 드라이브 2를 선택합니다.
  • 스토리지 풀 화면에서 1번 베이의 4TB 디스크와 2번 베이의 8TB 디스크가 사용된 것을 볼 수 있습니다.
  • 스토리지 풀 확장하는 작업이 완료되면 스토리지 풀의 총 용량은 4TB, 볼륨의 총 용량도 4TB가 됩니다.
  • 스토리지 풀 확장이 완료되는데 13시간 정도 소요되었습니다.

과정 2. 4TB 교체 후, 8TB와 8TB로 raid1 만들기.

  • HDD/SSD 화면에서 4TB 하드디스크에 해당하는 드라이브(이번 사례에서는 드라이브 1)를 선택 후 “작업 > 비활성화”를 클릭합니다.
  • 드라이브 1 옆에 “비활성화됨”이 표시되면 4TB 하드디스크를 제거하고 새로운 8TB 디스크를 장착합니다. (기존 4TB 드라이브와 미러링 된 드라이브 외 새로운 드라이브 추가)
  • “스토리지 풀 > 작업 > 수리”를 클릭합니다. 드라이브 1을 선택합니다.
  • 2번 베이 하드디스크(Drive 2)의 내용을 1번 베이 하드디스크(Drive 1)로 복제하므로 Drive 2는 읽기작업이 발생하고 Drive 1은 쓰기작업이 발생하는 것을 리소스 모니터에서 확인할 수 있습니다.
  • 수리가 완료되는데 15시간 정도 소요되었습니다
  • 수리가 완료되면 스토리지 풀의 총 용량은 8TB로 늘어나지만, 사용한 용량은 여전히 4TB 그대로입니다. shr방식을 사용하는 경우에는 볼륨의 크기가 저절로 늘어나지 않기 때문입니다.        (DSM 6.2.3 부터는 자동으로 최대 크기로 늘어남)
  • 볼륨의 크기를 8TB로 늘립니다. “볼륨 > 작업 > 구성”을 클릭하고 “최대” 버튼을 클릭합니다. 그러면 “할당된 크기 수정(GB)” 칸의 숫자가 스토리지 풀이 사용할 수 있는 최대 용량으로 입력됩니다. “확인” 버튼을 클릭하면 10초 정도 후에 볼륨의 총 용량이 8TB로 변경됩니다.

과정 3. 8TB 디스크 2개 추가하기.

  • 3번 베이, 4번 베이에 8TB 디스크를 각각 장착한 다음 “스토리지 풀 > 작업 > 드라이브 추가”를 클릭합니다. 드라이브 3, 드라이브 4를 선택하고 다음을 클릭합니다. “설정 확인” 화면에서 총 용량이 21.82TB로 나오는지 확인합니다.
  • 스토리지 풀 확장이 완료되는데 90시간 정도 소요되었습니다.
  • 스토리지 풀 확장하는 작업이 완료되면 스토리지 풀의 총 용량은 24TB로 늘어나지만, 사용한 용량은 여전히 8TB 그대로입니다.  사용하지 않은 용량 16TB를 볼륨에 추가해야 합니다.
  • “볼륨 > 작업 > 구성”을 클릭하고 “최대” 버튼을 클릭합니다.
  • 최종적으로 볼륨의 크기가 24TB가 되었습니다.

8TB 디스크의 파티션 모습.

지금까지의 과정은 이벤트 로그와 알림에 기록되어 있습니다. 기록을 보면 “과정 3. 8TB 디스크 2개 추가하기”에서 동기화 작업이 네 번 나오는데요. 4TB 하드디스크로 스토리지 풀을 최초로 만들때 shr방식으로 설정했기 때문입니다. shr방식에서 더 큰 용량의 하드디스크로 교체하면 하드디스크의 파티션이 최초의 스토리지 풀 크기(4TB)와 나머지 크기(8TB에서 최초의 스토리지 풀 크기를 제외한 나머지)로  나누어집니다.  그래서 8TB디스크 4개 모두 두 개의 파티션으로 나누어져 있습니다. 또한 raid1에서 raid5로 변경하는 경우에 디스크 두 개를 한 번에 추가해도 변경작업(동기화 작업)은 한 개씩 이루어집니다. 그래서 다음과 같이 총 네 번의 동기화 작업이 진행됩니다.

  • 첫 번째 : 디스크 3개의 4TB  파티션을 동기화.
  • 두 번째 : 디스크 3개의 4TB  파티션을 제외한 부분 동기화.
  • 세 번째 : 디스크 4개의 4TB  파티션을 동기화.
  • 네 번째 : 디스크 4개의 4TB  파티션을 제외한 부분 동기화.

네 번의 동기화가 모두 끝나면 두 개의 raid5 장치가 생성됩니다. 하나는 4TB 크기 네 개로 raid5이므로 사용가능한 용량은 12TB가 되고, 다른 하나는 8TB에서 4TB를 제외한 크기(결국 4TB 크기) 네 개로 raid5이므로 마찬가지로 12TB가 됩니다. 그리고 두 개의 12TB 공간을 LVM을 사용하여 묶어서 총 24TB 크기의 스토리지 풀이 됩니다.

  • 지금까지의 과정을 “모든 알림”에서 볼 수 있습니다.
  • fdisk 명령어를 사용해서 파티션이 어떻게 나눠져 있는지 확인할 수 있습니다.
  • sda5, sdb5, sdc5, sdd5가 md2에 사용되고 sda6, sdb6, sdc6, sdd6이 md3에 사용되었습니다.