Oracle/Management

OS booting disk bonding 자동 적용 (udev / rc.local)

beom92 2023. 5. 23.

개요

RAC 클러스터 부팅시 disk 의 권한이 root 로 변경되어 다시 grid 로 바꿔주기 위한 방법을 작성해 보았습니다.

disk 권한을 변경하는 방법은 2가지가 있으며 차례대로 사용법을 작성하겠습니다.

 

 

방법 1. udev

※ roles 파일 정의
/rules.d/ 경로 안애 존재하는 파일은 반드시 .rules 파일 형태여야 합니다. (이외 파일 무시)
기본적으로 파일명의 처음은 숫자로 시작하여야하며,
이는 rules 등록(동작) 순서를 위한 사항으로 강제적인 사항은 아닙니다.
(굳이 숫자 시작안해도 상관없으나 우선순위가 뒤로 밀림)

 

udev 에 신규 rule 추가

cd /etc/udev/rules.d/

 

ex)

cp /etc/udev/rules.d/69-vdo-start-by-dev.rules /etc/udev/rules.d/50-crs-disk.rules

 

※ 해당 파일에 아래 줄 추가

ACTION=="add", KERNEL=="sdb", OWNER="grid", GROUP="dba", MODE="0660"

ACTION=="add", KERNEL=="sdc", OWNER="grid", GROUP="dba", MODE="0660"

ACTION=="add", KERNEL=="sdd", OWNER="grid", GROUP="dba", MODE="0660"

ACTION=="add", KERNEL=="sde", OWNER="grid", GROUP="dba", MODE="0660"

ACTION=="add", KERNEL=="sdf", OWNER="grid", GROUP="dba", MODE="0660"

ACTION=="add", KERNEL=="sdg", OWNER="grid", GROUP="dba", MODE="0660"

 

ACTION=="add", KERNEL=="sdb1" OWNER="grid", GROUP="dba", MODE="660"

ACTION=="add", KERNEL=="sdc1" OWNER="grid", GROUP="dba", MODE="660"

ACTION=="add", KERNEL=="sdd1" OWNER="grid", GROUP="dba", MODE="660"

ACTION=="add", KERNEL=="sde1" OWNER="grid", GROUP="dba", MODE="660"

ACTION=="add", KERNEL=="sdf1" OWNER="grid", GROUP="dba", MODE="660"

ACTION=="add", KERNEL=="sdg1" OWNER="grid", GROUP="dba", MODE="660"

 

systemd-udevd 서비스 실행 상태 확인 (root 계정으로 실행)

명령어:

systemctl [status / enable] systemd-udevd

 

 


 

 

방법 2. rc.local

rc.local 파일에 적용하고자 하는 구문을 작성하시면 됩니다.  (단.rac1,rac2 모두 적용 필요)

rc.local 파일은 booting 이 완료 되고 마지막에 실행되어 만약 Cluster 가 먼저 시작된다면 에러가 발생하다가 해당 파일이 적용되고 성공하게 됩니다.

 

vi /etc/rc.d/rc.local

 

# rc.local 파일 아래 적용하고자 하는 내용 추가

ex)

chown grid:dba /dev/sdb

chown grid:dba /dev/sdc

chown grid:dba /dev/sdd

 

 

rc-local 서비스 실행 상태 확인

systemctl status rc-local

systemctl start rc-local

[systemctl enable rc-local / systemctl disable rc-local]

 

 

* systemctl 서비스 시작시에 조건이 충족되지 않았다는 에러가 발생.

/etc/rc.local 파일의 주석부분을 보면

# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure

이러한 내용을 확인 가능합니다.

rc.local 에 대한 권한을 부여해주시면 실행가능합니다.

 

 

rc.local 에 대하여 유저,그룹에 쓰기 권한이 필요 (rac1,rac2 모두 적용)

ex) chmod +x grid:dba /etc/rc.d/rc.local

ex) chmod 766 grid:dba /etc/rc.d/rc.local

 

 

댓글