> mariadb-client 패키지는 분산 구성원의 DBMS Alive 상태를 체크하는데 사용된다.
또한 Packet이 LVS를 경유해야하기 때문에 `ip_forward` Kernel Parameter를 활성화해야 한다.
```bash
# cat /etc/sysctl.conf |grep ip_forward
#net.ipv4.ip_forward=1
# sysctl -p
```
## Configure /etc/ha.d/ldirctord.cf
```bash
# cat /etc/ha.d/ldirectord.cf
# Global Directives
checktimeout=10
checkinterval=5
#fallback=127.0.0.1:3306
autoreload=yes
logfile="/var/log/ldirectord.log"
#logfile="local0"
quiescent=no
virtual = 180.180.180.143:3306
real = 180.180.180.211:3306 gate
real = 180.180.180.216:3306 gate
checktype = negotiate,connect
protocol = tcp
service = mysql
login ="dbmsmonitor"
passwd ="패스워드"
database ="mysql"
request ="SHOW ENGINE innodb STATUS";
scheduler = lc
```
-**Virtual** : 서비스될 IP를 지정한다. 참고적으로 반드시 VIP일 필요는 없다.
-**fallback** : 하위 웹 서버에 모두 장애가 발생할 경우에 응답할 주소다. 여기서는 80으로 명시했지만, LVS 자체에 웹 서버를 구성해서 응답하도록 포트를 변경할 수도 있다.
-**real** : 하위 웹 서버의 IP를 지정한다.
-**service** : 분산/체크할 서비스를 명시한다. http, mysql 등의 **TCP 기반 서비스가 가능**하다.
-**request** : 헬스체크 시 하위 웹서버에 요청할 주소 또는 파일 이다.
-**receive** : request에서 요청 시 응답받을 값을 지정한다.
-**scheduler** : 분산 알고리즘을 지정한다. 라운드로빈(**rr**), 가중치 라운드로빈(**wrr**), 최소 커넥션(**lc**), 가중치 최소커넥션(**wlc**), 로컬리티베이스 최소커넥션(**lblc**), 로컬리티베이스 리플리케이션 최소커넥션(**lblcr**), 수신해시(**dh**), 송신해시(**sh**), 최소지연예측(**sed**), 큐없음(**nq**)
-**protocol** : tcp/udp 를 사용할 수 있다.
-**checktype** : 헬스체크의 방식을 지정한다. **negotiate**(특정 조건을 통해 서비스가 살아있음을 체크하는 방식), **connect**(단순하게 포트가 살아있는지를 체크하는 방식)의 두 가지가 존재하며, **권장은 두 가지를 모두 지정하는 것(negotiate, connect)** 이다.