Prometheus1) hostname 변경모니터링할 서버 컴퓨터의 hostname을 변경 후 재부팅해준다.sudo su - rootvi /etc/hostname 이렇게 이름이 바뀐 걸 확인할 수 있다. 2) 설치apt updateapt -y install prometheus prometheus-node-exporter 3) 실행systemctl restart prometheussystemctl restart prometheus-node-exporter 실행 후 http://프로메테우스IP:9090 으로 접속 4) 모니터링 대상 추가대상 컴퓨터에 프로메테우스 설치 (nginx, tomcat, DB)apt -y install prometheus-node-exportersystemctl restart..
cs
클러스터란?여러 대의 컴퓨터가 모여서 하나의 시스템으로 동작하는 것 클러스터는 왜 홀수로 구성해야 될까?쉽게 말하자면 클러스터 내의 서버들은 대표 서버를 선정하기 위해 투표를 진행한다.만약에 서버가 짝수면, 투표가 동률이 나올 수 있다.서버가 홀수면 투표에서 동률이 나올 수 없다 => 무조건 표를 제일 많이 받는 서버가 뽑힌다.mariadb에서는 투표 = '쿼럼' 이라고 한다.홀수로 구성했을 때 과반수의 개수를 계산하는 게 훨씬 쉬워서 대부분의 클러스터를 구성하는 프로그램 모두 홀수로 구성한다 클러스터 구성 실습 (DB 서버 3대)1) 서버 중지systemctl stop mariadb2) 설정 추가 (3대 중 1대만 먼저 실행)vi /etc/mysql/mariadb.conf.d/50-server.cnf마..
이번엔 아래 그림과 같은 아키텍처를 구성해보자 ! HAProxy로 웹 서버를 부하분산 시키고웹 서버(nginx) 2대, WAS 서버(톰캣) 2대, DB 서버(mariadb) 2대를 구성할 것이다. 여기서 DB는 핫 사이트(Master - Slave)를 구성해서 Master에서만 저장 및 수정이 될 수 있게 하고,keepalived를 통해 Acitve와 Standby 상태로 만들 예정이다. 1. HAProxy 1) HAProxy 설정설정 파일에서 부하 분산시킬 서버 IP 주소를 입력 후 저장해준다.vi /etc/haproxy/haproxy.cfg frontend webserver bind *:80 mode http default_backend nginx-serverbackend nginx..
진짜 대충 그린 그림...이런 아키텍처를 만들어볼 것이다.1. nginx (10.10.10.10)1) ngnix 설치apt updateapt install -y nginx 2) nginx 설정vi /etc/nginx/sites-enabled/default 설정 파일 들어가서 아래 내용 붙여넣기 (필요 없는 주석들 다 지운 상태)이때, tomcat_backend 서버 IP 주소에는 내가 설정할 톰캣 서버 IP 주소를 입력해야 한다.upstream tomcat_backend { server 10.10.10.40:8080; server 10.10.10.50:8080;}server { listen 80 default_server; listen [::]:80 d..
DB 서버 핫 사이트 구성해보기마스터 (Active) 설정 - (10.10.10.124)1) keepalived 설치apt install -y keepalived 2) keepalived 설정 파일 생성vi /etc/keepalived/keepalived.conf 안에 내용 작성 interval 5 , fall 4, rise 2=> 5초에 한 번 확인하는데, 4번 실패하면 중단되게 하라global_defs { router_id node01 enable_script_security script_user root}vrrp_script track_mariadb { script "systemctl is-active mariadb" interval 5 fall 4 rise 2..
HAProxy로 DB 서버 부하분산준비haproxy 서버 1대 (haproxy 설치)DB 서버 2대 (mariadb 설치, user 생성 후 권한 부여)haproxy 서버vi /etc/haproxy/haproxy.cfg 맨 밑줄에 다음 내용 추가 DB 서버이기 때문에 포트 번호는 3306번으로 하고, server에는 만들어둔 DB 서버 두 개의 IP 주소를 추가한다.listen stats bind *:9000 mode http option dontlog-normal stats enable stats realm Haproxy\ Statistics stats uri /statslisten mariadb bind :3306 mode tcp balance..
재해 복구 (DR)Mirror Site (미러 사이트): 주 센터와 동일한 수준의 데이터와 시스템을 원격지에 구축하고 Active 상태로 실시간 동시 서비스를 제공하는 방식 Hot Site (핫 사이트): 주 센터와 동일한 수준의 데이터와 시스템을 원격지에 구축하여 Stand-by 상태로 유지하며 재난 발생 시 Active 상태로 전환하여 서비스 제공 Warn Site (웜 사이트): 데이터만 원격지에 보관하고 서비스를 위한 시스템은 확보하지 않거나 최소한으로만 구성하고 재난 발생 시에 필요한 시스템을 구성하여 복구 Cold Site (콜드 사이트): 최소한의 준비만 해두는 것 기존 데이터를 양쪽과 똑같이 설정 (백업, 복구)DB 데이터 백업mysqldump -u root -p --all-databas..
TCP 프로토콜인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간 통신을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 한다.중요한 데이터를 안전하게 주고 받을 때 사용한다.UDP 보다 느리다.날아가면 안 되는 데이터를 통신할 때 사용 (ID, PW 등) TCP 플래그: 보낼 때 양식 종류Ack와 Syn이 제일 중요함 !U : Urgent - 긴급 bitA : Acknowledgment - 승인 bitP : Push - 밀어넣기 bitR : Reset - 초기화 bitS : Syn - 동기화 bitF : Fin - 종료 bitUDP 프로토콜일반적으로 오류의 검사와 수정이 필요 없는 프로그램에서 수행할 것을 가정으로 한다.전송 방식이 단순해서 서비스의 신뢰성이 낮고, 데이터그램 도착 순서가 바뀌거나 중복되..
sql 연습을 위한 sample 데이터 준비1. 리눅스 컴퓨터에서 파일 받아온 후 ls로 파일이 잘 받아와졌는지 확인wget [SQL 파일 링크] 2. sql 파일에 있는 것들을 한 번에 실행mariadb -u root -p 3. 테이블 있나 확인 후 권한 부여mariadb -u root -pshow databases;GRANT ALL PRIVILEGES ON [DB 이름].* TO '[사용자 이름]'@'%';FLUSH PRIVILEGE; 4. 윈도우 MySQL Workbench에서 들어온 거 확인classicmodels 디비와 테이블들이 잘 들어와있는 것을 확인할 수 있다. MySQL Workbench - SQL 실습실습하기 전 어떤 데이터베이스를 쓸 것인지 선택해야 한다. 여기서 내가 쓰고 싶은..
DBMSDBMS란?: 모든 프로그램들이 데이터베이스를 공유할 수 있도록 관리해주는 소프트웨어응용 프로그램과 데이터베이스의 중재자응용 프로그램과 데이터 간에 상호 의존 관계 문제를 해결DBMS 필수 기능어떤 DB 서버 프로그램을 쓰던지 이 기능은 무조건 있다. 1. 정의 (DDL)데이터의 형태, 구조, 데이터를 저장하는 것에 관한 내용CREATE, ALT, DROP2. 조작 (DML)데이터를 조작(검색, 갱신, 삽입, 삭제)SELECT, INSERT, DELETE, UPDATE3. 제어 (DCL)데이터의 정확성과 안전성을 유지하는 기능GRANT, REVOKE 스키마DB의 구조에 대한 정의 및 제약 조건 등을 기술한 것서버 프로그램마다 다를 수 있다형식, 구조를 갖춰서 저장한다. DB 설계 과정요구 분석 -..