본문 바로가기

데이터베이스

ASM(Automatic Storage Management)

ASM이란?

 

자동 스토리지 관리(ASM)는 데이타베이스 구성시 기본이 되는 디스크를 효율적으로 관리하기 위해

10g에서 새로 선보이는 데이타베이스 서비스이다.

 

- ASM은 하나의 SMP장비 뿐만아니라, RAC를 구성하는 모든 노드들로 지원한다.

- ASM이 관리하는 모든 디스크에 대해 로드 밸런스 작업을 자동으로 처리 해줌으로써,

특정 디스크에 로드가 집중되는 hot spot 현상을 최소화 할수 있으며, 이로 인해 성능을 극대화 할수 있다.

- ASM은 특정 데이터에 대한 복사본을 자기 자신의 디스크에 유지할수 있기때문에, 소프트웨어 미러링

효과를 기대할수 있다.

 

- > 자동적으로 데이타 구성을 재분배할수 있는 기능을 제공해 줌으로써, 더이상 I/O튜닝이 필요없게 된다!

 

ASM의 장점

1. load balancing 작업을 자동으로 처리

 -> 특정 디스크에 load가 집중되는 hot spot 현상을 최소화

 -> I/O 성능 극대화(DBA의 개별 I/O Tuning 작업 불필요 -> 시간절약)

2. 데이터가 디스크에 균등한 크기로 저장/관리되어 fragmentation(단편화) 현상이 발생하지 않는다.

3. 디스크가 추가되거나 삭제될때 DB를 끄지 않아도 된다.

 -> 또한 기존 데이터들에 대해 재구성 작업이 자동적으로 발생.

4. ASM은 특정 데이터의 복사본을 자기자신의 디스크에 유지할수 있기에 Software 미러링 효과를 볼수 있다.

 

  

ASM Instance

- ASM은 데이터베이스 커널의 한 부분으로 존재한다.

 -> 데이터 베이스처럼 물리적으로 메모리를 차지하는 데몬 프로세스들의 집합체인 것.(ASM Instance)

- ASM Instance는 데이터 베이스를 마운트 하지 않고, 관계되는 데이터베이스 인스턴스에서 사용 가능한 데이타 파일의

메타 데이터를 관리하는 역할 담당

- ASM 파일을 직접 접근하여 처리하고, 파일의 구조에 대한 정보가 필요할 때에만 ASM 인스턴스와 서로 통신

 

RBAL

- 디스크  그룹을 대상으로 데이타 재분배 작업을 감독하는 기능

 

ASMB

- 데이터 베이스 인스턴스 상에서 동작하며, ASM 인스턴스의 포그라운드 프로세스와 통신

- 주기적인 메시지 교환을 통해 통계정보를 공유하고 양쪽 인스턴스가 제대로 동작하는 가를 검증하는 역할

데이타파일 생성과 같은ASM 인스턴스의 간섭이 필요한 경우에, 데이타베
이스 인스턴스의 포그라운드 프로세스는 ASM 인스턴스와 직접 연결하여
해당작업을수행하게된다. ASMB는ASM 인스턴스와통신이필요할때마
다 동적으로 띄워진다. 띄워진 후에 ASM 인스턴스와 연결되면, 이 연결은
ASM 인스턴스가 관리하는 디스크 그룹 내의 데이타파일을 데이타베이스
인스턴스가 요구치 않을 때까지 유지된다. 데이타베이스 인스턴스는 ASM
인스턴스와의 연결을 하나만 유지할 수 있다. 때문에ASMB 백그라운드 프
로세스는데이타베이스인스턴스당최대하나만있을수있는것이다

Disk Group

- ASM 디스크 그룹은 논리적인 단위로써 관리되는 디스크 집합체이며, ASM에서 고려되는 최상의 데이타 구조이다.

- 디스크의 크기에 비례하는 숫자의 Extent가 개별 디스크에 할당됨으로써, 애플리케이션에 의해 발생되는 I/O 로드는  하나의 디스크 그룹에 속해 있는 모든 디스크에 골고루 분산된다.

이러한 기능으로 디스크 그룹의 디스크 공간이 없는 상태는, 바로 모든 디
스크가 데이타로 꽉 차있다는 것을 의미한다. 이렇게 균등하게 I/O 로드가
분산되어 처리되기 때문에, 특정 디스크 그룹 구성시 사용되는 디스크들은
크기가 비슷하고, 동등한 수준의 성능을 나타내는 것으로 지정해야 원하는
수준의 결과를 달성할 수 있다. 즉, 가장 좋은 성능을 나타내는 디스크들을
모아 특정 디스크 그룹을 생성하고, 이 디스크 그룹에 애플리케이션에서 가
장 중요한 데이타들을 저장하는 방법을 모색할 수 있는 것이다.
현재, ASM 디스크 그룹은 동시에 63개의 디스크 그룹을 마운트 할수 있다.

Failure Group

- Failure Group은 스토리지 리소스를 공유하는 디스크 그룹의 일부분

 

여기서 말하는 '리소스'는 장애 발생시 함께 영향을 받게 되는 디스크들이

서로 공유하고 있는 리소스를 일컫는다. 예를 들어, 어느 디스크들은 SCSI
컨트롤러 1번에 연결되어 있고, 나머지 디스크들은 SCSI 컨트롤러 2에 연
결되어 있다면, 전자의 디스크들은 Failure Group 1이 되는 것이고, 나머
지 디스크들은 Failure Group 2에 속하게 되는 것이다. 즉, 운명을 같이 하
는 디스크들의 집합체가 Failure Group을 형성하는 것이다. 결과적으로,
하나의 디스크 그룹은 여러 개의 Failure Group으로 구성될 수 있다.

'데이터베이스' 카테고리의 다른 글

HWM(High Water Mark)  (0) 2010.04.29
Online Tools :: SQL Injection Vulnerability Test  (1) 2010.04.29
Undo 와 Redo 의 차이점  (1) 2010.04.29