![프로덕션 웹 서버에서 NFS를 사용하는 것이 합리적입니까?](https://rvso.com/image/756229/%ED%94%84%EB%A1%9C%EB%8D%95%EC%85%98%20%EC%9B%B9%20%EC%84%9C%EB%B2%84%EC%97%90%EC%84%9C%20NFS%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EA%B2%83%EC%9D%B4%20%ED%95%A9%EB%A6%AC%EC%A0%81%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
연결이 LAN 1Gbe 또는 10Gbe 연결을 통해 이루어진다고 가정할 때 컴퓨팅 서버를 스토리지 서버에 연결하는 수단으로 프로덕션 서버에서 NFS를 합리적으로 사용할 수 있습니까?
분명히 약간의 네트워크 오버헤드가 있으며 동기화 모드를 활성화한 경우 쓰기 시 NFS가 특히 느려지는 것 같습니다. 그렇지 않으면 합리적으로 가볍고 내가 알 수 있는 것에서 확장할 수 있는 것처럼 보이지만 개인적으로 경험이 거의 없습니다. 내가 잘못?
문제는 현재 스토리지와 웹 서버 역할을 모두 수행하는 서버가 있지만 나중에 두 서버를 분할해야 하고 일부 요청이 인증을 위해 웹 애플리케이션 계층을 통과해야 한다는 점입니다. 파일 전송을 초기화하기 전에 이 소프트웨어를 사용하면 다소 까다로워집니다. 네트워크 fs 마운트는 가장 간단한 옵션입니다. 그게 좋은지 모르겠습니다.
또한 NFS와 함께 로컬 캐싱을 활용하여 성능을 약간 향상시킬 계획이지만 이것이 충분한지 확실하지 않습니다.
대안에 관한 한 제가 알고 있는 실제 경쟁자는 iSCSI뿐이며 대부분의 사람들은 잘 알려지지 않은 다른 것보다 NFS를 추천하는 것 같습니다.
답변1
NFS는 괜찮습니다. 단, 다음과 같은 특정 기준이 충족되지 않는 경우는 제외됩니다.
- 관련된 시스템은 모두 기본적으로 NFS를 사용할 수 있습니다. Windows는 여기서 계산되지 않습니다.거의작동하지만 크로스 플랫폼 환경에서 NFS를 다룰 때 많은 단점이 있고 작업하기가 종종 고통스럽습니다.단지Windows에서는 SMB3를 사용하면 NFS와 관련된 대부분의 다른 문제가 제거됩니다. 클라이언트 측에서 이는 커널 수준 지원을 의미합니다. 사용자 수준 구현은 FUSE와 같은 사용에 따른 효율성 문제를 처리해야 하거나 FUSE에 액세스해야 하는 애플리케이션에 직접 연결되어야 하기 때문입니다. 공유하다.
- NFS 클라이언트가 NFS 서버 다시 시작을 처리하는 방법을 올바르게 확인했습니다. 여기에는 OS 자체(~해야 한다대부분의 경우 괜찮습니다) 및 공유에 액세스할 소프트웨어입니다. 특히, 공유를 사용하는 소프트웨어가 오랜 시간 동안 파일을 열어 두는 경우 일부 클라이언트 플랫폼에서는 특별한 주의가 필요합니다. 모든 NFS 클라이언트 구현이 잠금 및 파일 핸들을 명시적으로 다시 마운트하고 재검증하여 서버 다시 시작을 정상적으로 처리하는 것은 아니기 때문입니다. 클라이언트 소프트웨어에 모든 종류의 문제가 발생합니다). 스택의 일부가 업그레이드되거나 재구성될 때마다 이를 다시 확인해야 합니다.
- 적절한 사용자/그룹 ID 매핑을 설정하려고 합니다. 이것이 없으면 시스템 간의 UID/GID 매핑을 미러링해야 하기 때문에(가능하지만 인터넷 연결 시스템의 내부 네트워크에 대해 SSO를 설정하는 것은 조심스럽습니다) 잠재적으로 심각한 문제가 발생하기 때문입니다. 보안 관련 사항(즉, 한 시스템에서 권한을 확인하는 내용이 다른 시스템에서 확인하는 내용과 일치하지 않음)
- 보안 네트워크 링크를 통해 작업 중이거나 공유에 대한 인증을 적절하게 설정하려고 합니다. 인증이 없으면 링크에 있는 누구나 링크에 액세스할 수 있습니다(그리고 악의적인 클라이언트는 기본 UNIX 임의 액세스 제어를 쉽게 피할 수 있습니다).
이러한 기준을 모두 충족하고 비교적 빠른 네트워크를 갖고 있다고 가정하면 문제가 없을 것입니다. 또한 점보 프레임을 실행할 수 있다면 그렇게 하면 모든 네트워크 파일 시스템이나 네트워크 블록 스토리지에 많은 도움이 됩니다.
답변2
NFS는 절대적으로 괜찮으며 관리, 공유 및 백업이 훨씬 더 쉽다는 점에서 iSCSI보다 선호됩니다.
답변3
우리는 수년간 NFS를 사용하여 SAN을 VMware ESXi 서버에 연결하고 수백 개의 VM을 실행해 왔습니다. 전혀 문제가 없습니다.
병목 현상은 네트워크 프로토콜보다는 스토리지 시스템에 있습니다.
물론 네트워크 연결은 충분히 빨라야 합니다. 즉, 10Gb 이더넷 또는 광섬유를 의미합니다. 우리는 더 이상 별도의 스토리지 네트워크를 사용하지 않아도 됩니다.
답변4
iSCSI가 조금 더 빠를 수도 있습니다.
https://www.hyper-v.io/whos-got-bigger-balls-testing-nfs-vs-iscsi-performance-part-3-test-results/
...그러나 다른 네트워크 리디렉터(SMB3, AFS/AFP 등)와 마찬가지로 NFS는 iSCSI 또는 기타 블록 프로토콜에서는 까다로운 동시 다중 액세스를 허용합니다.
https://forums.starwindsoftware.com/viewtopic.php?f=5&t=1392