corosync + spacemaker + nginx + nfs 높 은 사용 가능

corosync + pacemaker 를 사용 하여 간단 한 nginx 를 만 든 다음 nfs 를 nginx 의 웹 방문 디 렉 터 리 에 마 운 트 합 니 다.
nginx 는 소스 코드 가 설치 되 어 있 기 때문에 systemd 에 기록 하여 관리 해 야 pacemaker 에 의 해 인식 된다.다음은 nginx 시작 파일 을 작성 합 니 다.
[root@centosa system]# cat /etc/systemd/system/nginx.service 
[Unit]
Description=nginx
After=network.target
  
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target

그 다음 에 이전의 nginx 를 멈 추고 systemctl start nginx 로 시작 합 니 다.
두 노드 를 모두 시작 항목 에 추가 합 니 다.그리고 부팅 으로 설정: systemctl enable nginx
여 기 는 crm 으로 nginx 고 를 설정 할 수 있 습 니 다.
먼저 nginx 를 멈 추고 클 러 스 터 를 통 해 nginx 를 시작 합 니 다.
1. nginx 자원 추가:
crm(live)configure# primitive nginx systemd:nginx
crm(live)configure# verify
crm(live)configure# commit

2. nfs 마 운 트 자원 을 추가 한 다음 에 nginx 와 연결 하고 선후 순 서 를 설정 합 니 다.
crm(live)configure# primitive nfs-server ocf:heartbeat:Filesystem params device=192.168.40.145:/nfsdata directory=/usr/local/nginx/html/ fstype=nfs op start timeout=100 op stop timeout=100
crm(live)configure# verify
crm(live)configure# colocation nginx_with_nfs-server inf: nginx nfs-server
crm(live)configure# order nginx_after_nfs-server Mandatory: nfs-server nginx
crm(live)configure# verify
crm(live)configure# commit

3. vip 자원 을 추가 하고 nginx 와 연결 한 다음 에 선후 순 서 를 설정 합 니 다.
crm(live)configure# primitive vip ocf:heartbeat:IPaddr params ip=192.168.40.100 op monitor interval=20 timeout=20 on-fail=restart
crm(live)configure# colocation vip_with_nginx inf: nginx vip
crm(live)configure# order vip_after_nginx Mandatory: nginx vip
crm(live)configure# verify
crm(live)configure# commit

4. 설정 정보 보기:
crm(live)configure# show
node 1: centosa \
	attributes standby=on
node 2: centosb \
	attributes standby=off
primitive nfs-server Filesystem \
	params device="192.168.40.145:/nfsdata" directory="/usr/local/nginx/html/" fstype=nfs \
	op start timeout=100 interval=0 \
	op stop timeout=100 interval=0
primitive nginx systemd:nginx
primitive vip IPaddr \
	params ip=192.168.40.100 \
	op monitor interval=20 timeout=20 on-fail=restart
order nginx_after_nfs-server Mandatory: nfs-server nginx
colocation nginx_with_nfs-server inf: nginx nfs-server
order vip_after_nginx Mandatory: nginx vip
colocation vip_with_nginx inf: nginx vip
property cib-bootstrap-options: \
	have-watchdog=false \
	dc-version=1.1.16-12.el7_4.4-94ff4df \
	cluster-infrastructure=corosync \
	cluster-name=mycluster \
	stonith-enabled=false \
	default-action-timeout=100s

5. 상태 보기:
crm(live)# status
Stack: corosync
Current DC: centosb (version 1.1.16-12.el7_4.4-94ff4df) - partition with quorum
Last updated: Wed Oct 25 23:12:30 2017
Last change: Wed Oct 25 23:12:25 2017 by root via cibadmin on centosa
2 nodes configured
3 resources configured
Online: [ centosa centosb ]
Full list of resources:
 nginx(systemd:nginx):Started centosa
 nfs-server(ocf::heartbeat:Filesystem):Started centosa
 vip(ocf::heartbeat:IPaddr):Started centosa

시작 의 우선 순 서 를 정리 합 니 다 (먼저 마 운 트 하고 nginx 를 시작 한 다음 VIP 를 시작 합 니 다).
nfs-server > nginx >vip

마 운 트 상태 보기:
[root@centosa ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/cl-root       18G  3.6G   15G  20% /
devtmpfs                 478M     0  478M   0% /dev
tmpfs                    489M   39M  450M   8% /dev/shm
tmpfs                    489M  6.7M  482M   2% /run
tmpfs                    489M     0  489M   0% /sys/fs/cgroup
/dev/sda1               1014M  168M  847M  17% /boot
tmpfs                     98M     0   98M   0% /run/user/0
192.168.40.145:/nfsdata   17G  3.6G   14G  21% /usr/local/nginx/html

사실은 nginx 웹 페이지 에 마 운 트 된 디 렉 터 리 입 니 다.
nfs 서버 에 가서 공 유 된 파일 을 확인 하 세 요:
[root@centos1 nfsdata]# ls
index.htm  index.html
[root@centos1 nfsdata]# cat index.html
hh

VIP 에 직접 접근:
[root@centos1 nfsdata]# curl http://192.168.40.100
hh

현재 메 인 노드 를 오프라인 으로 한 다음 에 status 를 계속 닦 으 면 설정 순서에 따라 멈 춘 다음 에 설정 순서에 따라 다른 노드 로 열 리 는 것 을 발견 할 수 있 습 니 다.
crm(live)# node standby
crm(live)# status
Stack: corosync
Current DC: centosb (version 1.1.16-12.el7_4.4-94ff4df) - partition with quorum
Last updated: Wed Oct 25 23:20:50 2017
Last change: Wed Oct 25 23:20:39 2017 by root via crm_attribute on centosa
2 nodes configured
3 resources configured
Node centosa: standby
Online: [ centosb ]
Full list of resources:
 nginx(systemd:nginx):Started centosb
 nfs-server(ocf::heartbeat:Filesystem):Started centosb
 vip(ocf::heartbeat:IPaddr):Started centosb

다른 노드 의 마 운 트 상황 보기:
[root@centosb ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/cl-root       18G  4.4G   14G  25% /
devtmpfs                 226M     0  226M   0% /dev
tmpfs                    237M   54M  183M  23% /dev/shm
tmpfs                    237M   13M  224M   6% /run
tmpfs                    237M     0  237M   0% /sys/fs/cgroup
/dev/sda1               1014M  173M  841M  18% /boot
tmpfs                     48M     0   48M   0% /run/user/0
192.168.40.145:/nfsdata   17G  3.6G   14G  21% /usr/local/nginx/html

VIP 방문:
[root@centos1 nfsdata]# curl http://192.168.40.100
hh

끝나다

좋은 웹페이지 즐겨찾기