클러스터란?여러 대의 컴퓨터가 모여서 하나의 시스템으로 동작하는 것 클러스터는 왜 홀수로 구성해야 될까?쉽게 말하자면 클러스터 내의 서버들은 대표 서버를 선정하기 위해 투표를 진행한다.만약에 서버가 짝수면, 투표가 동률이 나올 수 있다.서버가 홀수면 투표에서 동률이 나올 수 없다 => 무조건 표를 제일 많이 받는 서버가 뽑힌다.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..
JMeter 설치공식 사이트https://jmeter.apache.org/ Apache JMeter - Apache JMeter™Apache JMeter™ The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to othjmeter.apache.org 설치를 하고 bin 폴더에 jmeter.bat 파일을 실행하면JMeter 프로그램 창이 뜬다. ..
워드프레스 서버더보기워드프레스란?사용자가 전문적인 기술 지식 없이도 웹사이트에서 콘텐츠를 생성, 관리 및 수정할 수 있도록 도와주는 콘텐츠 관리 시스템 소프트웨어워드프레스 & nginx 설치워드프레스는 php로 이루어져 있기 때문에 php를 설치해줘야 한다.apt updateapt install -y php-imagick php8.1-fpm php8.1-mbstring php8.1-bcmath php8.1-xml php8.1-mysql php8.1-common php8.1-gd php8.1-cli php8.1-curl php8.1-zipsystemctl restart php8.1-fpmapt install -y nginx status로 돌아가는지 확인syetemctl status php8.1-fpm 웹..
데이터베이스데이터란?: 현실의 무언가로부터 측정한 값. 어떻게 가공하느냐에 따라 달라질 수 있다. 데이터베이스란?: 데이터를 표 형태로 저장한 파일운영체제의 파일 시스템은 하드 디스크의 특정 주소에 어떤 데이터를 저장헀는지 관리해주는 것이다.=> 데이터베이스도 저장되는 '파일'이기 때문에, 하드디스크에 저장되어 있는 파일이다. 데이터베이스의 특징1. 자료 추상복잡한 자료를 쉽게 사용할 수 있다.개념화, 사물의 공통 성질을 추출한다.2. 자료 독립자료와 프로그램의 독립성을 유지한다.파일과 파일을 이용하려는 프로그램 사이에는 어떠한 연관성도 없다.한글 파일을 열려면 한컴 오피스를 깔아야 한다. => 종속되어 있음.DB는 종속되어 있지 않다.어떤 클라이언트든 DB 파일을 볼 수 있다.데이터가 변경되어도 프로그..
Git이란?소스코드를 효과적으로 관리하기 위해 개발된 분산형 버전 관리 시스템내 컴퓨터에 설치되는, 형상관리를 해주는 프로그램소스코드가 변경된 이력을 쉽게 확인할 수 있다.특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수도 있다.내가 올리려는 파일이 누군가 편집한 내용과 충돌한다면, 서버에 업로드할 때 경고 메시지가 발생한다.Git 설치https://git-scm.ccom/downloads 저장소저장소(Git repository)란 말 그대로 파일이나 폴더를 저장해두는 곳!Git 저장소에서는 파일이 변경이력 별로 구분되어 저장된다.비슷한 파일이라도 실제 내용 일부 문구가 서로 다르면 다른 파일로 인식하기 때문에 파일을 변경사항 별로 구분해서 저장이 가능하다. 평소에는 내 PC의 로컬 저장소..