kjh00n의 기록저장소

RAID에 DB구성하기 본문

세미프로젝트

RAID에 DB구성하기

kjh00n 2024. 11. 28. 15:33

[Master DB / Slave DB]

[RAID 5 구성]

mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc

mdadm --detail /dev/md5

파일 시스템 생성해야함

mkfs -t ext4 /dev/md5

마운트 해줘야함

mkdir /raid5

mount -t ext4 /dev/md5 /raid5

마운트 됐는지 확인

df -h

vim /etc/fstab에서 마운트 설정해줘야함

mdadm --detail --scan > /etc/mdadm.conf   <===RAID 설정

[my.cnf 구성]

[mysqld]

datadir=/raid5/mysqldata

 

※ 주의! ※

/raid5까지만 만들고 raid5안에는 mysqldata를 수동으로 만들어주고 chown -R mysql:mysql /raid5/mysqldata를 설정해줘야 mysql.sock파일이 생성된다.

systemctl restart mariadb

[mariDB]

SHOW VARIABLES LIKE 'datadir';

MariaDB 데이터 디렉토리 경로를 보여준다

[설명]

datadir이란? ● 데이터베이스 파일이 저장될 장소를 알려주는 설정이다.
datadir=/raid5/mysqldata
→ "내 데이터베이스 파일은 /raid5/mysqldata라는 폴더에 저장돼!"라고 MariaDB에게 말하는거다.
socket이란? ● 데이터베이스와 내가 연결되는 다리라고 생각하면 된다.
socket=/raid5/mysqldata/mysql.sock
mysql.sock이라는 파일은 데이터베이스와 내가 요청한 데이터를 주고받는 통로? 같은 개념
mysqld의 socket MariaDB 서버가 데이터를 주고받을 통로를 설정한다. 서버가 실제로 사용하는 소켓 파일을 지정한다.
client의 socket MariaDB 클라이언트가 서버와 연결할 때 사용할 소켓 파일을 설정한다. 클라이언트가 서버와 소통할 경로를 알려준다.
설정이 필요한 이유 mysqld는 서버의 역할, client는 접속하는 역할을 하므로, 서버와 클라이언트가 같은 소켓 파일을 사용할 수 있도록 두 곳에 소켓 설정이 필요로 한다.

 

'세미프로젝트' 카테고리의 다른 글

DB EVENT  (0) 2024.12.03
방화벽 구성  (0) 2024.12.03
DB 구성  (0) 2024.12.03
DB 이중화 옵션 (SLAVE에서 설정)  (0) 2024.11.28
MariaDB 이중화 (Master - Slave)  (0) 2024.11.28