개방 모드 잠금을 HP-UX로 변환

HP CIFS Server A.02.* 버전에서는 개방 모드 잠금을 HP-UX 자문 잠금으로 변환할 수 있습니다. 이 기능을 사용하면 HP-UX 프로세스는 CIFS Client의 개방 모드 잠금과 충돌하는 경우 파일에서 자문 잠금을 얻지 않습니다. 즉, HP-UX 프로세스의 자문 잠금과 충돌하는 경우 CIFS Client는 파일을 열 수 없습니다.


개방 모드 잠금을 HP-UX 자문 잠금으로 바꾸려면 smb.confmap share modes 설정을 yes로 변경해야 합니다. map share modes의 기본 설정은 no입니다.












변경 알림을 사용한 성능 조정



이 절에서는 변경 알림 기능 및 국제화를 사용한 성능 조정에 대해 설명합니다.


Samba Server에서는 변경 알림이라고 하는 새 기능을 지원합니다. 변경 알림 기능을 사용하면 클라이언트는 매핑된 파일 공유의 디렉토리 아래에 있는 파일 또는 하위 디렉토리에 변경 사항이 있을 경우 서버로부터 알림을 요청할 수 있습니다. 지정된 디렉토리 내에 포함된 파일 또는 디렉토리가 수정된 경우 서버는 클라이언트에게 이 사실을 알립니다. 이 기능의 목적은 클라이언트 화면의 Windows 탐색기가 최신 정보를 유지하도록 하는 것입니다. 그 결과, 사용자가 Windows 탐색기를 통해 보고 있는 파일이 변경되면 이는 즉시 화면에 반영됩니다.


Samba에서 이 기능을 구현하는 유일한 방법은 해당 디렉토리 아래의 모든 파일과 하위 디렉토리를 주기적으로 검색하고 마지막 검색 이후에 변경이 있었는지 확인하는 것입니다. 이 작업은 리소스를 많이 사용하므로 Samba뿐 아니라 시스템에서 실행되는 다른 응용 프로그램의 성능에 영향을 끼칠 수 있습니다. 검색의 리소스 사용량에 영향을 주는 주요 요소는 변경 알림 요청이 있는 디렉토리 수와 해당 디렉토리 크기의 두 가지입니다. Windows 탐색기(또는 다른 파일 브라우저)를 실행하는 클라이언트가 많거나 공유 디렉토리에 파일 및/또는 하위 디렉토리가 많은 경우 각 검색 주기에서는 CPU 사용량이 많아집니다.


성능상의 영향을 줄이기 위해, 모니터링하도록 요청된 디렉토리에서 Samba의 변경 검색 주기를 조절할 수 있습니다. Samba의 변경 검색 주기를 조절하는 매개 변수는 Change Notify Timeout 입니다. 매개 변수 값은 각 검색 주기가 시작되는 간격을 초 단위로 나타냅니다. 기본값은 60입니다. 따라서 시스템에서 검색 알림 요청이 있는 모든 디렉토리를 검색하는 데 55초가 걸린다면 항상 높은 부하가 걸리게 됩니다. Change Notify Timeout 값을 더 큰 값으로 늘려 이러한 변경 알림 디렉토리 검색 주기를 줄일 수 있습니다. 이 방법의 문제는 클라이언트가 변경 알림을 요청한 디렉토리 내의 변경 사항을 확인하는 시간이 늦어진다는 점입니다. 성능 감소라는 문제와 클라이언트 파일 브라우저의 업데이트가 늦어지는 문제 사이에서 적절하게 선택해야 합니다.












NFS(Network File System) 또는 CFS(Clustered File System)에서 HP CIFS Server를 사용할 경우의 특수 고려 사항



NFS 및 CFS에서는 모두 여러 시스템에서 고유한 파일 저장 장치에 대한 파일 시스템 액세스를 제공합니다. 그러나 여러 시스템에서 파일 특히, 쓰기 액세스용으로 열린 파일에 대한 액세스를 제어하는 경우 문제가 발생할 수 있습니다. 응용 프로그램이 네트워크나 클러스터를 인식하지 못할 수도 있습니다. 여러 시스템과 관련될 경우 응용 프로그램에서 잠금 메커니즘을 사용하지 못할 수도 있습니다. NFS 또는 Veritas CFS 환경에서 HP CIFS Server를 사용하는 경우에는 다음에 유의해야 합니다.






  • CIFS Server를 여러 노드에서 동시에 실행하는 경우 NFS 또는 Veritas CFS를 사용하여 smb.conf 구성과 /var/opt/samba/locks/var/opt/samba/private에 있는 해당 하위 CIFS 시스템 파일을 동시에 공유해서는 안 됩니다.


    이름/IP 등록 충돌 등 여러 노드에서 구성 파일을 동시에 공유하면 안 되는 실무적인 이유가 여러 가지 있습니다. 또, smb.conf 파일을 공유하면 CIFS Server 시스템 데이터도 공유되어 동시 파일 액세스가 발생할 수 있고 CIFS Server가 손상될 가능성도 커집니다.




  • A.02.02 이상에서는 다른 마스터 데몬이 다른 노드의 데몬을 비롯해 데몬 PID 파일을 공유하는 경우 HP CIFS Server가 시작되지 않습니다. 기본적으로 PID 파일은 /var/opt/samba/lock 경로에 있습니다. CIFS에서 이렇게 하는 이유는 위에서 설명한 것과 같은 CIFS Server 구성의 공유 문제를 방지하기 위해서입니다.




  • HP CIFS Server를 사용하여 여러 노드에서 동시에 Veritas CFS 디렉토리를 공유하지 말아야 합니다.


    NFS 및 Veritas CFS에서는 여러 노드에서 동일한 파일을 동시에 읽고 쓸 수 있지만 대부분의 잠금 메커니즘 범위가 여러 시스템에 미치지 않으므로 여러 노드에서 HP CIFS Server를 구성할 경우에는 특히 주의해야 합니다. 동시 파일 액세스를 사용하면 여러 작성자가 서로의 작업을 덮어써서 데이터가 손상될 수 있습니다.




  • smb.conf 매개 변수 strict lockingyes로 설정하면 데이터 손상을 방지할 수 있지만 이 경우 성능이 저하될 수 있습니다.


    기본적으로 HP CIFS Server에서는 여러 클라이언트(그리고 NFS 또는 Veritas CFS를 공유하는 여러 노드)가 파일에 액세스할 수 있기 때문에 동시 파일 액세스가 발생할 수 있고, 이에 따라 데이터가 손상될 가능성도 일부 있습니다. 그래서 HP CIFS Server은 동시 파일 액세스를 방지하는 "strict locking" 메커니즘을 제공합니다. smb.conf에서 strict lockingyes로 설정되어 있으면 서버는 파일의 모든 읽기 및 쓰기 액세스에 대해 파일 잠금을 확인하고 잠금이 있으면 액세스를 거부합니다. 일부 시스템에서 이러한 확인 과정이 느리게 진행되고, 제대로 작동하는 클라이언트라면 중요한 경우 잠금 확인을 요청하기 때문에 대부분의 환경에서는 smb.confstrict lockingno로 설정하는 것이 좋습니다. strict locking의 기본값은 no입니다.












NetBIOS 이름은 포트 445에서 지원되지 않음



HP CIFS Server A.02.* 버전(Samba 3.0.x 기반)에서는 원래 포트인 139뿐 아니라 포트 445에서 연결을 받을 수 있습니다. 그러나 포트 445 연결은 TCP를 통한 SMB용으로 사용되며 NetBIOS 프로토콜을 지원하지 않습니다. NetBIOS 이름은 포트 445에서 지원되지 않습니다. 따라서 NetBIOS에 종속되는 Samba 기능은 작동하지 않습니다. 예를 들어 "include = /etc/opt/samba/smb.conf.%L"에 종속되는 "virtual server" 기술은 다른 smb.conf.<netbios name>을 참조하게 되어 작동하지 않습니다.


smb.conf 매개 변수 smb ports를 사용하면 서버가 SMB 트래픽을 수신할 포트를 지정할 수 있습니다. 포트 445를 비활성화하려면 smb ports를 139로 설정합니다. 기본적으로 smb ports는 445 139로 설정되어 있습니다.

samba 구성 문제

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다