[Oracle] ASM

2023. 11. 28. 14:25DB

[ASM]

· storage management system 종류

흔히 유닉스에서 스토리지 디바이스를 액세스하는 방법에 따라 Block Device와 Raw Device   로 디바이스로 구분합니다. 블록 디바이스에 블록은 OS에서 파일시스템에 맞는 블록으로 디스크를 관리하며 Raw  Device는 파일시스템이 없는  개념으로 파일/디렉토리 액세스 컨트롤 등을 직접 관리한다.

1. File system

오라클이 OS를 통해서 디스크에 접근하는 방식

장점 단점
- OS 파일 시스템을 이용하기 때문에 디렉토리 구조로 관리하므로 사용자의 편의성이 높다. - OS를 통하므로 속도와 성능이 상대적으로 떨어진다.
- OS 의존도가 높다.

 

2. Raw Device

오라클이 직접 디스크에 접근하는 방식

장점 단점
- 다이렉트로 디스크에 접근하므로 속도면에서 우수하다.
- 파일시스템이 없기 때문에 당연히 파일, 디렉토리, 액세스컨트롤 등을 어플리케이션에서 직접 관리해야 되므로 관리하는 방식이 까다롭다.
ORACLE 12c 이후 버전부터는 지원하지 않는다.

 

3. ASM

File systemRaw Device의 장점을 모아 스토리지를 관리하는 기술

데이터를 저장하거나 불러오는 방식에서는 File System과 동일하지만 OS가 아닌 ASM에게 요청하는 부분에서 차이가 있다.

장점 단점
- 디스크를 추가하고 삭제하는 작업이 보다 쉽게 가능
- 서로 다른 디스크에 균등하고 자동으로 분산 가능
- File system에 비해 속도가 빠르다
- 백업 시 RMAN을 사용해야 한다.

 

 

· ASM 정의

 

ASM은 사용자의 편의성이 좋은 파일 시스템 방식의 장점과 OS를 거치지 않고 직접 디스크에 I/O를 발생시키므로 성능이 좋은 Raw Device 방식의 장점을 모아서 Oracle에서 직접 파일들이 저장되는 Storage를 관리하는 기술을 뜻한다.

 

데이터를 저장하거나 불러오는 원리는 파일시스템과 비슷하지만 OS가 아닌 ASM이 관리하는 부분에서 차이가 난다.

 

 

· ASM 장점

 

- 효율적으로 디스크를 관리한다. 디스크 자원을 손쉽게 추가하고 삭제할 수 있다. 물론 우리가 기존에 사용해왔던 오라클 버전에서도 디스크를 삭제하거나 변경할 수 있다. 하지만 그러한 삭제/추가 작업보다 그에 수반되는 테이블 스페이스 이동이나 테이블들의 재편성 작업이 더욱 많다. 하지만 ASM에서는 데이터를 기록할 때 디스크 그룹내에 있는 디스크에 골고루 배분하고, 디스크를 삭제할 때는 남아 있는 디스크에 자동으로 데이터를 옮기고, 추가시에는 새로운 디스크로 데이터를 재분배한다. 이러한 파일 이동이나 재배치 작업을 ASMDB 중단 없이 자동으로 해준다. , 관리자가 ASM 디스크 그룹에 새로운 디스크를 추가하거나 제거하기만 하면 후속 작업은 ASM에서 자동으로 Rebalancing해준다.

 

-디스크 I/O를 효과적으로 분산한다. 기존 RAID 방식의 striping은 디스크가 교체되거나 추가되면 기존 디스크와 신규 디스크 사이에 데이터가 균등하게 분산되지 못하고 쏠림 현상이 자주 발생하였다. ASMAU(Allocation Unit)란 단위로 나누어서 서로 다른 디스크로 균등하게 분산시켜 저장한다. 그래서 I/O가 효율적으로 분산되어 저장되므로 성능이 많이 향상되게 된다. 같은 디스크그룹내에 속한 디스크들의 I/O 로드는 동일하게 발생한다.

 

* striping (RAID0) : 한 디스크에 다 몰아서 사용하지 않고 분배해서 사용한다. 예로, EMP 테이블을 SELECT 할 때 그룹 안의 모든 디스크에서 골고루 작동하는데 성능이 좋다. 하지만 그룹 안의 하나의 디스크라도 깨지면 오류가 난다.

 

- 안정성을 확보한다. ASM은 특정 DATA에 대한 복사본을 자기 자신의 DISK에 유지할 수 있기 때문에 software mirroring(data중복저장) 효과를 기대할 수 있다.

 

- 비용 절감

- ORACLE 11g부터 VLDB 지원

- RAC 지원

- 자원의 물리적 장애에 대한 관리가 향상됩니다.

 

· ASM 사용과 OS 파일 시스템 사용의 차이

 

ASM을 사용함으로써 데이터베이스 설치, I/O 튜닝, 디스크 추가/제거, 데이터 마이그레이션 등의 작업에서 많은 기간과 노력을 절약할 수 있다.

 

- 데이터베이스 설치

데이터베이스 설치시에 볼륨메니저를 사용하여 볼륨그룹을 생성하거나, 파일시스템을 인스톨 하는 작업이 없습니다.

순서 OS 파일시스템 사용 ASM 사용
1 필요한 디스크 자원의 용량산정 필요한 디스크 자원의 용량산정
2 볼륨메니저, 파일시스템 설치 및 설정 ASM 인스톨
3 I/O 분산을 위한 디스크 구성 설계 디스크 그룹 생성
4 로지컬 볼륨 생성 데이터베이스 설치
5 파일시스템 생성 데이터베이스 생성
6 데이터베이스 설치  
7 데이터베이스 생성  

 

- 디스크 추가

디스크 추가시 우리는 ASM 인스턴스로 접속하여 디스크를 추가하는 SQL만 실행하면 모든 추가적인 작업들은 오라클이 수행한다.

순서 OS 파일시스템 사용 ASM 사용
1 디스크 추가 디스크 추가
2 볼륨 메니저를 통한 볼륨그룹 생성 디스크 추가 SQL문 수행
3 파일시스템 생성  
4 데이터를 추가된 공간으로 이동  
5 데이터베이스 파일 리네임  
6 I/O 튜닝  

 

- 디스크 I/O 튜닝

무엇보다 ASM의 강력한 기능은 I/O 튜닝을 하지 않아도 최적의 성능을 유지한다는 것이다. DBA는 디스크를 추가함으로써 여유공간을 유지만 하면 된다.

순서 OS 파일시스템 사용 ASM 사용
1 디스크 I/O에 대한 일일모니터링 N/A
2 Hot-spot 발견
3 Hot-spot을 없애기 위한 계획 수립
4 계획된 공간으로 데이터 이동
5 데이터베이스 파일 리네임
6 Hot-spot 현상이 없어졌는지 검증

 

- 파일 시스템 기반 ORACLEASM 기반 ORACLE

 

ASM을 사용하는 오라클에서는 운영체제의 로지컬 볼륨, 파일시스템, 파일을 사용하지 않는다. ASM은 자체적인 파일 시스템을 가지고 있으며 오라클에서 사용되는 모든 파일들을 ASM 내부에 생성할 수 있다. 따라서 모든 파일들은 SQL문을 통해 생성되고 관리된다. 우리는 오라클이 ASM을 사용하게 설정할 수 있고, OS상의 파일시스템을 사용하게 설정할 수도 있다. 하지만 ASM의 성능이 더 뛰어나다.

-DISKGROUP

하나이상의 디스크가 모여 형성된 것이 디스크 그룹이다. 테이블스페이스를 할당할 때 기존에는 데이터파일이나 Raw Device단위에서 테이블스페이스를 할당했지만 오라클 10g부터는 테이블스페이스 생성시 디스크 그룹명을 지정하여 생성한다. 테이블스페이스에 쓰여지는 데이터는 디스크 그룹내에 분산되어 저장되어 집니다.

1)stripeAU(Allocation Unit)

오라클10g에서 데이터를 기록할 때 AU(Allocation Unit)을 설정하여 AU 단위로 데이터를 쓰게 된다. AU 단위로 물리적인 디스크 공간에 데이터를 기록할 때 아래와 같이 디스크 그룹내의 서로다른 물리적 디스크에 나뉘어 기록함으로써 strip 기능을 지원하고 있다. , 디스크 그룹 내에 디스크가 최소 2개 이상 있어야 한다.

 

AU(Allocation Unit)COARSE, FINE GRAINED 두가지 옵션을 가질 수 잇다. AU의 속성이 COARSE일 경우에는 1MB의 크기로 기록되고, FINE GRAINED 일 경우 128KB의 크기로 디스크에 기록된다. 이러한 속성들은 ASM 내에 쓰여질 파일들을 생성할 때 결정되어 진다.

 

- MirroringFailure 그룹

Mirroring을 설정하고자 한다면 Failure group을 설정하여 서로 다른 Failure 그룹 사이의 소프트웨어적인 미러링을 구성할 수 있다. 그림과 같이 같은 컨트롤러에 연결되어 있는 디스크들을 일반적으로 같은 Failure Group으로 설정하여 장애시 다른 컨트롤러에 미러링된 데이터를 읽을 수 있도록 설정할 수 있다.

 

 

- Disk group 내에서의 rebalance

일반적으로 새로운 디스크를 추가하게 되면 디스크 I/O를 고려하여 데이터파일과 테이블 스페이스를 재분배 하는데 많은 시간을 할당한다. ASM은 디스크를 추가하거나 제거하면 자동으로 REBALANCE EVENT가 발생하여 기존에 있던 AU 들을 새로운 디스크에 재분배하여 자동으로 I/O 집중 현상을 감소시킬 수 있다.

 

· ASM 프로세스 구조

-ASM INSTANCE

ASM INSTANCE는 디스크 그룹에 대한 정보를 수집한다. 수집된 정보

 

 

'DB' 카테고리의 다른 글

[Oracle] ORA-15110  (1) 2023.11.28
[Oracle] ORA-01078, 01565, 17503, 29701  (1) 2023.11.28
[Oracle] RAC+ASM 구축 (CentOS 7)  (0) 2023.11.22
[Oracle] RAC+ASM 구축 환경설정 (CentOS 7)  (0) 2023.11.22
[Oracle] RAC 관련 명령어  (0) 2023.11.21