일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- wazuh agent 설치
- wazuh 설치
- grafana esxi monitoring
- wazuh 서버 설치
- grafana
- telegraf influxdb
- iis url rewrite
- grafana vcenter
- http 리디렉션
- IBM X3550 M4
- MSCS
- grafana esxi
- centos
- grafana telegraf influxdb esxi 모니터링
- grafana esxio
- wazuh 취약점 점검
- IIS https 무한루프
- grafana vsphere
- Prometheus
- telegraf esxi 모니터링
- URL 재작성
- prometheus grafana 연동
- FortiGate
- ubuntu 22.04+Prometheus+Grafana+Node Exporter
- Node Exporter 설치 및 연동
- piolink
- grafana esxi 모니터링
- 특정 도메인 url rewrite
- https 자동전환
- observium 설정
- Today
- Total
IDC 엔지니어의 기술 이야기
CentOS 7 DRBD + Oracle + PCSD + Corosync + Pacemaker 설치 및 운영 본문
CentOS 7 DRBD + Oracle + PCSD + Corosync + Pacemaker 설치 및 운영
붉은볼곰팅이 2019. 12. 30. 10:43/////////////////// 전체 설계도 /////////////////////
1. 하드웨어 구성 형태
1) Front
- 960G * 6 = Raid 1+0 (Disk 공간 효율을 위하여 전체 Raid 구성후 논리 Raid로 분리)
> Logical Disk 1 : 200G >> OS영역(Swap 64G) , Disk 동기화 구역 아님
>Logical Disk 2 : 2.6T >> Oracle(DB 프로그램 설치 공간) , Disk 동기화 구역 아님 >> Oracle Data , Disk 동기화 구역
2) Rear
- eno1(서비스 대역) : 192.168.20.56(ACT), 192.168.20.57(STD) >> VIP : 192.168.20.100
- eno2(DRDB 디스크 동기화 대역) : 10.100.100.1(ACT), 10.100.100.2(STD)
2. 서비스 구성 형태
1) CentOS 7.4 + DRBD + PCSD + Corosync + Pacemaker
- DRBD, PCSD, Corosync, Pacemaker 서비스 자동시작
2) 구성형태
- PCSD를 통한 corosync+pacemaker 제어
- Auto-FailBack(노드 정상화시 자동복구 금지)
- Resource : 장애발생시 Standby 전환에 포함되는 서비스 항목
- Oracle Listener 서비스 전환을 위해 tnanames.ora 파일 생성(ORACLE_HOME\network\admin)
/////////////////// DRDB 설치 및 구축 /////////////////////
** ALL은 양쪽 노드 모두에서 실행해야 되는거임
ALL # cat /etc/hosts
10.100.100.1 DB-node1
10.100.100.2 DB-node2
192.168.20.60 DB
ALL # cd /usr/local/src
ALL # wget http://elrepo.reloumirrors.net/elrepo/el7/x86_64/RPMS/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
ALL # rpm -ivh elrepo-release-7.0-2.el7.elrepo.noarch.rpm
ALL # yum -y install drbd kmod-drbd84 kernel-devel
ALL # cat /etc/drbd.conf
# You can find an example in /usr/share/doc/drbd.../drbd.conf.example
include "drbd.d/drbddata.conf";
include "drbd.d/*.res";
ALL # cat /etc/drbd.conf
# You can find an example in /usr/share/doc/drbd.../drbd.conf.example
include "drbd.d/drbddata.conf";
include "drbd.d/*.res";
ALL # cat /etc/drbd.d/drbddata.conf
resource drbd {
startup {
wfc-timeout 30;
outdated-wfc-timeout 20;
degr-wfc-timeout 30;
}
net {
cram-hmac-alg sha1;
shared-secret sync_disk;
}
syncer {
rate 100M;
verify-alg sha1;
}
on DB-node1 {
device /dev/drbd0;
disk /dev/sdb2;
address 10.100.100.1:7789;
meta-disk internal;
}
on DB-node2 {
device /dev/drbd0;
disk /dev/sdb2;
address 10.100.100.2:7789;
meta-disk internal;
}
}
ALL # drbdadm create-md storage
ALL # systemctl start drbd
MASTER # drbdadm -- --overwrite-data-of-peer primary storage
/////////////////// DRDB 설치 및 구축 /////////////////////
################### PCSD+Corosync+Pacemake 설치 및 구축 ###################
ALL # yum install -y corosync pacemaker pcs resource-agents
ALL # systemctl start pcsd.service
ALL # systemctl enable pcsd.service
ALL # systemctl enable corosync.service
ALL # systemctl enable pacemaker.service
MASTER # useradd hacluster
MASTER # passwd hacluster
MASTER # pcs cluster auth DB-node1 DB-node2 -u hacluster -p sys1234
MASTER # pcs cluster setup --name DB_cluster DB-node1 DB-node2
MASTER # pcs cluster start --all
MASTER # pcs cluster enable --all
MASTER # pcs status corosync
MASTER # pcs status
MASTER # pcs cluster cib
MASTER # pcs property set stonith-enabled=false
MASTER # pcs property set no-quorum-policy=ignore
MASTER # pcs resource defaults resource-stickiness="INFINITY"
MASTER # pcs resource create my_VIP ocf:heartbeat:IPaddr2 ip=192.168.20.60 cidr_netmask=32 op monitor interval=30s on-fail=ignore --group Oracle_Cluster
MASTER # pcs resource create oradb oracle sid="ORACLEDB" home="/oracle/app/product/11g" user="oracle" op monitor on-fail=ignore --group Oracle_Cluster
MASTER # pcs resource create oralsnr oralsnr sid="ORACLEDB" home="/oracle/app/product/11g" user="oracle" op monitor on-fail=ignore --group Oracle_Cluster
MASTER # pcs resource create oradata ocf:linbit:drbd drbd_resource=drbd op monitor on-fail=ignore
MASTER # pcs resource create orafs Filesystem device="/dev/drbd0" directory="/oradata" fstype="ext4" op monitor on-fail=ignore
MASTER # pcs resource master OraClone oradata master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
MASTER # pcs constraint colocation add orafs with OraClone INFINITY with-rsc-role=Master
MASTER # pcs constraint order promote OraClone then start orafs Adding OraClone orafs
MASTER # pcs constraint colocation add my_VIP with orafs INFINITY
MASTER # pcs constraint order orafs then my_VIP Adding orafs my_VIP
################### PCSD+Corosync+Pacemake 설치 및 구축 ###################
/////////////////// DRBD 운영 /////////////////////
3. 운영
1) Disk 동기화 정상 유무 확인
[root@DB-node1 ~]# cat /proc/drbd
version: 8.4.11-1 (api:1/proto:86-101)
GIT-hash: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@, 2018-11-03 01:26:55
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
ns:42612 nr:2288 dw:47132 dr:120537 al:41 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
Ø Connected : 정상(그 이외에 비정상)
Ø Primary/Secondary (현재 해당서버는 Primary로 운영중, )
2) 이중화 여부 정상 여부 확인
** 웹에서도 확인가능 https://192.168.20.100:2224/login (ID/PW : hacluster / sys1234)
[root@DB-node1 ~]# pcs status
Cluster name: DB_cluster
Stack: corosync
Current DC: DB-node2 (version 1.1.19-8.el7_6.4-c3c624ea3d) - partition with quorum
Last updated: Wed May 15 09:40:37 2019
Last change: Wed May 15 08:47:02 2019 by root via cibadmin on DB-node1
2 nodes configured
6 resources configured
Online: [ DB-node1 DB-node2 ]
Full list of resources:
Master/Slave Set: OraClone [oradata]
Masters: [ DB-node1 ]
Slaves: [ DB-node2 ]
Resource Group: Oracle_Cluster
my_VIP (ocf::heartbeat:IPaddr2): Started DB-node1
oradb (ocf::heartbeat:oracle): Started DB-node1
oralsnr (ocf::heartbeat:oralsnr): Started DB-node1
orafs (ocf::heartbeat:Filesystem): Started DB-node1
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
Ø Online: [ DB-node1 DB-node2 ] : 정상(그 이외에 비정상)
Ø my_VIP (ocf::heartbeat:IPaddr2): Started DB-node1 : VIP에 대한 서비스 확인(그 이외에 비정상)
oradb (ocf::heartbeat:oracle): Started DB-node1 : DB에 대한 서비스 확인(그 이외에 비정상)
oralsnr (ocf::heartbeat:oralsnr): Started DB-node1 : Oracle Listener 에 대한 서비스 확인(그 이외에 비정상)
orafs (ocf::heartbeat:Filesystem): Started DB-node1 : Oradata 파티션에 대한 서비스 확인(그 외외에 비정상)
3) 서비스 테스트 예제
** 순서대로 기재
A. DB-node1에서 Oracle Table 수정 작업
B. Active 수동전환(장애상황 연출)
[root@DB-node1 ~]# pcs cluster standby DB-node1 //약 1분정도후 전환 완료
[root@DB-node1 ~]# pcs status
Cluster name: DB_cluster
Stack: corosync
Current DC: DB-node2 (version 1.1.19-8.el7_6.4-c3c624ea3d) - partition with quorum
Last updated: Wed May 15 09:52:50 2019
Last change: Wed May 15 09:52:27 2019 by root via cibadmin on DB-node1
2 nodes configured
6 resources configured
Node DB-node1: standby //DB-node1이 Cluster에서 제외됨(디스크동기화도 안됨)
Online: [ DB-node2 ]
Full list of resources:
Master/Slave Set: OraClone [oradata]
Masters: [ DB-node2 ]
Stopped: [ DB-node1 ]
Resource Group: Oracle_Cluster
my_VIP (ocf::heartbeat:IPaddr2): Started DB-node2
oradb (ocf::heartbeat:oracle): Started DB-node2
oralsnr (ocf::heartbeat:oralsnr): Started DB-node2
orafs (ocf::heartbeat:Filesystem): Started DB-node2
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
C. DB-node2에서 좀전 수정한 Table 정상 유무 확인
D. DB-node1 정상화 된것으로 가정하고 Disk 동기화를 위한 Cluster Re-Join
** 주의. DB-node1다시 Active가 되는 것은 아님
[root@DB-node1 ~]# pcs cluster unstandby DB-node1
>> status 조회시 “Online: [ DB-node1 DB-node2 ]” 나오면 됨
>> drbd 조회시 “Connected ro: Secondary/Primary” 나오면 됨
E. DB-node2에서 Oracle Table 수정
F. DB-node1으로 다시 전환
[root@DB-node1 ~]# pcs cluster standby DB-node2
>> 전환이 완료 되면 아래 명령어 실행
[root@DB-node1 ~]# pcs cluster unstandby DB-node2
>> DB-node2 Cluster-DB2 Re-Join
G. 테스트 완료
'OS_APP > Linux' 카테고리의 다른 글
ubuntu wireshark 설치 및 사용기 (0) | 2023.07.03 |
---|---|
Linux Bind named.conf 및 Zone 이상유무 체크 (0) | 2019.06.17 |
SSH 접속 느려짐 (0) | 2019.02.26 |
CentOS Bonding (0) | 2019.02.20 |