시놀로지 NAS에서 SMB3 Multi Channel 설정과 Mac(OSX)에서의 설정법은 ?

앞서 LACP이 무엇인지와 설정방법에 대해서 알아 봤었다. (https://blog.iamwhatiam.co.kr/212)
그러면 LACP (Link Aggregation)과 SMB3 멀티채널은 무엇이 다르고 어떻게 설정하는지 서술해보겠다.

   SMB3 Multi Channel은 Server에서 동시에 여러 Network 연결을 사용할 수 있게 해주는 SMB Protocol 이다.   이는 처리량 증가 및 안정성 향상이라는 장점을 갖고 있다.   하지만 제한 사항도 존재한다.   SMB3 Multi Channel을 설정하기 위해서는 동일한 사양의 Network Adaptor가 Server 및 Client에 존재해야 한다.   만약에 속도가 다른 Network Interface로 구성하게 되면 OS는 가장 빠른 데이터 전송을 우선 시 하게 된다.   한마디로 반쪽짜리가 되어 버린다.

   먼저 Link Aggregation과 SMB3 멀티채널이 어떻게 다른지 비교해보자.

  SMB Multi Channel LACP (Link Aggregation)
용도 단일 Client 속도 향상 다수 사용자의 병목현상 완화
제한사항 Client / Server 모두 다중의 Network Adaptor 필요 Server에 다중의 Network Adaptor 필요
적용 Service SMB 모든 Traffic
속도 향상 Server / Client SMB 속도 향상 서버 Network 속도 향상
Client Network 속도에 영향 없음
내결함성 SMB 서비스에 한해 Server / Client 속도향상 서버 전체의 네트워크 대역폭(속도) 향상
클라이언트 속도향상 없음

   보통의 Laptop, DeskTop의 경우 유선 1Gbps Network Adaptor가 1개 있고 Wifi Network Adaptor 가 1개 있는것이 보편적이다.   그런데 정상적인 SMB3 멀티채널을 구성하기 위해서는 동일한 속도의 Network Adaptor가 2개 이상 있어야 한다.   PCI 형태의 Network Adaptor는 상관이 없겠지만 USB 형태의 Network Adaptor를 추가 한다면 HUB나 기타 기기를 통한 연결을 하면 정상적인 성능을 낼 수 없다.   USB 형태의 Adaptor를 쓰는 경우에는 반듯이 직결하는 것을 권고한다.

   SMB3 Multi Channel 성능을 극대화 하기 위해서는 Server 와 Client 의 Network Adaptor 의 사양 및 개수가 동일한 것을 권고한다.   만약 Client의 Network Adaptor의 개수가 Server의 개수보다 많게 되면 정상적인 성능을 낼 수 없다.   하지만 반대의 경우에는 실제로 더 좋은 성능을 보여준다.

[ 각각의 NIC는 모두 1Gbps라고 가정하자 ]

   안타깝게도 Network에서 속도는 하향평준화를 하기 때문에 위의 오른쪽 그림처럼 구성을 하게 된다면 Server 의 2번 Adaptor는 Client의 2개의 Adaptor와 연결되어야 하기 때문에 1Gbps의 1/2 인 0.5 Gbps로 두곳에 연결되게 된다.   그러면 남은 Server의 1번 Adaptor는 자신의 정상속도인 1Gbps의 속도를 내주면 좋겠지만 Network에서 동일 연결에 대해서는 하향평준화 되기 때문에 낮은 속도로 설정되어버린 0.5 Gbps의 속도로 평준화 되어 버린다.   결론적으로 오른쪽 그림과 같이 연결을 하게 되면 최대속도 1.5 Gbps 밖에 성능을 내지 못하기 때문에 권장하지 않는 구성이다.   앞서 이야기 한대로 만약 반대로 Server의 Adaptor의 개수가 Client 의 개수보다 많게 되면 어떻게 될까?   실제로 테스트를 해보면 왼쪽 그림저럼 2:2로 연결되었을 때 보다 더 좋은 퍼포먼스를 보여준다.   추측컨데 동시 접속을 처리해야 하는 경우 2:2로 연결되고 남은 한개의 Adaptor가 그 역할을 수행하기 때문에 왼쪽 구성보다 실제로 좋은 성능을 보여주는게 아닐까 조심스레 추측해본다.

[ 제어판 - 파일 서비스 - SMB ]

   Synology NAS에서 SMB3 Multi Channel 설정은 "파일 서비스"에서 설정 할 수 있다.   "제어판 - 파일 서비스 - SMB"에서 "고급설정"을 들어가서 아래와 같이 설정하면 된다.   간단하다.

[ SMB 고급 설정 ]

   나의 경우엔 Windows를 사용하지 않기 때문에 본 포스팅에서는 윈도우에서의 SMB 멀티채널에 대한 설정은 다루지 않겠다.   여기 아니더라도 검색엔진에서 "윈도우 SMB 멀티채널"로 검색하면 유튜브나 블로그에 자세히 설명한 자료들을 쉽게 찾을 수 있으니 그 자료를 참고하기 바란다.   여기서는 Mac에서 설정하는 방법만 다루도록 하겠다.

   Apple의 공식 문서를 참고(https://support.apple.com/ko-kr/102010)하면 /etc/nsmb.conf 의 파일을 생성하면 설정이 된다고 되어 있다.   Terminal Console을 열고 관리자 권한으로 실행해야 하므로 관리자 권한으로 진입한다.

sudo su -

   패스워드 물어보면 본인 장비의 패스워드 입력해주고 vi 나 기타 Text Editor 또는 echo 명령어를 사용해서 /etc/nsmb.conf 파일에 설정을 추가해 주면 된다.

[default]
mc_on=yes
mc_prefer_wired=yes

   저장을 해주고 시스템을 재구동하면 모든 설정이 끝난다.   그러면 실제 속도가 얼마나 빠르게 설정되었는지 확인을 하기 위해서 Finder에서 Synology NAS의 공유 폴더에 접근해서 파일을 옮겨보자.
   여기서 주의 할 사항은 멀티채널로 연결되기 때문에 특정 IP의 값으로 연결하는 것이 아니라 문자열로 된 장비 이름으로 접속하는 것을 권장한다.   위의 Sysnology NAS 제어판 SMB 설정화면 하단에서 볼 수 있는 것처럼 MAC에서 접속시 사용할 수 있는 주소를 파란색으로 안내하고 있다.   나의 경우엔 smb://SynologyNAS920P 이다.
   Finder 에서 ⌘ + K 를 눌러 "서버에 연결"을 해서 비교적 사이즈가 큰 파일을 테스트 차원에서 복사를 해봤다.

   NAS에서 특별하게 다른 작업이 걸려 있지 않는 이상 초당 240MB 전송 속도를 보여준다.   이론적으로 2Gbps 가 최대 전송할 수 있는 파일의 크기는 256MB 이다.   이건 순수하게 이론적인 수치이다.   네트워크 사용 중에는 파일 전송만 하는 것이 아니라 기타 다른 정보도 주고 받고 있기 때문에 실제적으로는 지금 캡쳐에서 보여주는 속도가 최대 속도라고 할 수 있다.   이정도면 왠만한 외장 Drive에 파일 옮기는 속도보다 빠르다고 판단된다.

   SMB3 멀티채널의 사용은 앞서 거론 했듯이 PC에 다수의 Network Adaptor를 설치해야 한다.   그런 핸디캡을 생각한다면 NAS에 Local Network로 연결된 모든 장비가 SMB3 Multi Channel 기능을 사용하기란 쉽지 않을 것이다.   대부분 비슷한 환경이겠지만 메인으로 사용하는 컴퓨터에는 설정해서 사용할 만한 설정이다.

  다시한번 이야기 하자면 SMB3 멀티 채널은 SMB 연결시에만 적용되는 것이다.  AFP, FTP 등 다른 protocol에서는 적용되지 않기 때문에 LACP로 설정을 할 것인지 아니면 SMB3 멀티채널로 설정할 것인지는 사용하는 환경에 따라 선택해줘야 한다.   만약 Server Side에 Network Apdaptor를 3개 이상 설치할 수 있는 환경이라면 두가지 다 설정하는 것도 좋은 방법이라고 생각한다.