1. 공유 디스크(Shared Disk) 추가
공유 디스크(Shared Disk) 추가를 위해 "Oracle11g_RAC1" 시스템을 shutdown 합니다.
# shutdown -h now
실제 운영되는 RAC 서버는 일반적으로 스토리지를 공유 디스크로 사용하고 스토리지의 디스크를 각 노드에 마운트를 해서 연결하지만, VMware에서는 스토리지 관련 기능을 제공하고 있지 않기때문에 공유 디스크로 사용 할 디스크를 추가로 생성한 후에 각 가상머신에서 동일한 디스크로 연결되는 방법을 이용하여 설정해 줍니다.
- 'Oracle11g_RAC1'의 Summary 탭에서 Commands 항목의 'Add Hardware'를 클릭 합니다.
- 'Hard Disk'를 클릭 합니다.
- 'Create a New Virtual Disk'를 클릭 합니다.
- 저장 경로는 'Oracle11g_RAC' 가상 머신 하위가 아닌 상위에 'Shared' 디렉토리를 생성하여 'asm1.vmdk'파일로 생성해 줍니다.
- 공유 디스크의 크기는 '10GB'로 설정하고 'Disk Mode'를 클릭하여 'Independent'와 'Persistent' 옵션을 체크합니다.
그리고 'Virtual Device Node'에서 Adapter는 'SCSI1', Device는 '1'을 선택한 후 Next를 클릭 합니다.
- 마지막 단계에서는 'More Hardware'를 클릭하여 위와 동일한 방법으로 4개의 공유 디스크를 더 추가해 줍니다.
- File Name: [standard] shared/asm2.vmdk
Virtual Device Node: SCSI 1:2
Mode: Independent and Persistent - File Name: [standard] shared/asm3.vmdk
Virtual Device Node: SCSI 1:3
Mode: Independent and Persistent - File Name: [standard] shared/asm4.vmdk
Virtual Device Node: SCSI 1:4
Mode: Independent and Persistent - File Name: [standard] shared/asm5.vmdk
Virtual Device Node: SCSI 1:5
Mode: Independent and Persistent
- 5번째 디스크까지 추가가 완료되면 위 단계에서 'Finish'를 클릭 합니다.
- 정상적으로 디스크 추가가 완료되면 위와같이 5개의 디스크가 더 추가된 것이 확인 됩니다.
디스크 추가 후 공유 디스크로 사용하기 위해서는 가상머신의 설정 파일 수정이 필요합니다.
워드패드와 같은 텍스트 에디터로 'Oracle11g_RAC1'가상 머신폴더 내의 'Oracle11g_RAC1.vmx'파일을 열어 아래의 내용을 수정 및 추가해줍니다.
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1.present = "TRUE"
scsi1.sharedBus = "VIRTUAL"
scsi1.virtualDev = "lsilogic"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "E:\Virtual Machines\Shared\asm1.vmdk"
scsi1:1.writeThrough = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "plaindisk"
scsi1:1.redo = ""
scsi1:2.present = "TRUE"
scsi1:2.fileName = "E:\Virtual Machines\Shared\asm2.vmdk"
scsi1:2.writeThrough = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.deviceType = "plaindisk"
scsi1:2.redo = ""
scsi1:3.present = "TRUE"
scsi1:3.fileName = "E:\Virtual Machines\Shared\asm3.vmdk"
scsi1:3.writeThrough = "TRUE"
scsi1:3.mode = "independent-persistent"
scsi1:3.deviceType = "plaindisk"
scsi1:3.redo = ""
scsi1:4.present = "TRUE"
scsi1:4.fileName = "E:\Virtual Machines\Shared\asm4.vmdk"
scsi1:4.writeThrough = "TRUE"
scsi1:4.mode = "independent-persistent"
scsi1:4.deviceType = "plaindisk"
scsi1:4.redo = ""
scsi1:5.present = "TRUE"
scsi1:5.fileName = "E:\Virtual Machines\Shared\asm5.vmdk"
scsi1:5.writeThrough = "TRUE"
scsi1:5.mode = "independent-persistent"
scsi1:5.deviceType = "plaindisk"
scsi1:5.redo = ""
파일 수정이 완료되었으면 'Oracle11g_RAC1' 가상머신을 구동시킵니다.
root 유저로 로그인 한 후 터미널에서 아래의 명령을 실행해 보면 추가된 5개의 디스크 (/dev/sdb~f)가 확인됩니다.
[root@rac1 ~]# ls /dev/sd*
/dev/sda /dev/sda2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
추가된 디스크를 ASM으로 구성하여 사용하기 위해서는 디스크의 파티셔닝이 필요합니다. fdisk 툴을 이용하여 아래와 같이 파티셔닝을 합니다.
# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 1305.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1305, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305):
Using default value 1305
Command (m for help): p
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 1305 10482381 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
- 위의 방법은 /dev/sdb를 /dev/sdb1로 하나의 파티션으로 구성해주는 방법입니다. /dev/sdc~f도 위와 같은 방법으로 파티셔닝을 해줍니다.
추가된 모든 디스크의 파티셔닝이 완료된 후 설치된 디바이스의 정보를 다시 확인해 보면 아래와 같이 확인 됩니다.
[root@rac1 ~]# ls /dev/sd*
/dev/sda /dev/sda2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
/dev/sda1 /dev/sda3 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
2. ASM(Automatic Storage Management) 디스크 구성
ASM 디스크를 구성하기 위해서는 ASMLib 관련 RPM 패키지가 설치되어 있어야 합니다.
필요한 RPM 패키지는 다음과 같습니다.
- oracleasm-support-2.1.3-1.el5.x86_64.rpm
- oracleasmlib-2.0.4-1.el5.x86_64.rpm
- oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm
위 패키지 중 oracleasm-support, oracleasm 패키지는 OEL5.5 CD에 포함되어 있어 '[Oracle 11g RAC 구축] 3. RAC 구성을 위한 각종 OS 설정'의 '1. 필수 RPM 패키지 설치' 단계에서 설치해 주었습니다. 그렇기 때문에 oracleasmlib rpm 패키지만 다운로드 하여 설치해 주면 됩니다.
ASMLib 관련 패키지는 OTN에서 다운로드가 가능합니다.
Oracle ASMLib Downloads for Red Hat Enterprise Linux Server 5
'Oracle11g_RAC1' 가상머신의 xwindow상에서 위 사이트로 접속하여 oracleasmlib을 다운로드 한 후 아래의 명령으로 rpm 패키지를 설치합니다.
# rpm -Uvh oracleasmlib*.rpm
ASMLib 관련 RPM 패키지 설치가 완료되면 다음의 명령어로 설정을 진행합니다.
# 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 []: oracle
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]:
Writing Oracle ASM library driver configuration: done
설정 완료 후 다음 명령으로 커널 모듈을 불러옵니다.
# /usr/sbin/oracleasm init
Loading module "oracleasm": oracleasm
Mounting ASMlib driver filesystem: /dev/oracleasm
이제 ASM 디스크 생성을 진행합니다. 다음의 명령어를 입력하여 각 파티션을 DISK1~5로 연결하여 생성해 줍니다.
# /usr/sbin/oracleasm createdisk DISK1 /dev/sdb1
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK2 /dev/sdc1
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK3 /dev/sdd1
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK4 /dev/sde1
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK5 /dev/sdf1
Writing disk header: done
Instantiating disk: done
생성이 완료되면 ASM 디스크 설정을 갱신합니다.
# /usr/sbin/oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
갱신 후 ASM 디스크 리스트를 확인해 보면 DISK1~5까지 생성된 것을 확인할 수 있습니다.
# /usr/sbin/oracleasm listdisks
DISK1
DISK2
DISK3
DISK4
DISK5
'Oracle 설치 > Oracle 11g RAC 구축' 카테고리의 다른 글
[Oracle 11g RAC 구축] 6. Grid Infrastructure 설치 (0) | 2011.03.10 |
---|---|
[Oracle 11g RAC 구축] 5. 두번째 가상머신 생성 및 User equivalence 수동설정 (0) | 2011.03.04 |
[Oracle 11g RAC 구축] 3. RAC 구성을 위한 각종 OS 환경설정 (0) | 2011.03.02 |
[Oracle 11g RAC 구축] 2. Oracle Enterprise Linux 5.5 설치 (0) | 2011.02.25 |
[Oracle 11g RAC 구축] 1. 가상 머신 설정 (Vmware Server 2) (0) | 2011.02.17 |