Sun Java System Application Server 9.1 고가용성 관리 설명서

ProcedureSolaris에서 공유 메모리 및 세마포 구성

세마포가 전역 운영 체제 자원이기 때문에 구성은 HADB뿐만 아니라 호스트에서 실행 중인 모든 프로세스에 의존합니다. Solaris에서 /etc/system 파일을 편집하여 세마포 설정을 구성합니다.

  1. 루트로 로그인합니다.

  2. 공유 메모리를 구성합니다.

    • 호스트에서 단일 공유 메모리 세그먼트의 최대 크기를 지정하는 shminfo_shmmax를 설정합니다. 이 값을 HADB 호스트 시스템에 설치된 총 RAM 크기로 설정하되 2GB가 초과되지 않는 16진수 값으로 설정합니다.

      예를 들어, 2GB RAM의 경우 /etc/system 파일에서 다음과 같이 값을 설정합니다.


      set shmsys:shminfo_shmmax=0x80000000

      주 –

      호스트 시스템의 메모리를 확인하려면 다음 명령을 사용합니다.


      prtconf | grep Memory

    • Solaris 8 이전 버전에서는 하나의 프로세스가 연결할 수 있는 최대 공유 메모리 세그먼트 수인 shminfo_shmseg를 설정합니다. 이 값을 호스트당 노드 수의 6배로 설정합니다. 호스트당 최대 6개 노드인 경우 /etc/system 파일에 다음을 추가합니다.


      set shmsys:shminfo_shmseg=36

      Solaris 9 이상에서는 shmsys:shminfo_shmseg가 더 이상 사용되지 않습니다.

    • 전체 시스템의 최대 공유 메모리 세그먼트 수인 shminfo_shmmni를 설정합니다. 각 HADB 노드가 6개의 공유 메모리 세그먼트를 할당하므로 HADB에 필요한 값은 호스트당 노드 수의 6배 이상이어야 합니다. Solaris 9에서는 호스트당 최대 6개 노드인 경우 기본값을 변경할 필요가 없습니다.

  3. 세마포를 구성합니다.

    예를 들어, /etc/system 파일에서 다음 세마포 구성 항목을 확인합니다.


    set semsys:seminfo_semmni=10
    set semsys:seminfo_semmns=60
    set semsys:seminfo_semmnu=30

    해당 항목이 있을 경우 아래와 같이 값을 늘립니다.

    /etc/system 파일에 이러한 항목이 없으면 파일 끝에 추가합니다.

    • 최대 세마포 식별자 수인 seminfo_semmni를 설정합니다. 각 HADB 노드에는 하나의 세마포 식별자가 필요합니다. Solaris 9에서는 호스트당 최대 6개 노드인 경우 기본값을 변경할 필요가 없습니다. 예를 들면 다음과 같습니다.


      set semsys:seminfo_semmni=10
    • 전체 시스템의 최대 세마포 수인 seminfo_semmns를 설정합니다. 각 HADB 노드에는 8개의 세마포가 필요합니다. Solaris 9에서는 호스트당 최대 6개 노드인 경우 기본값을 변경할 필요가 없습니다. 예를 들면 다음과 같습니다.


      set semsys:seminfo_semmns=60
    • 시스템의 최대 실행 취소 구조 수인 seminfo_semmnu를 설정합니다. 각 연결에는 하나의 실행 취소 구조가 필요합니다(구성 변수 NumberOfSessions, 기본값 100). 호스트당 최대 6개 노드인 경우 다음과 같이 600으로 설정합니다.


      set semsys:seminfo_semmnu=600
  4. 시스템을 재부트합니다.