Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Jira Data Center는 Jira 7.0 이상에서 사용 가능.

  • 데이터 센터 라이선스 보유

  • Session affinity 및 WebSockets 지원이 있는 로드 밸런서

  • 동일한 경로의 모든 클러스터 노드에 액세스 할 수있는 공유 디렉토리 (공유 홈 디렉토리)

    • 로컬 홈 또는 설치 디렉토리 내에 위치하지 않는 별도의 디렉토리여야 함

  • 앱 검토 및 업그레이드

데이터 센터 마이그레이션

클러스터되지 않은 데이터 센터로 마이그레이션

클러스터링 되지 않은 단일 노드에 데이터 센터 마이그레이션 하는 경우는 라이선스만 변경하면 됩니다.

  1. Administrator > Applications > Version and license

  2. 라이선스 키 변경

    Image RemovedImage Added
  3. Jira 인스턴스 재시작

Note

데이터 센터 라이선스는 서버에 사용한 라이선스와 일치해야합니다. 예를 들어 서버 라이선스에 Jira Software 및 Jira Service Desk가 포함되어 있지만 새 라이선스에 Jira Software만 있는 경우 업데이트 할 수 없으며 다음 오류가 표시될 가능성이 높습니다.

...

클러스터 설정

공유 디렉토리 설정

  1. 공유 폴더 생성 - NFS 설정 참조하여 폴더 생성

  2. Jira 인스턴스 중지

    Code Block
    languagebash
    $ cd <jira install directory>/bin
    $ ./stop-jira.sh
  3. 공유폴더에 아래 폴더 복사

    • data, plugins, logos, import, export, caches

      Code Block
      languagebash
      cp -R <jira local home directory>/{data,plugins,logos,import,export,caches} <jira shared home directory>

클러스터에서 동작하도록 Jira 인스턴스 구성

  1. JIRA 로컬 홈디렉토리에 파일 생성 - 공유폴더와 node 아이디 설정

    Code Block
    languagebash
    $ cd <jira local home directory>
    $ vi cluster.properties
    ---------------------------
    # 클러스터에서 식별 가능한 ID
    jira.node.id = node1
    # 모든 Jira 노드의 공유 홈 디렉토리 위치
    jira.shared.home = <jira shared home directory>
    ---------------------------
  2. 열린 파일의 Max 값 변경

    Code Block
    $ vi <jira install directory>/bin/setenv.sh
    ---------------------------
    ulimit -n 16384
    ---------------------------
  3. Jira 인스턴스를 시작하고 데이터 센터 라이선스 적용

Expand
titleCluster.properties 파일 매개 변수

매개 변수

필수

설명 / 값

jira.node.id

이 고유 ID는 아파치 구성의 사용자 이름과 밸런서멤버 항목과 일치해야 함

jira.shared.home

모든 Jira 노드에 대한 공유 홈 디렉토리의 위치

ehcache.peer.discovery

아니오

노드가 서로를 찾는 방법 설명:

  • 기본값 – Jira가 노드를 자동으로 검색(권장)

  • 자동 – EhCache의 멀티캐스트 검색을 사용. EhCache가 사용하는 역사적 방법이지만 구성이 어려울 수 있으며, 아틀라시안에서는 권장하지 않음.

Expand
title자동을 선택하면...

ehcache.peer.discovery = automatic을 설정하는 경우 다음 매개 변수를 설정:

* ehcache.multicast.address
* ehcache.multicast.port
* ehcache.multicast.timeToLive
* ehcache.multicast.hostName

매개 변수에 대한 자세한 내용은 Ehcache 설명서를 참조

ehcache.listener.hostName

아니오

캐시 통신을 위한 현재 노드의 호스트 이름. 매개 변수가 설정되지 않은 경우 Jira Data Center에서 내부적으로 확인한다.
네트워크의 호스트 이름을 확인하는데 문제가 있는 경우 이 매개 변수를 설정.

ehcache.listener.port

아니오

노드가 수신할 포트(기본값은 40001)

여러 노드가 동일한 호스트에 있거나 이 포트를 사용할 수 없는 경우 이 매개 변수를 수동으로 설정해야 할 수 있다.

ehcache.object.port

아니오

레지스트리에서 바인딩된 원격 개체가 호출을 수신하는 포트(기본값은 40011).

여러 노드가 동일한 호스트에 있거나 이 포트를 사용할 수 없는 경우 이 매개 변수를 수동으로 설정해야 할 수 있다.

ehcache.listener.socketTimeoutMillis

아니오

기본적으로 이 값은 EhCache 기본값으로 설정

로드 밸런서에 첫 번째 노드 추가

  1. Apache Load Balancer에 첫번째 노드 추가

    Code Block
    $ cd /etc/apach2/sites-available
    $ sudo a2enmod headers proxy_balancer proxy_http proxy lbmethod_byrequests slotmem_shm    ## 모듈 활성화
    $ vi <jira datacenter domain>.conf    ## 원하는 이름으로 .conf 파일 생성
    ---------------------------
    <VirtualHost *:80>
            ServerName <jira datacenter domain>
            Header add Set-Cookie  "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/"  env=BALANCER_ROUTE_CHANGED
            <Proxy balancer://jiracluster>
                    BalancerMember http://<node1 IP주소:포트> route=<node1 ID>
                    BalancerMember http://<node2 IP주소:포트> route=<node2 ID>
            </Proxy>
            ProxyPass / balancer://jiracluster/ stickysession=ROUTEID
    </VirtualHost>
    ----------------------------
    $ sudo a2ensite <jira datacenter domain>.conf     ## 사이트 활성화
    $ sudo service apache2 reload     ## apach 서버 다시 시작

  2. 노드를 다시 시작한 다음 설정한 Jira 도메인으로 접속. 로드 밸런서가 제대로 작동하면 Jira에 액세스하는 데 문제가 없습니다. 

Info

Nginx의 경우 쿠키 기반 session affinity를 유료 버전인 plus 에서만 지원하기 때문에 무료 버전에서도 쿠키 기반 session affinity를 지원하는 Apache를 추천합니다.

나머지 노드를 클러스터에 추가

  1. Jira 설치 디렉토리와 로컬 홈 디렉토리를 첫 번째 노드에서 새 노드로 복사

  2. 새 노드가 공유 홈 디렉토리에 액세스(읽기 및 쓰기) 할 수 있는지 확인

  3. cluster.properties 파일을 편집하여 노드 ID 변경. 모든 노드 ID는 노드 간에 고유해야 합니다.

  4. 새 노드에서 Jira 인스턴스 시작. 이슈 생성, 검색, 첨부 파일 및 사용자 지정이 예상대로 작동하는지 확인

  5. 모든 것이 정상이면 트래픽을 새 노드로 라우팅하도록 로드 밸런서에 노드 추가 구성