simplify your job automatic storage management · 2004-10-04 · 기존방식대asm –...
TRANSCRIPT
Simplify your Job –Automatic Storage Management
이창원컨설턴트
DB 기술팀TSC 본부한국오라클
Agenda
1. DBA Challenges2. ASM Disk group3. Mirroring/Striping/Rebalancing4. Traditional vs. ASM5. ASM administration6. ASM Summary
스토리지관리격차
0102030405060
1997
1998
1999
2000
2001
2002
2003
2004
2005
Strategic Research Corporation
Capacity in Terabytes
DiskCapacity
Capacity/DB Adm
Mgmt Gap
스토리지관리당면과제
급속도로증가하는데이타베이스크기– DBA는수천개의데이타파일을관리해야한다장애시간최소화유지
스토리지자원은많은조직과연관성을가짐– 데이타베이스관리
– 시스템관리
– 스토리지관리
– 네트워크관리
데이타베이스스토리지관리는더욱더복잡해지고고비용이요구됨
자동스토리지관리(Automatic Storage Management, ASM)
모든플랫폼에서사용가능한 , 고성능 cluster file system 균등한부하분산목적으로해당데이타가전체디스크에걸쳐서저장됨
디스크사이의통합된미러링기법지원
여타 volume manager와 file system의필요성제거Cluster database 지원
Automatic StorageManagement
OracleASM
관리범위
Disks
Logical Vol
File System
0010 0010 0010 0010 00100010 0010 0010 0010 0010Files
Tablespace
Tables
Disk Group
Logical Vol
File System
Files Tablespace
Tables
현재 ASM
“관리비용을줄일수있는최선의방법은복잡성을제거하는것입니다”
Application
Application Application Application
Database Database
File System
Volume Manager
Operating System
데이타배치
F1 F1 F1
F1 F1 F1
File 1
F1 F1 F1
F1 F1 F1
F1 F1 F1
F1 F1 F1
File 2
ASM Disk Groups
Disk Group
논리적단위로써관리되는디스크집합체
ASM Disk Groups
Disk Group
논리적단위로써관리되는디스크집합체
전체디스크를일정한크기(M bytes, Extent)로분할
ASM Disk Groups
Disk Group
논리적단위로써관리되는디스크집합체
전체디스크를일정한크기(M bytes, Extent)로분할동일 Disk group에있는모든디스크에각데이타파일을균등하게분산
ASM Disk Groups
Disk Group
논리적단위로써관리되는디스크집합체
전체디스크를일정한크기(M bytes, Extent)로분할동일 Disk group에있는모든디스크에각데이타파일을균등하게분산
파일형식에따른 Coarse / fine grain 스트라이핑지원
ASM Disk Groups
Disk Group
논리적단위로써관리되는디스크집합체
전체디스크를일정한크기(M bytes, Extent)로분할동일 Disk group에있는모든디스크에각데이타파일을균등하게분산
파일형식에따른 Coarse / fine grain 스트라이핑지원OMF(Oracle Managed Files) 지원
Disk Groups & Failure Groups
Failure Group 1 Failure Group 2
Controller 1 Controller 2
Disk Group
스토리지자원은 Disk Group과 Failure Group으로구분Disk Group은 ASM 파일들이저장되는논리적집합체이다
Disk Group은 DBA에의해지정됨Failure Group은장애발생시동일하게영향을받게되는, 공통의리소스를공유하는디스크의집합체이다
– Extent의중복된복사본은분리된Failure group에저장됨
Failure Groups은 DBA나 ASM에의해자동으로지정됨
ASM 미러링
Disk group redundancy에대한세가지선택– External: hardware 미러링에의존– Normal: 2-way 미러링– High: 3-way 미러링데이타베이스와의연계/통합으로 ‘dirty region logging’필요성제거
ASM 미러링Extent 수준의미러링개별디스크에 Primary & Mirror extent가공존
ASM 미러링Extent 수준의미러링개별디스크에 Primary & Mirror extent가공존
ASM 미러링‘hot spare disk’필요성제거
– 단지여분의디스크용량만존재하면됨
– 장애디스크에가해진 load가잔존한디스크로분산– 균형잡힌 I/O load를유지하게됨
ASM을통한데이타미러링다른스토리지 Array에저장되어있는데이타를미러링할수있다
미러링된정보를복구하기위해추가적인로깅정보나고비용의 NVRAM이필요없다
– 데이타베이스로깅(data redundancy)으로복구처리
ASM 스트라이핑Coarse stripingFine Grained striping
기본템플릿예제
NormalCoarseArchivelogNormalCoarseAutobackup
NormalCoarseTempfileNormalCoarseParameterFileNormalFineOnlinelogNormalFineFlashbackNormalCoarseDatafileNormalFineControlfile
RedundancyStripeName
ASM 동적재분배
Disk Group
스토리지구성변경시자동적인데이타재분배작업발생(온라인 !!)
ASM 동적재분배스토리지구성변경시자동적인데이타재분배작업발생(온라인 !!)추가된스토리지의용량에비례하는데이타만이전송됨
Disk Group
ASM 동적재분배스토리지구성변경시자동적인데이타재분배작업발생(온라인 !!)추가된스토리지의용량에비례하는데이타만이전송됨
수동 I/O 튜닝이필요없슴
Disk Group
ASM 동적재분배스토리지구성변경시자동적인데이타재분배작업발생 (온라인 !!)새로운스토리지로의온라인이관지원
Disk Group
ASM 동적재분배스토리지구성변경시자동적인데이타재분배작업발생 (온라인 !!)새로운스토리지로의온라인이관지원
Disk Group
ASM 동적재분배스토리지구성변경시자동적인데이타재분배작업발생 (온라인 !!)새로운스토리지로의온라인이관지원
Disk Group
ASM 동적재분배스토리지구성변경시자동적인데이타재분배작업발생 (온라인 !!)새로운스토리지로의온라인이관지원
Disk Group
ASM 구조
Pool of Storage
ASM Instance
Server
Non–RACDatabase
OracleDB Instance
Disk Group
ASM 구조
Clustered Pool of Storage
ASM Instance ASM Instance
Clustered Servers
RACDatabase
OracleDB Instance
OracleDB Instance
Disk Group
ASM 구조
Clustered Pool of Storage
ASM Instance ASM Instance
Clustered Servers
RAC Database
OracleDB Instance
OracleDB Instance
Disk GroupDisk Group
ASM 구조
Clustered Pool of Storage
ASM InstanceASM Instance ASM Instance ASM Instance
Clustered Servers
RAC or Non–RACDatabases
OracleDB Instance
OracleDB Instance
OracleDB Instance
OracleDB Instance
OracleDB Instance
Disk GroupDisk Group
기존방식대 ASM -설정
1. 스토리지용량산정2. Volume Manager, File
System 설치3. ‘hot spot’을피하기위한데이타설계
4. Logical volumes 생성5. File system 생성6. 데이타베이스 s/w 설치7. 데이타베이스생성
1. 스토리지용량산정
2. ASM 설치3. Disk Group 생성4. 데이타베이스 s/w 설치5. 데이타베이스생성
기존방식대 ASM –디스크추가
1. OS에디스크추가2. Volume Manager로필요
volume 생성3. 생성된 volume에대한 File
System 생성4. 추가된디스크로이전될데이타확인
5. 새로운파일로데이타이전6. 데이타베이스파일이름변경
7. I/O 튜닝실시
1. OS에디스크추가2. Add Disk 명령입력
기존방식대 ASM –디스크제거
1. 디스크에있는모든데이타확인
2. 제거될디스크에있는데이타를일시보관할 File system 확인
3. 새로운파일로데이타이전4. 데이타베이스파일이름변경
5. OS에서해당디스크제거6. I/O 튜닝재실시
1. Drop disk 명령수행2. 작업완료시해당디스크제거
기존방식대 ASM –데이타이관
1. OS에새로운디스크추가2. 추가된디스크의위치정보확인
3. Volume Manager로해당volume 생성
4. 새로운 File system 생성5. 새로운파일로데이타이전6. 데이타베이스파일이름변경
7. OS에서기존디스크제거8. I/O 튜닝재실시
1. OS에새로운디스크추가2. Add disk 명령수행3. 제거될디스크에대한 Drop
Disk 명령수행4. 작업완료시기존디스크제거
기존방식대 ASM – I/O 튜닝
1. 주기적 I/O 성능확인2. ‘hot spot’인지3. ‘hot spots’을제거할방법모색
4. 새로운파일로데이타이전5. 데이타베이스파일이름변경
6. ‘hot spot’제거유무확인
This space intentionally left blank
기존방식대 ASM –공간관리
1. 주기적스토리지활용도확인
2. Fragmentation 확인3. Fragmentation 제거방법모색
4. 새로운파일로데이타이전5. 데이타베이스파일이름변경
6. Fragmentation 제거유무확인
This space intentionally left blank
ASM = OSM
EM을통한 ASM 관리
ASM 관리
Diskgroups
Disks
Files 0010 0010 0010 0010 00100010 0010 0010 0010 0010
ASM diskgroups
생성시 Redundancy 값설정– External (미러링하지않음)– Normal (2-way 미러링)
적어도 2개의 failure groups 필요– High (3-way 미러링)
적어도 3개의 failure groups 필요
ASM diskstring
Scan 대상이되는디스크디렉토리(파일) 정보– /dev/rdsk*– /dev/sd[a-f]
osm_diskstring파라메터로정의OS specific default
– /dev/raw/raw* on Linux– \\.\PhysicalDrive[1-9]* on Windows
ASM init.ora파라메터
instance_type=ASM– 기본설정값은 RDBMS
osm_diskgroup=<diskgroup1>, <diskgroup2>…
– 열거된 Diskgroup은 startup시자동적으로 mount– 또는, alter diskgroup mount all
Diskgroup생성 #1
create diskgroup group1 disk ‘/dev/raw/raw1’;
create diskgroup group2 external redundancy disk ‘/dev/raw/raw2’;
Diskgroup생성 #2
Create diskgroupdgroup3 failgroupcontroller0 disk ‘/dev/c0t*’, failgroupcontroller1 disk ‘/dev/c1t*’;
V$osm_diskgroup
select name, state from v$osm_diskgroup;NAME STATE------------------ -------GROUP1 MOUNTED
Diskgroup제거
Drop diskgroup group1;Drop diskgroup group2 including contents;
ASM administration
Diskgroups
Disks
Files 0010 0010 0010 0010 00100010 0010 0010 0010 0010
V$osm_disk
osm_diskstring 파라메터 정보로 확인
– ASM 이름– OS device 경로– 공간사용율
– 성능통계치
– Redundancy
V$osm_disk
select name, total_mb, free_mb from v$osm_disk;
NAME TOTAL_MB FREE_MB------------ -------- -------GROUP1_0001 1000 453
Disk 추가
alter diskgroup group1 add disk‘/dev/raw/raw9’, ‘/dev/raw/raw10’;
데이타 재분배 작업 재개
데이타재분배작업
추가/삭제작업시자동적으로재분배작업– 관련프로세스수는 osm_power_limit=[1-11]에 의해 설정됨
명령 실행시 지정 가능
– alter diskgroup group1 drop disk group1_0000 rebalance power 4;
V$osm_operation
재분배작업시간모니터링가능– Mbyte단위의작업율– 완료시간예상가능
Select sofar, est_rate, est_minutesfrom v$osm_operation;
SOFAR EST_RATE EST_MINUTES----- -------- -----------373 400 1
ASM administration
Diskgroups
Disks
Files 0010 0010 0010 0010 00100010 0010 0010 0010 0010
ASM file 예제
데이타베이스생성시 ASM file 이름규칙을그대로사용가능(OMF 사용가능)create tablespace data datafile‘+group1/data’;
File 제거alter diskgroup group1 drop file ‘+group1/data’;
템플릿
File 생성시자세한성질부여– 미러링(3-way, 2-way, None)– Coarse (1MB) 또는 Fine-grained (8x128k) 스트라이핑
V$osm_template
Select name, redudnancy, stripe from v$osm_template where name=datafile;
NAME REDUND STRIPE--------------------- ------ ------DATAFILE NORMAL COARSE
ASM init.ora파라메터
instance_type=ASMosm_diskstring=/dev/raw/raw*osm_diskgroup=group1osm_power_limit=1
ASM Fixed Tables
V$osm_diskV$osm_diskgroupV$osm_fileV$osm_aliasV$osm_templateV$osm_operationV$osm_client
더욱낮은관리비용
0
1
2
3
4
5
6
7
8
Nbr
Ste
ps
Install Add Storage RemoveStorage
MigrateStorage
Tune I/O ManageSpace
ASM
Traditional
7 76
8
6 6
5
2 2
4
0 0
“관리비용을줄일수있는최선의방법은복잡성을제거하는것입니다”
ASM -요약
File system / Volume manager의 기능이 통합된solution최대 성능과 리소스 활용도를 높이기 위해 모든가용한스토리지로데이타베이스파일을 분산시킴
스토리지를 Disk group의집합체로가상화스토리지리소스에대한간단한관리기법제공
수동 I/O 튜닝작업필요성제거(스트라이핑)Fine / Coarse grain 스트라이핑모두지원
ASM -요약
Software 미러링지원– ‘dirty region logging’이필요치않음– ‘hot spare disk’가필요치않음
새로운디스크추가시장애시간없이자동적으로부하재분배가이뤄짐
최대한균등하게 I/O를분산함ASM 파일에대한 I/O는 direct I/O(not OS buffering) 비동기 I/O 기능이커널에포함되어있슴더욱저렴한비용으로 Mainframe 급의성능제공
“ASM으로 Grid Computing에한발더다가서시기바랍니다”
감사합니다.
Q U E S T I O N SQ U E S T I O N SA N S W E R SA N S W E R S