신문지한장

[Tech] oracle ASM 구성 본문

Oracle/Tech

[Tech] oracle ASM 구성

신문지한장 2023. 12. 11. 18:51
OS : CentOS7.9 (64bit)
DB : Oracle Database 19c ( Release - 19.18.0 )

 

[1] 필요 패키지 설치 (node1, node2)

yum install -y iscsi-initiator-utils
yum install -y kmod-oracleasm

yum install -y oracleasm
yum install -y oracleasm-support
yum install oracleasmlib

 

[2] 디스크 포맷 (node1)

[root]ejdb1:/root> :fdisk -l

[root]ejdb1:/root> :fdisk /dev/sdb (n -> p -> 1 -> Enter -> Enter -> w 순서로 모든 디스크 진행) 

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x9a1fc47b.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-8388607, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-8388607, default 8388607):

Created a new partition 1 of type 'Linux' and of size 4 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

 

[3] asm 구성 (node1, node2)

[root]ejdb1:/root> :oracleasm configure -i

Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: grid
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done

 

[4] /dev/oracleasm 디렉토리 생성, oracleasm/disks에 라벨링된 디스크가 저장 (node1, node2)

[root]ejdb1:/root> :oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Configuring "oracleasm" to use device physical block size
Mounting ASMlib driver filesystem: /dev/oracleasm

 

[5] 상태 확인 (node1, node2)

[root]ejdb1:/root> :oracleasm status
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes

 

[6]configure  확인 (node1, node2)

[root]ejdb1:/root> :oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=grid
ORACLEASM_GID=dba
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=""
ORACLEASM_SCANEXCLUDE=""
ORACLEASM_SCAN_DIRECTORIES=""
ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"

 

[7] 공유 디스크 생성 (node1)

ex) oracleasm createdisk <라벨이름> <디바이스이름>

[root]ejdb1:/root> :oracleasm createdisk OCR_VOTE1 /dev/sdb1
Writing disk header: done
Instantiating disk: done

[root]ejdb1:/root> :oracleasm createdisk OCR_VOTE2 /dev/sdc1
Writing disk header: done
Instantiating disk: done

[root]ejdb1:/root> :oracleasm createdisk OCR_VOTE3 /dev/sdd1
Writing disk header: done
Instantiating disk: done

[root]ejdb1:/root> :oracleasm createdisk DATA1 /dev/sde1
Writing disk header: done
Instantiating disk: done


[root]ejdb1:/root> :oracleasm createdisk BACKUP1 /dev/sdf1
Writing disk header: done
Instantiating disk: done

 

[8] 디스크 스캔 (node1, node2)

[root]ejdb1:/root> :oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...

 

[9] 생성 리스트 확인 (node1, node2)

[root]ejdb1:/root> :oracleasm listdisks
BACKUP1
BACKUP2
DATA1
DATA2
DATA3
DATA4
OCR_VOTE1
OCR_VOTE2
OCR_VOTE3