ASM Disk Repair Timer 설정 관리
ASM repair timer이란 ASM이 손상된 디스크를 drop하고 rebalance를 수행하기 전까지 오프라인으로 남아있게 되는 총 시간을 지정한 값이다. 디스크가 오프라인으로 남아 있는 동안, ASM은 변화된 extent들을 추적하여, 일시적인 장애에 대해서는 디스크가 re-sync 할 수 있도록 한다. disk repair timer의 기본값은 3.6 시간이며 조정 가능하다. 기본값이 불충분 하다면, disk repair timer값을 일시적 디스크 장애를 감지하여 복구하는데 까지 걸리는 최대의 시간으로 셋팅
하도록 한다. 아래는 disk repair timer를 8.5 시간으로 변경하는 예이다.
disk
repair timer 파라미터가 현재 오프라인 상태의 디스크를 복구하는데 걸리는
시간을 변경하는 것이 아니라는 것을 이해하는 것이 중요하다.
Disk가 offline된 후에 해당 시간이 소요되면 해당 Disk가 사용될 수 없는 상태(drop)로 변경되는 시간.
디스크그룹 DG2에 각각 하나의 디스크를 포함하는 두 개의 fail 그룹이 포함되어
있다고 가정해 보자. 디스크 중 하나의 특정 영역이 손상되더라도 디스크그룹에는 심각한 영향을 미치지
않는다. 미러링 구성이므로 손상된 익스텐트에 해당되는 영역은 다른 디스크로부터 읽어올 수 있기 때문이다.
Oracle
Database 10g에서는 손상된 디스크가 오프라인 처리되고 다른 디스크가 디스크그룹의
읽기/쓰기 작업에 사용된다. 새로운 디스크가 추가되면, 추가된 디스크에 다른 디스크의 데이터가 완전하게 복제되어야 한다. 하지만
손상된 블록의 수는 얼마 되지 않는데 수십 기가바이트의 디스크 컨텐트를 복사하는 것은 효율적이지 않다.
Oracle Database 11g에서는 전체 디스크를 복사하는 대신 디스크의 손상된 부분만을 복구하는 작업이 수행된다. 여기서 새로운 디스크그룹 속성인 disk_repair_time을
사용하여 ASM 인스턴스가 디스크 그룹에서 디스크를 drop 처리하기
전에 얼마만큼의 에러를 허용하는지 결정하게 된다.
§ 디스크그룹 DG2의
disk_repair_time 속성을 8.5시간으로 설정하는 예
SQL> alter diskgroup DATA set attribute ‘disk_repair_time’=’8.5h’;
Diskgroup altered.
SQL> |