문서유형ㅣ기술정보
분야ㅣ설치
적용제품버전ㅣ Tibero6/Tibero7
문서번호ㅣTINTI044
개요
본 문서는 멀티패스(Multipath)를기술을 사용하여 TAS(Tibero Active Storage) 를 구성하는 방법에 대한 가이드입니다.
방법
1. TAS 개요 및 DiskSpace 구성요소
TAS 개요
TAS(Tibero Active Storage)는 별도의 외부 솔루션 없이 직접 디스크 장치를 관리하여
Tibero 운용에 필요한 데이터 파일, 로그 파일 등을 저장하기 위한 논리 볼륨 관리자(Logical Volume Manager)와 파일 시스템입니다.
또한 공유 디스크를 사용할 경우 Tibero Active Cluster(이하 TAC)기능을 사용할 수 있도록 클러스터링 기능을 제공합니다.
TAS를 이용한 Tibero 구성
2. TAS 구성방안
MultiPath -> Character Device 구성
Character Device 구성을 통하여 TAS 구성을 권장하는 이유
* DM (device-mapper) 사용 시 OS 재기동 순서를 보장할 수 없습니다.
EX) /dev/dm-0, /dev/dm-1 …
* Block Device로 인한 OS 캐쉬 및 버퍼 사용으로 인하여 TAC간
정합성 문제 발생.
* 참고
리눅스 커널 5.14에서 RAW_DRIVER가 공식적으로 제거되었습니다.
https://kernelnewbies.org/Linux_5.14 -> Remove the raw driver (obsoleted by Direct-IO)
Multipath 활용
* 스토리지에서 Raid를 이용한 Virtual Drive (LUN)을 생성 (스토리지 담당)
* 서버에서 컨트롤러를 통한 LUN 접근이 가능하도록 LUN을 할당 또는 Mapping (스토리지 담당)
* 2개 이상의 PATH를 Multipath로 구성하여 동일한 장치로 사용 (OS 담당)
Ex) multipath –ll or lsblk 확인
DiskSpace 분할 영역
분할영역 |
개수 |
필요용량 |
볼륨공유 |
디바이스 예제 |
사이즈 예제 |
|
| CFILE | 1G Device / 3개 | 3G | O | /dev/raw/raw1 | 1G | |
| /dev/raw/raw2 | 1G | |||||
| /dev/raw/raw3 | 1G | |||||
| REDO | NODE (인스턴스) 당 200G |
NODE * 200G |
O |
3NODE 인스턴스 기준 |
/dev/raw/raw4 | 200G |
| /dev/raw/raw5 | 200G | |||||
| /dev/raw/raw6 | 200G | |||||
| ARCHIVE | NODE (인스턴스) 당 500GB |
NODE * 500G |
O |
3NODE 인스턴스 기준 |
/dev/raw/raw7 | 500G |
| /dev/raw/raw8 | 500G | |||||
| /dev/raw/raw9 | 500G | |||||
| DATA | 나머지 DATA 할당 |
가용 스토리지 100TB 이상 4TB 분할 할당 |
O | 100 TB 이상 |
/dev/raw/raw21 /dev/raw/rawN ... |
4TB |
|
가용 스토리지 100TB 미만 2TB 분할 할당 |
O | 100 TB 미만 |
/dev/raw/raw22 /dev/raw/rawN ... |
2TB | ||
|
가용 스토리지 10TB 미만 400G 분할 할당 |
O | 10 TB 미만 |
/dev/raw/raw23 /dev/raw/rawN ... |
400G | ||
|
가용 스토리지 1TB 미만 200G 분할 할당 |
O | 1 TB 미만 |
/dev/raw/raw24 /dev/raw/rawN ... |
200G | ||
Character Device을 통한 Device mapping 구성
재 기동 시 권한 유지 필요
### 생성파일 위치
/etc/udev/rules.d/60-raw.rules
-- Multipath를 사용하는 경우 (ACTION==“[디바이스 옵션]”, ENV{DM_NAME}==“[multipath 명]", RUN+=“[생성 할 디바이스 명] %N“)
ACTION=="add|change", ENV{DM_NAME}=="mpathd", RUN+="/usr/bin/raw /dev/raw/raw1 %N"
ACTION=="add|change", ENV{DM_NAME}=="mpathe", RUN+="/usr/bin/raw /dev/raw/raw2 %N"
ACTION=="add|change", ENV{DM_NAME}=="mpathf", RUN+="/usr/bin/raw /dev/raw/raw3 %N"
…
-- 권한 설정 (KERNEL==“[대상 디바이스 명]”, OWNER=“[소유할 유저명]", GROUP=“[소유할 그룹명]", MODE=“[권한 설정]“)
KERNEL=="raw*", OWNER="tibero", GROUP="dba", MODE="660"
### udev rules 재시작 or OS 재기동
udevadm control --reload-rules
shutdown -r now
### udev rules 갱신
udevadm trigger --action=add
### device 조회
[root@tac1:/etc/udev/rules.d]# raw -qa
### 위치
/dev/raw/raw1
crwxrwxrwx 1 tibero dba 162, 1 Aug 11 13:39 raw1
crwxrwxrwx 1 tibero dba 172, 2 Aug 11 13:40 raw2
crwxrwxrwx 1 tibero dba 182, 3 Aug 11 13:41 raw3
TAS 생성 예제
### DiskSpace 생성 예제
DATA 영역
CREATE DISKSPACE TBDATA_DS01 EXTERNAL REDUNDANCY
FAILGROUP DFG1 DISK '/dev/raw/raw21' name disk01 attribute 'AU_SIZE'='4M';
REDO 영역
CREATE DISKSPACE TBARCH_DS01 EXTERNAL REDUNDANCY
FAILGROUP DFG1 DISK '/dev/raw/raw4' name disk02 attribute 'AU_SIZE'='4M';
ARCHIVE 영역
CREATE DISKSPACE TBREDO_DS01 EXTERNAL REDUNDANCY
FAILGROUP DFG1 DISK '/dev/raw/raw7' name disk03 attribute 'AU_SIZE'='4M';
Cluster Device 생성 예제
### CFILE 생성 예제
Cluster 등록
cmrctl add cluster --incnet inter1 --pubnet pub1 --cfile "/dev/raw/raw1, /dev/raw/raw2, /dev/raw/raw3" --name cls1