1. 디스크 파티션 작업
파티션명 | 파티션 크기 | 용도 |
---|---|---|
/dev/sdb1 | 15G | Raw Device 영역으로 세부 분할하여 사용 |
/dev/sdb2 | 5G | OCFS2 영역으로 할당하여 Fast Recovery Area로 사용 (OCFS2를 이용한 공유 영역) |
A) 디스크 파티션 생성
root 유저로 수행
fdisk /dev/sdb
[root@rac1 ~]# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sdb [root@rac1 ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x71c49a77. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-2610, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +15G Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (1960-2610, default 1960): Using default value 1960 Last cylinder, +cylinders or +size{K,M,G} (1960-2610, default 2610): Using default value 2610 Command (m for help): p Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x71c49a77 Device Boot Start End Blocks Id System /dev/sdb1 1 1959 15735636 83 Linux /dev/sdb2 1960 2610 5229157+ 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@rac1 ~]# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 /dev/sdb2
fdisk 명령어로 Raw Device로 사용할 디스크의 파티션을 생성합니다.
각 프롬프트에서 n → p → 1 → "엔터(기본값 1)" → "+15G" → n → p → 2 → "엔터(기본값 1960)" → "엔터(기본값 2610)" → p → w 를 입력하여 파티션 분할
B) 디스크 파티션 확인
root 유저로 수행
fdisk -l /dev/sdb
[root@rac1 ~]# fdisk -l /dev/sdb Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x71c49a77 Device Boot Start End Blocks Id System /dev/sdb1 1 1959 15735636 83 Linux /dev/sdb2 1960 2610 5229157+ 83 Linux
생성한 파티션은 fdisk의 l 옵션으로 확인할 수 있습니다.
2. Raw Device 할당 계획
Raw Device의 이름과 크기는 다음의 표와 같이 분할하여 할당합니다.
논리 볼륨명 | 크기 | Raw Device 명 | 용도 |
---|---|---|---|
ocr01 | 300MB | /dev/raw/raw1 | Oracle Cluster Registry 1번 |
ocr02 | 300MB | /dev/raw/raw2 | Oracle Cluster Registry 2번 |
vote01 | 300MB | /dev/raw/raw3 | Voting Disk 1번 |
vote02 | 300MB | /dev/raw/raw4 | Voting Disk 2번 |
vote03 | 300MB | /dev/raw/raw5 | Voting Disk 3번 |
system | 1024MB | /dev/raw/raw6 | system 테이블스페이스 |
sysaux | 1024MB | /dev/raw/raw7 | sysaux 테이블스페이스 |
users | 1024MB | /dev/raw/raw8 | users 테이블스페이스 |
temp | 700MB | /dev/raw/raw9 | temp 테이블스페이스 |
undotbs1 | 1024MB | /dev/raw/raw10 | 1번 노드 undo 테이블스페이스 |
undotbs2 | 1024MB | /dev/raw/raw11 | 2번 노드 undo 테이블스페이스 |
control01 | 100MB | /dev/raw/raw12 | 컨트롤파일 1번 |
control02 | 100MB | /dev/raw/raw13 | 컨트롤파일 2번 |
redo01 | 200MB | /dev/raw/raw14 | 리두 로그 1번 그룹 |
redo02 | 200MB | /dev/raw/raw15 | 리두 로그 2번 그룹 |
redo03 | 200MB | /dev/raw/raw16 | 리두 로그 3번 그룹 |
redo04 | 200MB | /dev/raw/raw17 | 리두 로그 4번 그룹 |
redo05 | 200MB | /dev/raw/raw18 | 리두 로그 5번 그룹 |
redo06 | 200MB | /dev/raw/raw19 | 리두 로그 6번 그룹 |
spfile | 200MB | /dev/raw/raw20 | 파라미터 파일 |
3. 물리 볼륨 작업
A) 물리 볼륨 생성
root 유저로 수행
pvcreate /dev/sdb1
[root@rac1 ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created
파티션을 pvcreate 명령어로 물리 볼륨으로 생성합니다.
B) 물리 볼륨 확인
root 유저로 수행
pvdisplay /dev/sdb1
[root@rac1 ~]# pvdisplay /dev/sdb1 "/dev/sdb1" is a new physical volume of "19.99 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 19.99 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID hNu4BZ-gP2i-BRVB-3J4I-hCOq-aQhk-9W4MJM
생성된 물리 볼륨은 pvdisplay 명령어로 확인할 수 있습니다.
4. 볼륨 그룹 작업
A) 볼륨 그룹 생성
root 유저로 수행
vgcreate rac /dev/sdb1
[root@rac1 ~]# vgcreate rac /dev/sdb1 Volume group "rac" successfully created
vgcreate 명령어로 물리 볼륨을 볼륨 그룹으로 생성합니다.
B) 볼륨 그룹 확인
root 유저로 수행
vgdisplay rac
[root@rac1 ~]# vgdisplay rac --- Volume group --- VG Name rac System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 19.99 GiB PE Size 4.00 MiB Total PE 5118 Alloc PE / Size 0 / 0 Free PE / Size 5118 / 19.99 GiB VG UUID oSBV08-H3z1-K5P3-hoRM-8uK3-mH81-fS7ehH
볼륨 그룸은 vgdisplay 명령어로 확인할 수 있습니다.
5. 논리 볼륨 작업
A) 논리 볼륨 생성
root 유저로 수행
lvcreate -L 300M -n ocr01 rac lvcreate -L 300M -n ocr02 rac lvcreate -L 300M -n vote01 rac lvcreate -L 300M -n vote02 rac lvcreate -L 300M -n vote03 rac lvcreate -L 1024M -n system rac lvcreate -L 1024M -n sysaux rac lvcreate -L 1024M -n users rac lvcreate -L 700M -n temp rac lvcreate -L 1024M -n undotbs1 rac lvcreate -L 1024M -n undotbs2 rac lvcreate -L 100M -n control01 rac lvcreate -L 100M -n control02 rac lvcreate -L 200M -n redo01 rac lvcreate -L 200M -n redo02 rac lvcreate -L 200M -n redo03 rac lvcreate -L 200M -n redo04 rac lvcreate -L 200M -n redo05 rac lvcreate -L 200M -n redo06 rac lvcreate -L 200M -n spfile rac
[root@rac1 ~]# lvcreate -L 300M -n ocr01 rac Logical volume "ocr01" created. [root@rac1 ~]# lvcreate -L 300M -n ocr02 rac Logical volume "ocr02" created. [root@rac1 ~]# lvcreate -L 300M -n vote01 rac Logical volume "vote01" created. [root@rac1 ~]# lvcreate -L 300M -n vote02 rac Logical volume "vote02" created. [root@rac1 ~]# lvcreate -L 300M -n vote03 rac Logical volume "vote03" created. [root@rac1 ~]# lvcreate -L 1024M -n system rac Logical volume "system" created. [root@rac1 ~]# lvcreate -L 1024M -n sysaux rac Logical volume "sysaux" created. [root@rac1 ~]# lvcreate -L 1024M -n users rac Logical volume "users" created. [root@rac1 ~]# lvcreate -L 700M -n temp rac Logical volume "temp" created. [root@rac1 ~]# lvcreate -L 1024M -n undotbs1 rac Logical volume "undotbs1" created. [root@rac1 ~]# lvcreate -L 1024M -n undotbs2 rac Logical volume "undotbs2" created. [root@rac1 ~]# lvcreate -L 100M -n control01 rac Logical volume "control01" created. [root@rac1 ~]# lvcreate -L 100M -n control02 rac Logical volume "control02" created. [root@rac1 ~]# lvcreate -L 200M -n redo01 rac Logical volume "redo01" created. [root@rac1 ~]# lvcreate -L 200M -n redo02 rac Logical volume "redo02" created. [root@rac1 ~]# lvcreate -L 200M -n redo03 rac Logical volume "redo03" created. [root@rac1 ~]# lvcreate -L 200M -n redo04 rac Logical volume "redo04" created. [root@rac1 ~]# lvcreate -L 200M -n redo05 rac Logical volume "redo05" created. [root@rac1 ~]# lvcreate -L 200M -n redo06 rac Logical volume "redo06" created. [root@rac1 ~]# lvcreate -L 200M -n spfile rac Logical volume "spfile" created.
볼륨 그룹에서 논리 볼륨을 lvcreate 명령어로 생성합니다.
각 논리 볼륨을 데이터베이스에서 사용할 크기에 맞게 분할합니다.
B) 논리 볼륨 확인
root 유저로 확인
lvdisplay
[root@rac1 ~]# lvdisplay --- Logical volume --- LV Path /dev/rac/ocr01 LV Name ocr01 VG Name rac LV UUID sfyuvs-FxJB-Si3n-aMh5-ccCi-lhka-gC7bLD LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:18 +0900 LV Status available # open 0 LV Size 300.00 MiB Current LE 75 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:0 --- Logical volume --- LV Path /dev/rac/ocr02 LV Name ocr02 VG Name rac LV UUID D4IuFl-dgQt-3xQ0-K9zk-mqCV-Ulvl-OX5WYC LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:19 +0900 LV Status available # open 0 LV Size 300.00 MiB Current LE 75 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:1 --- Logical volume --- LV Path /dev/rac/vote01 LV Name vote01 VG Name rac LV UUID fKhbvE-TVT5-SIAL-uDpo-ERnH-eBHW-r0f1eK LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:19 +0900 LV Status available # open 0 LV Size 300.00 MiB Current LE 75 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:2 --- Logical volume --- LV Path /dev/rac/vote02 LV Name vote02 VG Name rac LV UUID UBtmqB-Cu5p-0XtV-qZt8-4kbN-lrrU-aYMoft LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:19 +0900 LV Status available # open 0 LV Size 300.00 MiB Current LE 75 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:3 --- Logical volume --- LV Path /dev/rac/vote03 LV Name vote03 VG Name rac LV UUID 3RBVAU-Hic8-P7KT-NISu-a4f9-U1Vi-oDCxqU LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:20 +0900 LV Status available # open 0 LV Size 300.00 MiB Current LE 75 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:4 --- Logical volume --- LV Path /dev/rac/system LV Name system VG Name rac LV UUID 4r59WN-0S6U-U8HE-p5lw-ZHch-W2z8-GIM3iV LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:20 +0900 LV Status available # open 0 LV Size 1.00 GiB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:5 --- Logical volume --- LV Path /dev/rac/sysaux LV Name sysaux VG Name rac LV UUID xw53RB-yMU1-Bp0L-Muak-2TFv-yyH2-u6byXE LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:20 +0900 LV Status available # open 0 LV Size 1.00 GiB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:6 --- Logical volume --- LV Path /dev/rac/users LV Name users VG Name rac LV UUID 4OYTNg-VBVp-pDzV-QKAI-npgK-Lcqg-E6sc9u LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:21 +0900 LV Status available # open 0 LV Size 1.00 GiB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:7 --- Logical volume --- LV Path /dev/rac/temp LV Name temp VG Name rac LV UUID 0It0nf-shAt-02vk-1ELo-4U7d-mB3m-Op91w1 LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:21 +0900 LV Status available # open 0 LV Size 700.00 MiB Current LE 175 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:8 --- Logical volume --- LV Path /dev/rac/undotbs1 LV Name undotbs1 VG Name rac LV UUID w0qdnz-8fNd-H1KY-pcpX-Drmm-zS2l-JXbR3Y LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:21 +0900 LV Status available # open 0 LV Size 1.00 GiB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:9 --- Logical volume --- LV Path /dev/rac/undotbs2 LV Name undotbs2 VG Name rac LV UUID DuoX0o-x9d5-xLE7-mbk2-fqZY-6ANt-NaExlv LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:21 +0900 LV Status available # open 0 LV Size 1.00 GiB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:10 --- Logical volume --- LV Path /dev/rac/control01 LV Name control01 VG Name rac LV UUID On5Iig-CQhD-FDzi-gzMy-hipr-zrhL-zXCyNu LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:22 +0900 LV Status available # open 0 LV Size 100.00 MiB Current LE 25 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:11 --- Logical volume --- LV Path /dev/rac/control02 LV Name control02 VG Name rac LV UUID 2IfQ5e-PyIn-nRTp-y5M5-Oe0L-0NYu-ThfqXC LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:22 +0900 LV Status available # open 0 LV Size 100.00 MiB Current LE 25 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:12 --- Logical volume --- LV Path /dev/rac/redo01 LV Name redo01 VG Name rac LV UUID ZGnQVW-S11D-rnUr-IkHf-9ERE-fzvc-aIPnA8 LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:22 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:13 --- Logical volume --- LV Path /dev/rac/redo02 LV Name redo02 VG Name rac LV UUID jdo02b-FOR5-Ccxk-NWLR-2t2r-OdHb-HiZJDj LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:23 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:14 --- Logical volume --- LV Path /dev/rac/redo03 LV Name redo03 VG Name rac LV UUID wq2fUz-7CYv-eQve-uXZ1-EcP4-Gjob-0256MX LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:23 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:15 --- Logical volume --- LV Path /dev/rac/redo04 LV Name redo04 VG Name rac LV UUID 6pTh1y-kLOy-4wqo-0gAp-LWHx-JZKw-3U3E0s LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:23 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:16 --- Logical volume --- LV Path /dev/rac/redo05 LV Name redo05 VG Name rac LV UUID bksQY9-c2h8-1l1K-NGSW-sYTP-3o4q-bNV0jZ LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:24 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:17 --- Logical volume --- LV Path /dev/rac/redo06 LV Name redo06 VG Name rac LV UUID bAEGgs-hh1C-629I-05Km-i7Zk-IIPQ-ZHTipj LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:24 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:18 --- Logical volume --- LV Path /dev/rac/spfile LV Name spfile VG Name rac LV UUID DSbmj3-MRhS-IJ0F-hXPi-turJ-pZ1f-H3IcZH LV Write Access read/write LV Creation host, time rac1, 2019-04-09 09:16:25 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 249:19
분할 생성된 논리 볼륨은 lvdisplay 명령어로 확인할 수 있습니다.
6. Raw Device 등록
A) 논리 볼륨을 Raw Device로 변환
root 유저로 vi /etc/rc.d/rc.local 실행 후 추가
raw /dev/raw/raw1 /dev/rac/ocr01 raw /dev/raw/raw2 /dev/rac/ocr02 raw /dev/raw/raw3 /dev/rac/vote01 raw /dev/raw/raw4 /dev/rac/vote02 raw /dev/raw/raw5 /dev/rac/vote03 raw /dev/raw/raw6 /dev/rac/system raw /dev/raw/raw7 /dev/rac/sysaux raw /dev/raw/raw8 /dev/rac/users raw /dev/raw/raw9 /dev/rac/temp raw /dev/raw/raw10 /dev/rac/undotbs1 raw /dev/raw/raw11 /dev/rac/undotbs2 raw /dev/raw/raw12 /dev/rac/control01 raw /dev/raw/raw13 /dev/rac/control02 raw /dev/raw/raw14 /dev/rac/redo01 raw /dev/raw/raw15 /dev/rac/redo02 raw /dev/raw/raw16 /dev/rac/redo03 raw /dev/raw/raw17 /dev/rac/redo04 raw /dev/raw/raw18 /dev/rac/redo05 raw /dev/raw/raw19 /dev/rac/redo06 raw /dev/raw/raw20 /dev/rac/spfile
[root@rac1 ~]# raw /dev/raw/raw1 /dev/rac/ocr01 /dev/raw/raw1: bound to major 249, minor 0 [root@rac1 ~]# raw /dev/raw/raw2 /dev/rac/ocr02 /dev/raw/raw2: bound to major 249, minor 1 [root@rac1 ~]# raw /dev/raw/raw3 /dev/rac/vote01 /dev/raw/raw3: bound to major 249, minor 2 [root@rac1 ~]# raw /dev/raw/raw4 /dev/rac/vote02 /dev/raw/raw4: bound to major 249, minor 3 [root@rac1 ~]# raw /dev/raw/raw5 /dev/rac/vote03 /dev/raw/raw5: bound to major 249, minor 4 [root@rac1 ~]# raw /dev/raw/raw6 /dev/rac/system /dev/raw/raw6: bound to major 249, minor 5 [root@rac1 ~]# raw /dev/raw/raw7 /dev/rac/sysaux /dev/raw/raw7: bound to major 249, minor 6 [root@rac1 ~]# raw /dev/raw/raw8 /dev/rac/users /dev/raw/raw8: bound to major 249, minor 7 [root@rac1 ~]# raw /dev/raw/raw9 /dev/rac/temp /dev/raw/raw9: bound to major 249, minor 8 [root@rac1 ~]# raw /dev/raw/raw10 /dev/rac/undotbs1 /dev/raw/raw10: bound to major 249, minor 9 [root@rac1 ~]# raw /dev/raw/raw11 /dev/rac/undotbs2 /dev/raw/raw11: bound to major 249, minor 10 [root@rac1 ~]# raw /dev/raw/raw12 /dev/rac/control01 /dev/raw/raw12: bound to major 249, minor 11 [root@rac1 ~]# raw /dev/raw/raw13 /dev/rac/control02 /dev/raw/raw13: bound to major 249, minor 12 [root@rac1 ~]# raw /dev/raw/raw14 /dev/rac/redo01 /dev/raw/raw14: bound to major 249, minor 13 [root@rac1 ~]# raw /dev/raw/raw15 /dev/rac/redo02 /dev/raw/raw15: bound to major 249, minor 14 [root@rac1 ~]# raw /dev/raw/raw16 /dev/rac/redo03 /dev/raw/raw16: bound to major 249, minor 15 [root@rac1 ~]# raw /dev/raw/raw17 /dev/rac/redo04 /dev/raw/raw17: bound to major 249, minor 16 [root@rac1 ~]# raw /dev/raw/raw18 /dev/rac/redo05 /dev/raw/raw18: bound to major 249, minor 17 [root@rac1 ~]# raw /dev/raw/raw19 /dev/rac/redo06 /dev/raw/raw19: bound to major 249, minor 18 [root@rac1 ~]# raw /dev/raw/raw20 /dev/rac/spfile /dev/raw/raw20: bound to major 249, minor 19
쉘에서 수행할 경우 서버를 재부팅하게 되면 초기화되므로 /etc/rc.d/rc.local에 등록합니다.
B) Raw Device 소유자, 그룹 및 권한 정의
root 유저로 vi /etc/udev/rules.d/60-raw.rules 추가
ACTION=="add", KERNEL=="raw*", OWNER=="grid", GROUP=="dba", MODE=="0660" #ACTION=="add", KERNEL=="raw*", OWNER=="oracle", GROUP=="dba", MODE=="0660"
Raw Device 의 소유자, 그룹 및 권한 설정이 재부팅시에도 적용될 수 있도록 rules에 추가합니다.
{"enableNumbering":true}