11.4. CTDB 설정

CTDB 설정 파일은 /etc/sysconfig/ctdb에 있습니다. CTDB가 작동하도록 설정해야 하는 필수 영역은 다음과 같습니다:
  • CTDB_NODES
  • CTDB_PUBLIC_ADDRESSES
  • CTDB_RECOVERY_LOCK
  • CTDB_MANAGES_SAMBA (활성화해야 함)
  • CTDB_MANAGES_WINBIND (구성원 서버에서 실행하는 경우 활성화해야 함)
다음 예제에서는 예제 매개 변수와 설정한 CTDB 동작의 필수 필수의 설정 파일을 보여주고 있습니다:
CTDB_NODES=/etc/ctdb/nodes
CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
CTDB_RECOVERY_LOCK="/mnt/ctdb/.ctdb.lock"
CTDB_MANAGES_SAMBA=yes
CTDB_MANAGES_WINBIND=yes
이 매개 변수의 의미는 다음과 같습니다.
CTDB_NODES
클러스터 노드 목록을 포함하는 파일의 위치를 지정합니다.
CTDB_NODES가 참조하는 /etc/ctdb/nodes 파일은 다음 예제와 같이 클러스터 노드의 IP 주소를 나열합니다:
192.168.1.151
192.168.1.152
192.168.1.153
이 예제에서 클러스터/CTDB 통신 및 클라이언트 서비스 모두에 사용되는 각 노드에는 하나의 인터페이스/IP만이 있습니다. 하지만 각 클러스터 노드는 두 개의 네트워크 인터페이스를 보유할 것을 강력히 권장합니다. 이렇게 하면 인터페이스 1 세트는 클러스터/CTDB 통신 전용으로 다른 인터페이스 세트는 공용 클라이언트 액세스 전용으로 사용할 수 있습니다. 클러스터 네트워크에 적절한 IP 주소를 사용하여 cluster.conf에 사용되는 호스트 이름/IP 주소가 동일한지 확인하십시오. 마찬가지로 public_addresses 파일에 있는 클라이언트 액세스의 공용 네트워크에 적합한 인터페이스를 사용하도록 하십시오.
/etc/ctdb/nodes 파일이 모든 노드에서 완전히 동일하다는 것은 중요합니다. 서로 다른 노드에서 다른 정보를 찾으면 CTDB는 실패하기 때문에 순서가 중요한 것입니다.
CTDB_PUBLIC_ADDRESSES
클러스터에서 내보낸 Samba 공유에 액세스하는데 사용할 수 있는 IP 주소를 나열하는 파일의 위치를 지정합니다. 이는 클러스터 Samba 서버 이름의 DNS에 설정해야 하는 IP 주소이며 CIFS 클라이언트가 연결되는 주소입니다. 클러스터 Samba 서버의 이름을 여러 IP 주소를 갖는 DNS A 레코드 유형으로 설정하고 라운드 로빈 DNS가 클러스터 노드에 걸쳐 클라이언트를 배포하게 합니다.
이 예제에서는 /etc/ctdb/public_addresses 파일에 나열된 모든 주소와 함께 라운드 로빈 DNS 항목 csmb-server을 설정했습니다. DNS는 클러스터 전체에 라운드 로빈으로 이 항목을 사용하는 클라이언트를 배포하게 됩니다.
각 노드에 있는 /etc/ctdb/public_addresses 파일의 내용은 다음과 같습니다:
192.168.1.201/0 eth0
192.168.1.202/0 eth0
192.168.1.203/0 eth0
이 예제에서는 현재 네트워크에서 사용되지 않는 세 개의 주소를 사용합니다. 실제 설정에서는 대상 클라이언트가 액세스할 수 있는 주소를 선택하십시오.
다른 방법으로 이 예제에서는 총 4 개의 공용 주소를 제외한 3 개의 노드가 있는 클러스터의 /etc/ctdb/public_addresses 파일 내용을 보여주고 있습니다. 예에서 IP 주소 198.162.2.1은 노드 0 또는 노드 1 중 하나로 호스트될 수 있으며 이러한 노드 중 최소 하나가 사용 가능한 한 클라이언트가 이 주소를 사용할 수 있습니다. 노드 0과 노드 1 모두에 문제가 발생하는 경우에만 클라이언트가 이 공용 주소를 사용할 수 없게 됩니다. 기타 다른 모든 공용 주소는 각각 하나의 노드에서만 작동할 수 있으므로 각각의 상응하는 노드가 사용 가능한 경우에만 사용할 수 있게 됩니다.
노드 0에 있는 /etc/ctdb/public_addresses 파일에는 다음과 같은 내용이 들어 있습니다:
198.162.1.1/24 eth0
198.162.2.1/24 eth1
노드 1에 있는 /etc/ctdb/public_addresses 파일에는 다음과 같은 내용이 들어 있습니다:
198.162.2.1/24 eth1
198.162.3.1/24 eth2
노드 2에 있는 /etc/ctdb/public_addresses 파일에는 다음과 같은 내용이 들어 있습니다:
198.162.3.2/24 eth2
CTDB_RECOVERY_LOCK
CTDB가 내부에서 복구에 사용할 잠금 파일을 지정합니다. 이 파일은 모든 클러스터 노드에서 액세스할 수 있도록 공용 저장소에 두어야 합니다. 예제에서는 모든 노드에 있는 /mnt/ctdb에 마운트된 GFS2 파일 시스템을 사용합니다. 이는 내보내기 되는 Samba 공유를 호스팅하는 GFS2 파일 시스템과 다릅니다. 이 복구 잠금 파일은 분할 브레인 시나리오를 막기 위해 사용됩니다. 새 CTDB 버전 (1.0.112 이상)에서는 이것이 다른 분할 브레인 방지 메카니즘으로 대체되는 한 이 파일을 지정하는 것은 옵션입니다.
CTDB_MANAGES_SAMBA
이를 yes로 설정하여 활성화하는 경우 서비스 마이그레이션/장애 조치를 제공하기 위해 필요하다고 생각되므로 CTDB가 Samba 서비스를 시작 및 중지할 수 있게 지정합니다.
CTDB_MANAGES_SAMBA가 활성화되면 다음 명령을 실행하여 smbnmb 데몬의 init 자동 시작을 비활성화해야 합니다:
[root@clusmb-01 ~]# chkconfig snb off
[root@clusmb-01 ~]# chkconfig nmb off
CTDB_MANAGES_WINBIND
이를 yes로 설정하여 활성화하는 경우 필요에 따라 CTDB가 winbind 데몬을 시작/중지할 수 있도록 지정합니다. 이는 Windows 도메인이나 활성 디렉토리 보안 모드에서 CTDB를 사용하는 경우에 활성화해야 합니다.
CTDB_MANAGES_WINBIND가 활성화되어 있는 경우, 다음 명령을 실행하여 winbind 데몬의 init 자동 시작을 비활성화해야 합니다:
[root@clusmb-01 ~]# chkconfig windinbd off