Automatic Storage Management
ASM has three important components
- The ASM instance
- Disk Group
- ASM Files
In l0g, there are two types of Instances
- Database Instance
- ASM Instance
The ASM instance which is generally named +ASM, is started with the instance_type=ASM in ‘init.ora’ parameter. This parameter, when set, signals the Oracle initialization routine to start an ASM instance and not a standard database instance. Unlike the standard database instance, the ASM contains no physical files; such as log files, Control files or datafiles, and only requires a few ‘init.ora’ parameters for startup.
An ASM Instance takes up about 100MB of space. Most ASM instances should need no more than 164MB of SGA.
Initialization parameters for the ASM Instance
If only one parameter is set i.e. instance_type=ASM, Oracle will startup the ASM instance with the default values for all other parameters.
Key initialization Parameters
Instance_type=ASM (we must set this parameter as ASM)
ASM_diskgroups this parameter allows name specification of any disk group that the ASM instance should automatically mount at the instance startup.
ASM_Diskstring this parameter sets the disk location for the oracle to consider during a disk-discovery process.
ASM_DISKSRTING= ‘/dev/hdsk/raw’
ASM Instance Architecture
An ASM instance has several background processes; in addition, there are TWO new Background processes:
ASM Rebalance Master (RBAL) the rebalance process is in-charge of coordinating disk activity.
ASM Rebalance (ARBn) the ARBn process performs the actual re-balancing work like moving the data extents around at the database side which uses ASM.
Instance will have TWO new ASM related background processes – RBAL and ASM background process.
- The RBAL process performs global open of the disk in the ASM disk group
- The ASMB background process connects as foreground process into the ASM instance. The ASMB process acts as the link between the ASM instance and the database instance communicating information like creation, deletion, updating statistics and performing instance health checks.
ASM Disk groups
A disk group, which is the highest level data structure in ASM, is comparable to a LVM’s volume group or a storage group.
Disks
The first task in building the ASM infrastructure is to discover and associate (adding) disk under ASM Management. A disk can be partition of a physical spindle or refer to the entire spindle itself.
Failure Group
A failure group which is a subset of a diskgroup by definition is a collection of the disks that can become unavailable due to the failure of one or all associated components.
ASM uses a unique mirroring Algorithm. ASM does not mirror disks, rather it mirrors extents.
Redundancy for disk groups can be either normal redundancy where files are two-way mirrored (require at least TWO failure groups).
High Redundancy: which provides a higher degree of protection using THREE way mirroring (requiring at least THREE failure groups).
Cluster Synchronization Services (CSS)
CSS maintains synchronization between the ASM and Database Instance.
Benefits
1) I/O is spread evenly across all available disk drives to prevent hot spots and maximize performance.
2) Performs automatic online redistribution after the incremental addition or removal of storage capacity.
3) Maintain redundant copies of data to provide fault tolerance.
4) ASM is free of cost since it is a part of the Oracle Database 10g software.
Views
v$asm_diskgroup
v$asm__client
v$asm_disk
v$asm_file
v$asm_template
v$asm_alias
v$asm_operation
Scalability
ASM imposes the following limits:
1) 63 diskgroups in a storage system
2) 10,000 ASM disk in a storage system
3) 4-Petabyte of maximum storage for each ASM disk
4) 40-exabyte maximum storage for each storage system
5) 1 million files for each disk group
6) Maximum file size(s) as shown in the following table:
Disk
|
Group Type
|
Maximum File Size
|
External
|
redundancy
|
35 TB
|
Normal
|
redundancy
|
5.8 TB
|
High
|
redundancy
|
3.9 TB
|
SYNTAX
External Redundancy
> Create diskgroup DG101 external redundancy disk
'/dev/hdsk/hdk2345', '/dev/rdsk/ hdk2346';
Normal Redundancy
Create diskgroup with NORMAL redundancy
failgroup cont_1 disk '/dev/hdsk/hdk2345', '/dev/rdsk/ hdk2346'
failgroup cont_2 disk '/dev/hdsk/hdk3345', '/dev/rdsk/ hdk3346'
High Redundancy
Create diskgroup with HIGH redundancy
failgroup cont_1 disk '/dev/hdsk/hdk2345', '/dev/rdsk/ hdk2346'
failgroup cont_2 disk '/dev/hdsk/hdk3345', '/dev/rdsk/ hdk3346'
failgroup cont_3 disk '/dev/hdsk/hdk4345', '/dev/rdsk/ hdk4346'
To add/drop a new disk to diskgroup
> alter diskgroup costs add disk1;
''/dev/rdsk/ hdk4347 name disk1;'
> alter diskgroup costs drop disk disk1;
No comments:
Post a Comment