NFS와 SMB의 차이점은 무엇인가요?

네트워크 파일 시스템(NFS)과 서버 메시지 블록(SMB)은 네트워크상의 효율적인 파일 공유를 위한 파일 액세스 스토리지 프로토콜 또는 규칙입니다. 효과적으로 의사소통하고, 협업하고, 파일을 공유하는 능력은 모든 조직을 일상적으로 운영함에 있어서 필수입니다. NFS를 사용하면 사용자(또는 클라이언트 디바이스)가 네트워크 서버에 접속하여 서버 내 파일에 액세스할 수 있습니다. 여러 사용자가 데이터 충돌 없이 동일한 파일을 공유할 수 있도록 하는 규칙이 있습니다. 이와 마찬가지로 SMB를 사용하면 서버에서 파일을 읽을 수도 있습니다. 다만 더욱 유연성이 있어 클라이언트가 파일을 상호 공유할 수도 있습니다. 클라이언트는 SMB를 사용하여 프린터나 파일 서버와 같은 다른 네트워크 디바이스에 연결을 설정할 수 있습니다. 이를 통해 클라이언트는 로컬에서처럼 디바이스의 파일에 액세스할 수 있습니다.

NFS란 무엇이고 어떻게 작동하나요?

네트워크 파일 시스템(NFS) 프로토콜은 1984년 Sun Microsystems에 의해 UNIX 기반 시스템을 위한 상태 유지 파일 공유 프로토콜로 만들어졌습니다. 그 이후로 NFS는 여러 번의 업데이트를 거쳤습니다. 가장 최근의 버전은 국제 인터넷 표준화 기구의 작업 그룹에서 개발한 NFS 버전 4(NFSv4) 입니다. NFS는 Linux 사용자들 사이에서 여전히 인기가 높습니다.

NFS 지원 클라이언트와 NFS 서버 간 통신의 작동 방식은 다음과 같습니다. 먼저 클라이언트는 원격 프로시저 호출(RPC)을 사용하여 서버에 파일 또는 디렉터리를 요청합니다. 그러면 서버는 다음을 확인합니다.

  • 파일 또는 디렉터리의 가용성
  • 클라이언트에 필요한 액세스 권한이 있는지 여부

그런 다음 서버는 파일 또는 디렉터리를 클라이언트에 원격으로 탑재하고 가상 연결을 통해 액세스를 공유합니다. 클라이언트의 경우 NFS를 사용하면 작업 중에 로컬 파일에 액세스하는 것과 비슷하게 원격 서버 파일을 사용할 수 있습니다.

특히 NFS 클라이언트는 액세스 속도를 높이기 위해 파일을 캐시하고, 여러 컴퓨터가 동일한 파일에 동시에 쓰려고 하는 경우 파일을 잠그며, 동기화된 파일 특성 업데이트를 제공합니다.

SMB란 무엇이고 어떻게 작동하나요?

서버 메시지 블록(SMB) 프로토콜은 처음 개발된 이래로 여러 번 반복되었습니다. 1983년 IBM의 Barry Feigenbaum은 Windows의 전신인 DOS 운영 체제용으로 SMB를 출시했습니다. SMB는 Windows 제품군에 긴밀하게 통합되어 있기 때문에 Windows 운영 체제의 기본 파일 공유 프로토콜로 남아 있습니다. 

현재 SMB 버전은 SMB 3.1.1이며 이전 버전으로는 SMB 1.0, SMB 2.0, SMB 2.1, SMB 3.0 및 SMB 3.0.2가 있습니다. SMB는 한때 공용 인터넷 파일 시스템(CIFS)으로 브랜드가 변경되었지만, 이 이름 변경은 결국 되돌려졌습니다. 

클라이언트-서버 통신 프로세스는 대략적으로는 NFS와 유사합니다. 세부 사항과 운영 메커니즘에 차이가 있습니다. 예를 들어 SMB에서는 파일 시스템이 로컬 SMB 클라이언트에 탑재되지 않습니다. 대신 SMB 서버에서 호스팅되는 네트워크 공유에 네트워크 경로를 통해 액세스합니다.

SMB와 NFS의 유사점

서버 메시지 블록(SMB)과 네트워크 파일 시스템(NFS) 프로토콜은 모두 원격 서버에서 파일을 공유하고 로컬 클라이언트에서 사용되는 클라이언트-서버 모델로 작동합니다. 프로토콜을 올바르게 설정한 후 서버의 원격 네트워크 파일 및 디렉터리에 액세스하면 클라이언트 머신의 파일 시스템에 로컬로 있는 것처럼 작동합니다.

SMB와 NFS의 기타 유사점은 다음과 같습니다.

  • 둘 다 클라이언트에서 서버의 파일 및 디렉터리에 대해 생성, 읽기, 업데이트 및 삭제(CRUD) 작업을 수행할 수 있도록 합니다.
  • 여러 운영 체제에서 사용할 수 있습니다. 여기에는 각 메인스트림 운영 체제, Windows 환경 및 Linux 환경이 포함됩니다.
  • SMB와 NFS는 레거시 네트워크 환경, 특히 온프레미스 인프라에서 자주 사용됩니다. 

주요 차이점: NFS와 SMB

네트워크 파일 시스템(NFS)과 서버 메시지 블록(SMB)은 세부적인 운영 측면에서 몇 가지 차이점이 있습니다.

최초 설계

여러 운영 체제에서 NFS와 SMB를 모두 사용할 수 있지만 기본 Windows 파일 공유 기본값은 SMB 프로토콜입니다. Windows 기능은 SMB를 중심으로 구축되었습니다. Linux 컴퓨터에서 SMB를 사용하여 원격 Windows 서버 파일에 액세스하려면 Samba와 같은 외부 도구가 필요합니다. 

반면 NFS 프로토콜은 Unix 시스템용으로 특별히 설계되었습니다. 대부분의 Linux 배포에서 기본 파일 공유 프로토콜이자 기본 파일 전송 프로토콜입니다.

공유 리소스

SMB는 파일 및 인쇄 서비스, 스토리지 디바이스, 가상 머신 스토리지를 비롯한 광범위한 네트워크 리소스를 공유할 수 있도록 구축되었습니다.

기본적으로 파일 및 디렉터리 공유에 대한 지원만 제공하는 NFS와는 대조적입니다.

클라이언트-클라이언트 통신

SMB를 사용하면 클라이언트가 서버를 중재자로 사용하여 서로 통신하고 파일을 공유할 수 있습니다.

NFS는 클라이언트-서버 작업만 허용합니다.

사용 시기: NFS와 SMB

일반적으로 네트워크 파일 시스템(NFS) 및 서버 메시지 블록(SMB)은 동일한 운영 체제 환경에서 로컬 영역 네트워크(LAN)를 만들고 관리하는 데 사용됩니다. 이러한 환경에서는 로컬 파일처럼 공유 스토리지에 액세스해야 합니다. NFS와 SMB는 거리가 먼 레거시 네트워크 환경과 게이트웨이를 통한 하이브리드 클라우드 환경에서도 사용됩니다.

SMB 파일 공유

LAN에 네트워크 연결 스토리지(NAS)를 설치하려는 경우 네트워크를 통해 파일을 공유하고 액세스할 수 있는 가장 쉬운 방법은 SMB입니다. Windows, Mac 또는 Linux 운영 체제 등 어떤 운영 체제를 실행하든 마찬가지입니다.

다른 일반적인 사용 사례는 다음과 같습니다.

  • 여러 클라이언트 머신에 공유 스토리지가 필요한 조직을 위한 Windows 기반 로컬 영역 네트워크
  • 효율성과 확장성을 우선시하는 대규모 스토리지 어레이가 있는 엔터프라이즈 환경
  • 기본 지원이 필요한 고급 공유 작업

NAS에 대해 읽어보기 »

NFS 파일 공유

다음과 같은 시나리오에 NFS를 사용할 수 있습니다.

  • 네트워크에 모든 UNIX 기반 머신(Linux 기반 환경 포함)이 있는 로컬 네트워크가 있음
  • 큰 파일 크기가 필요함

클라우드 스토리지 아키텍처에 대한 참고 사항

클라우드 기반 파일 스토리지 및 공유 아키텍처에서는 SMB와 NFS가 기본 파일 공유 프로토콜로 사용되지 않는다는 점에 유의해야 합니다.

클라우드 스토리지 공급자는 독점 시스템을 사용하여 내부 구성을 관리하지만, 내부적으로는 SMB 또는 NFS를 기반으로 할 수도 있습니다. 대신, 이러한 공급자는 기존 또는 신규 NFS 및 SMB 시스템과 클라우드 스토리지 제품 및 서비스의 상호 운용성을 위해 호환성 서비스를 제공합니다. 

NFS 및 SMB 구현의 당면 과제

서버 메시지 블록(SMB)과 네트워크 파일 시스템(NFS)은 서버와 클라이언트 머신에서 구성을 완료해야 올바르게 작동합니다. 상자에서 꺼내는 즉시 작동하는 것이 아닙니다. 클라이언트 머신과 서버 모두에서 액세스 권한 및 사용자 기반 인증 시스템을 올바르게 구성해야 합니다. 클라이언트와 서버 간에 운영 체제 유형이 일치하지 않는 경우 추가 구성 또는 소프트웨어가 필요할 수 있습니다.

NFS 및 SMB 구성은 일반적으로 시스템 관리자 또는 네트워크 관리자가 담당합니다. 이 태스크를 수행할 때는 프로토콜의 보안 고려 사항에 대한 실무 지식을 바탕으로 안전한 운영과 최적의 효율성을 보장해야 합니다. 새 버전의 SMB 또는 NFS가 출시되면 관리자는 필요에 따라 시스템 및 구성을 업그레이드해야 합니다.

클라우드 기반 파일 스토리지 아키텍처에서는 SMB 또는 NFS에 필요한 DIY 방식 대신 현대적인 완전관리형 솔루션을 사용하여 파일을 공유하는 경우가 많습니다. 이 솔루션에는 NFS 또는 SMB가 어느 정도 사용되기는 하지만 관리자가 경험하는 관리 복잡성이 줄어듭니다.

이 솔루션은 일반적으로 사용자 친화적인 인터페이스를 통해 액세스할 수 있는 추가 기능을 제공합니다. 예를 들어 자동화된 인증 시스템, 탄력적인 스토리지 관리, 다른 클라우드 서비스와의 자동 통합, 고급 보안 제어를 제공할 수 있습니다.

 

차이점 요약: NFS와 SMB

 

NFS

SMB

무엇인가요?

네트워크 파일 시스템

서버 메시지 블록

가장 적합한 용도

Linux 기반 네트워크 아키텍처

Windows 기반 아키텍처

공유 리소스

파일 및 디렉터리

파일 및 인쇄 서비스, 스토리지 디바이스, 가상 머신 스토리지를 비롯한 광범위한 네트워크 리소스

클라이언트 통신 가능 대상

서버

서버와 통신할 수 있고, 서버를 중재자로 사용하여 다른 클라이언트와 통신할 수 있음

AWS는 원격 파일 공유 요구 사항을 어떻게 지원하나요?

Amazon Web Services(AWS)는 서버 메시지 블록(SMB) 지원, 네트워크 파일 시스템 (NFS) 지원 및 기타 원격 액세스 요구 사항을 위한 다양한 서비스를 제공합니다.

기존 사용자 지정 온프레미스 파일 스토리지 시스템이 있는 경우 AWS Storage Gateway를 클라우드 기반 스토리지에 연결하여 하이브리드 클라우드 솔루션의 무제한 스토리지와 효율성을 지원할 수 있습니다. Amazon Simple Storage Service(S3)와 결합하면 클라우드에서 짧은 지연 시간으로 효율적으로 액세스하여 SMB 기반 또는 NFS 기반 온프레미스 스토리지를 공유할 수 있습니다. 자세한 내용은 사용자 지정 구성으로 SMB 파일 공유를 만드는 방법에 대한 문서를 읽어 보세요.

SMB 또는 NFS 서버를 클라우드로 마이그레이션하여 운영 오버헤드를 줄이거나, 탄력적 크기 조정을 활용하거나, 가용성을 높이려는 경우 Amazon FSx를 사용하면 됩니다. Amazon FSX는 NetApp의 ONTAP, Windows File Server, Lustre 및 OpenZFS와 호환됩니다.

SMB 또는 NFS 구성이 필요하지 않은 현대적 파일 공유 서비스의 경우 서버리스 방식의 완전 탄력적인 완전관리형 파일 스토리지 솔루션인 Amazon Elastic File System(Amazon EFS)을 사용할 수 있습니다. Amazon EFS를 사용하면 네트워크 파일 시스템을 Amazon Elastic Compute Cloud(Amazon EC2) 컨테이너, AWS 컨테이너, Lambda 함수 또는 온프레미스 서버에 탑재할 수 있습니다. Amazon EFS는 현대적 AWS 클라우드 기반 및 하이브리드 아키텍처 전반에서 탄력적인 파일 스토리지를 간편하게 공유할 수 있도록 설계되었습니다.

지금 계정을 만들어 AWS에서 파일 공유를 시작해 보세요.