제 1 장의 정보와 함께 이 부록의 프로시저를 사용하여 Solstice DiskSuite 소프트웨어에 맞는 로컬 및 멀티호스트 디스크를 구성하십시오. 자세한 정보는 Solstice DiskSuite 문서를 참조하십시오.
이 부록에는 다음 프로시저가 수록되어 있습니다.
다음 테이블에는 Sun Cluster 구성에 맞게 Solstice DiskSuite 소프트웨어를 구성하기 위해 수행하는 작업들이 나열되어 있습니다.
표 A-1 작업 맵:Sun Cluster 구성에 맞게 Solstice DiskSuite 구성
작업 |
지시사항을 보려면,...로 가십시오. |
---|---|
Solstice DiskSuite 구성의 레이아웃을 계획하십시오. | |
구성에 필요한 메타디바이스 이름 및 디스크 세트 수를 계산하고 /kernel/drv/md.conf 파일을 수정하십시오. | |
로컬 디스크에서 메타디바이스 상태 데이터베이스 복제본을 작성하십시오. | |
Optional. 루트 디스크에서 파일 시스템을 미러링하십시오. | |
metaset 명령을 사용하여 디스크세트를 작성하십시오. | |
디스크 드라이브를 디스크세트에 추가하십시오. | |
슬라이스 1 - 6에 공간을 할당하기 위해 디스크세트에서 드라이브를 다시 분할하십시오. | |
디바이스 ID 의사 드라이버 맵핑을 나열하고 /etc/lvm/md.tab 파일에서 메타디바이스를 정의하십시오. | |
md.tab 파일을 초기화하십시오. | |
이중 문자열 구성의 경우 조정 호스트를 구성하고, 조정 데이터의 상태를 확인한 후, 필요한 경우 불량 조정 데이터를 수정하십시오. | |
클러스터 파일 시스템을 작성하여 마운트하십시오. |
이 프로시저에서는 구성에 필요한 메타디바이스 이름 수를 계산하는 방법 및 /kernel/drv/md.conf 파일을 수정하는 방법에 대해 설명합니다.
기본 메타디바이스 이름 수는 128개입니다. 대부분의 구성에서 기본값보다 많은 수가 필요합니다. 구성을 실행하기 전에 이 수를 증가시키면 이후 관리 시간이 절약됩니다.
각 디스크세트에서 사용될 메타디바이스 이름 수 중에서 가장 큰 값을 판별하여 필요한 메타디바이스 이름 수를 계산하십시오.
이 요구사항은 actual quantity 보다는 메타디바이스 이름 value을 기반으로 합니다. 예를 들어, 메타디바이스 이름 범위가 d950 - d1000일 경우, Solstice DiskSuite 소프트웨어는 50개가 아니라 1000개의 이름을 필요로 합니다.
클러스터에서는 디스크세트 당 최대 8192개의 메타디바이스 이름이 있을 수 있습니다.
클러스터에서 예상되는 총 디스크세트 수를 계산한 후, 개인용 디스크 관리를 위해 하나를 추가하십시오.
클러스터에는 최대 32개의 디스크세트가 있습니다.
/kernel/drv/md.conf 파일을 편집하십시오.
모든 클러스터 노드(또는 클러스터 쌍 토폴로지에 있는 클러스터 쌍)에는 각 노드에서 서비스가 제공되는 디스크세트 수에 관계없이 동일한 /kernel/drv/md.conf 파일이 있습니다. 이 지침을 따라하는 데 실패하면 심각한 Solstice DiskSuite 오류가 야기되어 데이터가 손실될 수 있습니다.
계산된 메타디바이스 이름 수가 128개를 초과하면, nmd 필드를 디스크세트에서 사용되는 가장 큰 메타디바이스 이름 값으로 설정하십시오.
md_nsets 필드를 단계 2에서 계산된 수량으로 설정하십시오.
/kernel/drv/md.conf 파일에 대한 변경사항을 재구성하고, 재시동이 수행된 후에 작동됩니다.
로컬 복제본을 작성하려면, "메타디바이스 상태 데이터베이스 복제본 작성 방법"로 이동하십시오.
클러스터의 각 노드에서 이 프로시저를 수행하십시오.
클러스터 노드에서 수퍼유저가 되어야 합니다.
metadb(1M) 명령을 사용하여 각 클러스터 노드마다 하나 이상의 로컬 디스크에서 복제본을 작성하십시오.
자세한 내용은 metadb(1M) man 페이지 및 Solstice DiskSuite 문서를 참조하십시오.
메타디바이스 상태 데이터를 보호하려면(이는 Solstice DiskSuite 소프트웨어를 실행하기 위해 필요함), 각 노드마다 최소한 세 개의 복제본을 작성하십시오. 또한 여러 디스크에 복제본을 위치시키면 디스크 중 하나가 실패할 경우 보호를 받게 됩니다.
복제본을 확인하십시오.
# metadb |
다음 예는 다른 디스크에서 각기 작성된 세 가지의 메타디바이스 상태 데이터베이스 복제본을 보여줍니다.
# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7 # metadb flags first blk block count a u 16 1034 /dev/dsk/c0t0d0s7 a u 1050 1034 /dev/dsk/c0t1d0s7 a u 2084 1034 /dev/dsk/c1t0d0s7 |
루트 디스크에서 파일 시스템을 미러링하려면, "루트 디스크 미러링"로 이동하십시오. 그렇지 않으면, Solstice DiskSuite 디스크세트를 작성하기 위해 "디스크세트 작성 방법"로 이동하십시오.
루트 디스크를 미러링하면 시스템 디스크 실패로 인해 클러스터 노드 자체는 종료되지 않습니다. 루트 디스크에서 네 가지 유형의 파일 시스템이 상주할 수 있습니다. 각 파일 시스템 유형은 서로 다른 방법을 사용하여 미러링됩니다.
다음 프로시저를 사용하여 각 유형의 파일 시스템을 미러링하십시오.
이 미러링 프로시저 중 일부 단계는 다음과 유사한 오류 메시지를 야기할 수 있습니다. 이는 치명적이지 않으므로 무시할 수 있습니다.
metainit: dg-schost-1: d1s0: not a metadevice |
로컬 디스크 미러링의 경우, 디스크 이름을 지정할 때 경로로 /dev/global을 사용하지 마십시오. 클러스터 파일 시스템 이외의 시스템에 대해 이 경로를 지정하면 시스템이 시동되지 않습니다.
루트(/) 파일 시스템을 미러링하려면 이 프로시저를 사용하십시오.
클러스터 노드에서 수퍼유저가 되어야 합니다.
metainit(1M) 명령을 사용하여, 루트 슬라이스를 단일 슬라이스(단방향) 연결로 만드십시오.
# metainit -f submirror1 1 1 root-disk-slice |
두번째 연결을 작성하십시오.
# metainit -f submirror2 1 1 submirror-disk-slice |
하나의 서브미러로 단방향 미러를 작성하십시오.
미러의 메타디바이스 이름은 반드시 클러스터 전체에서 고유해야 합니다.
# metainit mirror -m submirror1 |
metaroot(1M) 명령을 실행하십시오.
이 명령은 /etc/vfstab 및 /etc/system 파일을 편집하여 시스템이 메타디바이스에서 루트(/) 파일 시스템으로 시동될 수 있게 합니다.
# metaroot mirror |
lockfs(1M) 명령을 실행하십시오.
이 명령은 로그 밖에 있는 모든 트랜잭션을 지우고 그 트랜잭션을 마운트된 모든 UFS 파일 시스템 상에서 마스터 파일에 기록합니다.
# lockfs -fa |
자원 그룹 또는 디바이스 그룹을 노드에서 제거하십시오.
# scswitch -S -h node |
모든 자원 그룹과 디바이스 그룹을 제거합니다.
자원이나 디바이스 그룹을 제거할 노드의 이름을 지정합니다.
노드를 다시 시동하십시오.
# shutdown -g 0 -y -i 6 |
metattach(1M) 명령을 사용하여 두 번째 서브미러를 미러에 첨부하십시오.
# metattach mirror submirror2 |
루트 디스크를 미러링하는데 사용되는 디스크가 실제로 여러 노드에 연결되어 있으면(멀티포트), 루트 디스크를 미러링하는데 사용되는 디스크의 원래 디스크 디바이스 그룹의 localonly 등록 정보가 사용되도록 하십시오.
시동 디바이스가 여러 노드에 연결되어 있으면 localonly 등록 정보가 계획 없이 부트 디바이스로부터 노드를 방어하는 것을 방해하지 않도록 하십시오.
필요하면, scdidadm -L 명령을 사용하여 원래 디스크 디바이스 그룹의 완전한 디바이스 ID(DID) 의사 드라이버 이름을 표시하십시오.
다음 예에서, 원래 디바이스 스룹 이름 dsk/d2는 출력의 세번째 컬럼 일부로, 완전한 DID 의사 드라이버 이름입니다.
# scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 # scconf -c -D name=dsk/d2,localonly=true |
localonly 등록 정보에 대한 자세한 정보는 scconf_dg_rawdisk(1M) man 페이지를 참조하십시오.
scconf(1M) 명령을 사용하여 localonly 등록 정보를 사용할 수 있도록 하십시오.
# scconf -c -D name=rawdisk_groupname,localonly=true |
원래 디스크 디바이스 그룹의 이름을 지정합니다.
나중에 사용할 수 있도록 대체 부트 경로를 기록하십시오.
# ls -l /dev/rdsk/root-disk-slice |
클러스터의 나머지 각 노드에서 단계 1 - 단계 11 과정을 반복하십시오.
미러에 대한 각 메타디바이스 이름이 클러스터 전체에서 고유한지 확인하십시오.
다음 예는 노드 phys-schost-1에 d0 미러를 작성하는 것을 보여주며, c0t0d0s0 파티션의 d10 서브미러, c2t2d0s0 파티션의 d20 서브미러로 구성됩니다. 디스크 c2t2d0은 멀티포트 디스크이므로, localonly 등록정보가 사용 가능합니다.
(Create the mirror:) # metainit -f d10 1 1 c0t0d0s0 d11: Concat/Stripe is setup # metainit -f d20 1 1 c2t2d0s0 d12: Concat/Stripe is setup # metainit d0 -m d10 d10: Mirror is setup # metaroot d0 # lockfs -fa (Reboot the node:) # scswitch -S -h phys-schost-1 # shutdown -g 0 -y -i 6 (Attach the second submirror:) # metattach d0 d20 d0: Submirror d20 is attached (Enable the localonly property of the mirrored disk's raw disk device group:) # scconf -c -D name=dsk/d2,localonly=true (Record the alternate boot path:) # ls -l /dev/rdsk/c2t2d0s0 lrwxrwxrwx 1root root 57 Apr 25 20:11 /dev/rdsk/c2t2d0s0 -> ../../devices/node@1/pci@1f,0/pci@1/scsi@3,1/disk@2,0:a,raw |
글로벌 이름공간 /global/.devices/node@nodeid를 미러링하려면, "글로벌 이름공간 미러링 방법"로 이동하십시오.
/global/.devices/node@nodeid 글로벌 이름공간을 미러링하려면, 다음 프로시저를 사용하십시오.
클러스터 노드에서 수퍼유저가 되어야 합니다.
글로벌 이름공간 슬라이스를 단일 슬라이스(단방향) 연결에 놓으십시오.
# metainit -f submirror1 1 1 disk-slice |
두번째 연결을 작성하십시오.
# metainit -f submirror2 1 1 submirror-disk-slice |
하나의 서브미러로 단방향 미러를 작성하십시오.
미러의 메타디바이스 이름은 반드시 클러스터 전체에서 고유해야 합니다.
# metainit mirror -m submirror1 |
두번째 서브미러를 미러에 첨부하십시오.
이 첨부는 서브미러의 동기화를 시작합니다.
# metattach mirror submirror2 |
/global/.devices/node@nodeid 파일 시스템에 대한 /etc/vfstab 파일 항목을 편집하십시오.
device to mount 및 device to fsck 컬럼에 있는 이름을 미러 이름으로 대체하십시오.
# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/mirror /dev/md/rdsk/mirror /global/.devices/node@nodeid ufs 2 no global |
클러스터의 나머지 각 노드에서 단계 1 부터 단계 6 과정을 반복하십시오.
미러에 대한 각 메타디바이스 이름이 클러스터 전체에서 고유한지 확인하십시오.
단계 5에서 시작된 미러의 동기화가 완료될 때까지 기다리십시오.
metastat(1M) 명령을 사용하여 미러 상태를 보십시오.
# metastat mirror |
글로벌 이름공간을 미러링하는데 사용되는 디스크가 실제로 여러 노드에 연결되어 있으면(멀티포트), 글로벌 이름공간을 미러링하는데 사용되는 디스크의 원래 디스크 디바이스 그룹의 localonly 등록 정보가 사용되도록 하십시오.
부트 장치가 여러 노드에 연결되어 있을 경우, 자동으로 부트 장치로부터 노드를 방어하는 것을 방지하기 위해 localonly 등록 정보를 사용 가능화해야 합니다.
필요하면, scdidadm -L 명령을 사용하여 원래 디스크 디바이스 그룹의 완전한 디바이스 ID(DID) 의사 드라이버 이름을 표시하십시오.
다음 예에서, 원래 디바이스 그룹 이름 dsk/d2는 출력의 세번째 컬럼 일부로, 완전한 DID 의사 드라이버 이름입니다.
# scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 # scconf -c -D name=dsk/d2,localonly=true |
localonly 등록 정보에 대한 자세한 정보는 scconf_dg_rawdisk(1M) man 페이지를 참조하십시오.
scconf(1M) 명령을 사용하여 localonly 등록 정보를 사용할 수 있도록 하십시오.
# scconf -c -D name=rawdisk_groupname,localonly=true |
원래 디스크 디바이스 그룹의 이름을 지정합니다.
다음 예는 d101 미러를 작성하는 것을 보여주며 c0t0d0s3 파티션의 d111 서브미러와 c2t2d0s3 파티션의 d121 서브미러로 구성됩니다. /global/.devices/node@1에 대한 /etc/vfstab 파일 항목은 d101 미러 이름을 사용하기 위해 갱신됩니다. c2t2d0 디스크는 멀티포트 디스크이므로 localonly 등록 정보를 사용할 수 있습니다.
(Create the mirror:) # metainit -f d111 1 1 c0t0d0s3 d111: Concat/Stripe is setup # metainit -f d121 1 1 c2t2d0s3 d121: Concat/Stripe is setup # metainit d101 -m d111 d101: Mirror is setup # metattach d101 d121 d101: Submirror d121 is attached (Edit the /etc/vfstab file:) # vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/d101 /dev/md/rdsk/d101 /global/.devices/node@1 ufs 2 no global (View the sync status:) # metastat d101 d101: Mirror Submirror 0: d111 State: Okay Submirror 1: d121 State: Resyncing Resync in progress: 15 % done ... (Identify the DID name of the mirrored disk's raw disk device group:) # scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (Enable the localonly property of the mirrored disk's raw disk device group:) # scconf -c -D name=dsk/d2,localonly=true |
/usr, /opt 또는 swap과 같은 정상적인 시스템 사용 동안 언마운트될 수 없는 파일 시스템을 미러링하려면, "언마운트될 수 없는 파일 시스템의 미러링 방법"로 이동하십시오. 사용자 정의 파일 시스템을 미러링하려면, "사용자 정의 파일 시스템 미러링 방법"로 이동하십시오.
그렇지 않으면, 디스크세트를 작성하기 위해 "디스크세트 작성 방법"로 이동하십시오.
/usr, /opt, or swap과 같이 정상적으로 시스템을 사용하는 동안, 언마운트할 수 없는 파일 시스템을 미러링하려면 이 프로시저를 사용하십시오.
클러스터 노드에서 수퍼유저가 되어야 합니다.
단일 슬라이스(단방향) 연결에 상주하는 언마운트가능한 파일 시스템에 슬라이스를 놓으십시오.
# metainit -f submirror1 1 1 disk-slice |
두번째 연결을 작성하십시오.
# metainit -f submirror2 1 1 submirror-disk-slice |
하나의 서브미러로 단방향 미러를 작성하십시오.
미러의 메타디바이스 이름은 클러스터 전체에서 고유하지 않아도 됩니다.
# metainit mirror -m submirror1 |
각 노드에서, 미러링한 각각의 언마우트가능 파일 시스템에 대해 /etc/vfstab 파일 항목을 편집하십시오.
device to mount 및 device to fsck 컬럼에 있는 이름을 미러 이름으로 대체하십시오.
# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/mirror /dev/md/rdsk/mirror /file-system ufs 2 no global |
자원 그룹 또는 디바이스 그룹을 노드에서 제거하십시오.
# scswitch -S -h node |
모든 자원 그룹과 디바이스 그룹을 제거합니다.
자원 또는 디바이스 그룹을 제거할 노드의 이름을 지정합니다.
노드를 다시 시동하십시오.
# shutdown -g 0 -y -i 6 |
두 번째 서브미러를 각 미러에 접속하십시오.
이 접속으로 서브미러의 동기화가 시작됩니다.
# metattach mirror submirror2 |
단계 9에서 시작된 미러의 동기화가 완료될 때까지 기다리십시오.
metastat(1M) 명령을 사용하여 미러 상태를 보십시오.
# metastat mirror |
언마운트가능 파일 시스템을 미러링하는데 사용되는 디스크가 실제로 여러 노드에 연결되어 있으면(멀티포트), 언마운트가능 파일 시스템을 미러링하는데 사용되는 디스크의 원래 디스크 디바이스 그룹의 localonly 등록 정보가 사용되도록 하십시오.
부트 장치가 여러 노드에 연결되어 있을 경우, 자동으로 부트 장치로부터 노드를 방어하는 것을 방지하기 위해 localonly 등록 정보를 사용 가능화해야 합니다.
필요한 경우, scdidadm -L 명령을 사용하여 원래 디스크 디바이스 그룹의 완전한 디바이스 ID(DID) 의사 드라이버 이름을 표시하십시오.
다음 예에서, 원래 디스크 디바이스 그룹 이름 dsk/d2는 출력의 세번째 컬럼 일부로, 이는 완전한 DID 의사 드라이버의 이름입니다.
# scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 # scconf -c -D name=dsk/d2,localonly=true |
localonly 등록 정보에 대한 자세한 정보는 scconf_dg_rawdisk(1M) man 페이지를 참조하십시오.
scconf(1M) 명령을 사용하여 localonly 등록 정보를 사용가능하게 하십시오.
# scconf -c -D name=rawdisk_groupname,localonly=true |
원래 디스크 디바이스 그룹의 이름을 지정합니다.
다음 예는 c0t0d0s1에 있는 /usr를 미러하기 위해 노드 phys-schost-1에서 미러 d1 작성을 보여줍니다. d1 미러는 c0t0d0s1 파티션에 있는 d11 서브미러와 c2t2d0s1 파티션에 있는 d21 서브미러로 구성됩니다. /usr의 /etc/vfstab 파일 항목이 d1 미러 이름을 사용하도록 갱신됩니다. c2t2d0 디스크는 멀티포트 디스크이므로 localonly 등록 정보를 사용할 수 있습니다.
(Create the mirror:) # metainit -f d11 1 1 c0t0d0s1 d11: Concat/Stripe is setup # metainit -f d21 1 1 c2t2d0s1 d21: Concat/Stripe is setup # metainit d1 -m d11 d1: Mirror is setup (Edit the /etc/vfstab file:) # vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/d1 /dev/md/rdsk/d1 /usr ufs 2 no global (Reboot the node:) # scswitch -S -h phys-schost-1 # shutdown -g 0 -y -i 6 (Attach the second submirror:) # metattach d1 d21 d1: Submirror d21 is attached (View the sync status:) # metastat d1 d1: Mirror Submirror 0: d11 State: Okay Submirror 1: d21 State: Resyncing Resync in progress: 15 % done ... (Identify the DID name of the mirrored disk's raw disk device group:) # scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (Enable the localonly property of the mirrored disk's raw disk device group:) # scconf -c -D name=dsk/d2,localonly=true |
사용자 정의 파일 시스템을 미러링하려면, "사용자 정의 파일 시스템 미러링 방법"로 이동하십시오. 그렇지 않으면, 디스크 세트를 작성하기 위해 "디스크세트 작성 방법"로 이동하십시오.
사용자 정의 파일 시스템을 미러링하려면 이 프로시저를 사용하십시오. 이 프로시저에서, 노드는 다시 부트하지 않아도 됩니다.
클러스터 노드에서 수퍼유저가 되어야 합니다.
단일 슬라이스(단방향) 연결에 상주하는 사용자 정의 파일 시스템에 슬라이스를 놓으십시오.
# metainit -f submirror1 1 1 disk-slice |
두번째 연결을 작성하십시오.
# metainit -f submirror2 1 1 submirror-disk-slice |
하나의 서브미러로 단방향 미러를 작성하십시오.
미러의 메타디바이스 이름은 클러스터 전체에서 고유하지 않아도 됩니다.
# metainit mirror -m submirror1 |
각 노드에서, 미러링한 각각의 사용자 정의 파일 시스템에 대해 /etc/vfstab 파일 항목을 편집하십시오.
device to mount 및 device to fsck 컬럼에 있는 이름을 미러 이름으로 대체하십시오.
# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/mirror /dev/md/rdsk/mirror /file-system ufs 2 no global |
두번째 서브미러를 미러에 첨부하십시오.
이 첨부는 서브미러의 동기화를 시작합니다.
# metattach mirror submirror2 |
단계 7에서 시작된 미러의 동기화가 완료될 때까지 기다리십시오.
미러 상태를 보려면 metastat(1M) 명령을 사용하십시오.
# metastat mirror |
사용자 정의 파일 시스템을 미러링하는데 사용되는 디스크가 실제로 여러 노드에 연결되어 있으면(멀티포트), 사용자 정의 파일 시스템을 미러링하는데 사용되는 디스크의 원래 디스크 디바이스 그룹의 localonly 등록 정보가 사용되도록 하십시오.
부트 장치가 여러 노드에 연결되어 있을 경우, 자동으로 부트 장치로부터 노드를 방어하는 것을 방지하기 위해 localonly 등록 정보를 사용 가능화해야 합니다.
필요한 경우, scdidadm -L 명령을 사용하여 원래 디스크 디바이스 그룹의 완전한 디바이스 ID(DID) 의사 드라이버 이름을 표시하십시오.
다음 예에서, 원래 디스크 디바이스 그룹 이름 dsk/d4는 출력의 세번째 컬럼 일부로, 이는 완전한 DID 의사 드라이버의 이름입니다.
# scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 # scconf -c -D name=dsk/d2,localonly=true |
localonly 등록 정보에 대한 자세한 정보는 scconf_dg_rawdisk(1M) man 페이지를 참조하십시오.
scconf(1M) 명령을 사용하여 localonly 등록 정보를 사용가능하게 하십시오.
# scconf -c -D name=rawdisk_groupname,localonly=true |
원래 디스크 디바이스 그룹의 이름을 지정합니다.
다음 예는 c0t0d0s4에 있는 /home을 미러링하기 위해 d4 미러를 작성하는 것을 보여줍니다. d4 미러는 c0t0d0s4 파티션의 d14 서브미러와 c2t2d0s4 파티션의 d24 서브미러로 구성됩니다. /home의 /etc/vfstab 파일 항목은 d4 미러 이름을 사용하도록 갱신됩니다. c2t2d0 디스크는 멀티포트 디스크이므로 localonly 등록 정보를 사용할 수 있습니다.
(Create the mirror:) # metainit -f d14 1 1 c0t0d0s4 d14: Concat/Stripe is setup # metainit -f d24 1 1 c2t2d0s4 d24: Concat/Stripe is setup # metainit d4 -m d14 d4: Mirror is setup (Edit the /etc/vfstab file:) # vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/d4 /dev/md/rdsk/d4 /home ufs 2 no global (Attach the second submirror:) # metattach d4 d24 d4: Submirror d24 is attached (View the sync status:) # metastat d4 d4: Mirror Submirror 0: d14 State: Okay Submirror 1: d24 State: Resyncing Resync in progress: 15 % done ... (Identify the DID name of the mirrored disk's raw disk device group:) # scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (Enable the localonly property of the mirrored disk's raw disk device group:) # scconf -c -D name=dsk/d2,localonly=true |
디스크세트를 작성하려면, "디스크세트 작성 방법"로 이동하십시오.
클러스터의 각 디스크세트에 대해 이 프로시저를 수행하십시오.
정확하게 두 개의 디스크 문자열로 구성되었으면, 디스크세트는 정확히 두 개의 노드에 연결되어야 하고 정확히 두 개의 조정자 호스트를 사용해야 하며 이들 조정자 호스트는 디스크세트에 대해 동일한 두 개의 호스트여야 합니다. 조정자 설정에 대해서는 "조정자 개요"에서 자세한 내용을 참조하십시오.
세 개 이상의 디스크 문자열로 구성되었으면, 임의의 두 디스크 문자열 S1과 S2에 대해 총 디스크 수가 세 번째 문자열 S3의 디스크 수를 초과하는지 확인하십시오. 공식에서처럼, 요구사항은 계수(S1) + 계수(S2) > 계수(S3)입니다.
클러스터 노드 이름을 나열하는데 /.rhosts 파일이 사용되지 않을 경우, root가 그룹 14의 구성원인지 확인하십시오.
# vi /etc/group ... sysadmin::14:root ... |
로컬 메타디바이스 상태 데이터베이스가 존재하는지 확인하십시오.
필요한 경우, "메타디바이스 상태 데이터베이스 복제본 작성 방법" 프로시저를 참조하십시오.
디스크세트를 마스터할 클러스터 노드에서 수퍼유저가 되어야 합니다.
디스크세트를 작성하십시오.
또한 이 명령은 디스크세트를 Sun Cluster 디스크 디바이스 그룹으로 등록합니다.
# metaset -s setname -a -h nodename1 nodename2 |
디스크세트 이름을 지정합니다.
디스크세트를 추가(작성)합니다.
디스크세트를 마스터할 1차 노드의 이름을 지정합니다.
디스크세트를 마스터할 2차 노드의 이름을 지정합니다.
새 디스크세트의 상태를 확인하십시오.
# metaset -s setname |
다음 명령은 dg-schost-1 및 dg-schost-2 두개의 디스크 세트를 작성하여, phys-schost-1 및 phys-schost-2 노드를 잠재된 1차 노드로 할당합니다.
# metaset -s dg-schost-1 -a -h phys-schost-1 phys-schost-2 # metaset -s dg-schost-2 -a -h phys-schost-1 phys-schost-2 |
디스크세트에 드라이브를 추가하려면 "디스크세트에 드라이브 추가 방법"로 이동하십시오.
디스크 드라이브가 디스크세트에 추가되면, Solstice DiskSuite는 디스크세트에 대한 메타디바이스 상태 데이터베이스가 드라이브에 위치될 수 있도록 다음과 같이 드라이브를 다시 분할합니다.
각 드라이버의 작은 부분이 Solstice DiskSuite 소프트웨어가 사용하기 위해 슬라이스 7에 예약됩니다. 각 드라이브에서 나머지 공간은 슬라이스 0에 위치됩니다.
드라이브는 슬라이스 7이 올바르게 설정되지 않을 경우에만 디스크세트에 추가될 때 다시 분할됩니다.
디스크의 기존 데이터는 재분할에 의해 유실됩니다.
슬라이스 7이 실린더 0에서 시작하고, 디스크가 상태 데이터베이스 복제본을 포함할 만큼 충분히 크면, 디스크는 다시 분할되지 않습니다.
노드에서 수퍼유저가 되어야 합니다.
디스크세트가 작성되었는지 확인하십시오.
필요한 경우, "디스크세트 작성 방법"의 내용을 참조하십시오.
디바이스 ID(DID) 맵핑을 나열하십시오.
# scdidadm -L |
디스크세트를 마스터하거나 잠재적으로 마스터할 가능성이 있는 클러스터 노드들이 공유하는 드라이브를 선택하십시오.
드라이브를 디스크세트에 추가할 때 완전한 DID 의사 드라이버 이름을 사용하십시오.
출력의 첫 컬럼은 DID 인스턴스 번호이고, 두번째 컬럼은 완전한 경로(실제 경로)이며, 세번째 컬럼은 완전한 DID 의사 드라이버 이름(의사 경로)입니다. 공유 드라이브에는 동일한 DID 인스턴스 번호에 대해 여러 개의 항목이 있습니다.
다음 예에서, DID 인스턴스 번호 2의 항목은 phys-schost-1과 phys-schost-2가 공유하는 드라이브를 가리키며, 완전한 DID 이름은 /dev/did/rdsk/d2입니다.
1 phys-schost-1:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1 2 phys-schost-1:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 2 phys-schost-2:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 3 phys-schost-1:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3 3 phys-schost-2:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3 ... |
디스크세트의 소유권을 취득하십시오.
# metaset -s setname-t |
디스크세트 이름을 지정합니다.
디스크세트의 소유권을 취득합니다.
디스크세트에 드라이브를 추가하십시오.
완전한 DID 의사 드라이버 이름을 사용하십시오.
디스크세트에 드라이브를 추가할 때 하위 레벨의 디바이스 이름은 사용하지 마십시오(cNtXdY). 하위 레벨의 디바이스 이름은 로컬 이름이므로 클러스터 전체에서 고유하지는 않으며, 이 이름을 사용할 경우 메타세트가 스위치오버될 수 있습니다.
# metaset -s setname -a DIDname |
디스크세트에 디스크 드라이브를 추가합니다.
디스크세트와 드라이버의 상태를 확입하십시오.
# metaset -ssetname |
metaset 명령은 디스크 드라이브/dev/did/dsk/d1 및 /dev/did/dsk/d2를 디스크세트 dg-schost-1에 추가합니다.
# metaset -s dg-schost-1 -a /dev/did/dsk/d1 /dev/did/dsk/d2 |
메타디바이스에서 사용하기 위해 드라이브를 다시 파티션하려면, "디스크세트에서 드라이브를 재분할 방법"로 이동하십시오.
metaset(1M) 명령은 각 드라이브에서 작은 부분이 Solstice DiskSuite 소프트웨어에서 사용하기 위해 슬라이스 7로 예약될 수 있도록 디스크세트에서 드라이브를 다시 분할합니다. 각 드라이브에서 나머지 공간은 슬라이스 0에 위치됩니다. 디스크의 더 효율적인 사용을 위해서는 다음 프로시저를 사용하여 디스크 배치를 수정하십시오. 공간을 슬라이스 1 - 6에 할당하면 메타디바이스를 설정할 때 이 슬라이스들을 사용할 수 있게 됩니다.
클러스터 노드에서 수퍼유저가 되어야 합니다.
format(1M) 명령을 사용하여 디스크세트의 각 드라이브에 대해 디스크 파티션을 변경하십시오.
드라이브를 다시 분할할 때, metaset(1M) 명령이 디스크를 재분할하지 않도록 하려면 다음 조건을 만족시켜야 합니다.
상태 데이터베이스 복제본을 보유할 수 있을 만큼 충분히 큰(약 2MB) 실린더 0에서 시작하여 파티션 7을 작성하십시오.
슬라이스 7의 Flag 필드를 V_UNMT(언마운트가능)로 설정하는데, 이를 읽기 전용으로 설정하지는 마십시오.
슬라이스 7이 디스크의 다른 슬라이스 위에 겹쳐지면 안됩니다.
세부사항은 format(1M) man 페이지를 참조하십시오.
md.tab 파일을 사용하여 메타디바이스를 정의하려면, "md.tab 파일 작성 방법"로 이동하십시오.
클러스터의 각 노드에서 /etc/lvm/md.tab 파일을 작성하십시오.
Solstice DiskSuite 소프트웨어를 사용할 때, 로컬 메타디바이스가 디스크세트를 형성하기 위해 사용되는 디바이스 ID(DID) 이름과 구별되는 이름을 갖도록 하십시오. 예를 들어, /dev/did/dsk/d3 DID 이름이 디스크세트에서 사용될 경우, 로컬 메타디바이스를 구성할 때는 /dev/md/dsk/d3 이름을 사용하지 마십시오.
클러스터 노드에서 수퍼유저가 되어야 합니다.
md.tab 파일을 작성할 때 참조용으로 DID 맵핑을 나열하십시오.
하위 레벨의 디바이스 이름(cNtXdY) 대신 md.tab 파일의 완전한 DID 의사 드라이버 이름을 사용하십시오.
# scdidadm -L |
다음 예에서, 출력의 첫 컬럼은 DID 인스턴스 번호이고, 두번째 컬럼은 완전한 경로(실제 경로)이며, 세번째 컬럼은 완전한 DID 의사 드라이버 이름(의사 경로)입니다.
1 phys-schost-1:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1 2 phys-schost-1:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 2 phys-schost-2:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 3 phys-schost-1:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3 3 phys-schost-2:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3 ... |
/etc/lvm/md.tab 파일을 작성하고 선호하는 텍스트 편집기를 사용하여 직접 이 파일을 편집하십시오.
md.tab 파일 작성 세부사항은 Solstice DiskSuite 문서를 참조하십시오.
다음 샘플 md.tab 파일은 이름이 dg-schost-1인 디스크세트의 메타디바이스를 정의합니다. md.tab 파일의 행 순서는 중요하지 않습니다.
dg-schost-1/d0 -t dg-schost-1/d1 dg-schost-1/d4 dg-schost-1/d1 -m dg-schost-1/d2 dg-schost-1/d2 1 1 /dev/did/rdsk/d1s4 dg-schost-1/d3 1 1 /dev/did/rdsk/d55s4 dg-schost-1/d4 -m dg-schost-1/d5 dg-schost-1/d5 1 1 /dev/did/rdsk/d3s5 dg-schost-1/d6 1 1 /dev/did/rdsk/d57s5 |
첫 행은 trans 메타디바이스 d0을 정의하도록 d1 메타디바이스와 d4로그 디바이스로 구성됩니다. -t는 이것이 trans 메타디바이스임을 지정합니다. 마스터 및 로그 디바이스는 -t 플래그 다음의 위치에 의해 지정됩니다.
dg-schost-1/d0 -t dg-schost-1/d1 dg-schost-1/d4 |
두 번째 행은 마스터 디바이스를 메타디바이스의 미러로 정의합니다. 이 정의에서 -m은 미러 디바이스, 그리고 서브 미러의 하나인 d2는 미러 디바이스 d1과 연결되어 있습니다.
dg-schost-1/d1 -m dg-schost-1/d2 |
다섯번째 행도 마찬가지로 로그 디바이스 d4를 메타디바이스의 미러로 정의합니다.
dg-schost-1/d4 -m dg-schost-1/d5 |
세번째 행은 마스터 디바이스의 첫번째 서브 미러인 d2를 단방향 스트라이프로 정의합니다.
dg-schost-1/d2 1 1 /dev/did/rdsk/d1s4 |
네번째 행은 마스터 디바이스의 두번째 서브 미러인 d3를 정의합니다.
dg-schost-1/d3 1 1 /dev/did/rdsk/d55s4 |
마지막으로, d5 및 d6 로그 디바이스 서브미러를 정의합니다. 이 예에서, 각 서브미러에 대한 간단한 메타디바이스가 작성됩니다.
dg-schost-1/d5 1 1 /dev/did/rdsk/d3s5 dg-schost-1/d6 1 1 /dev/did/rdsk/d57s5 |
서브미러에 사용될 디스크에 기존 데이터가 있으면, 메타디바이스 설정 이전에 그 데이터를 백업하고 이를 미러로 복원하십시오.
md.tab 파일에 정의된 메타디바이스를 활성화하려면, "메타디바이스 활성화 방법"로 이동하십시오.
다음 요구사항을 만족하는지 확인하십시오.
명령이 실행되는 노드에 디스크세트의 소유권이 있습니다.
md.tab 파일은 /etc/lvm 디렉토리에 위치되어 있습니다.
클러스터 노드에서 수퍼유저가 되어야 합니다.
디스크세트의 소유권을 사용하십시오.
# metaset -s setname -t |
디스크세트 이름을 지정합니다.
디스크세트의 소유권을 사용합니다.
md.tab 파일에 정의되어 있는 디스켓의 메타디바이스를 활성화하십시오.
# metainit -s setname -a |
md.tab 파일에서 모든 메타디바이스를 활성화하십시오.
각 마스터 및 로그 디바이스에 대해, 두 번째 서브미러(submirror2)를 접속하십시오.
md.tab 파일의 메타디바이스가 활성화되면, 마스터 및 로그 디바이스의 첫번째 서브미러(submirror1)만 첨부되므로, submirror2는 수동으로 첨부해야 합니다.
# metattach mirror submirror2 |
클러스터의 각 디스크세트에 대해 단계 4 및 단계 5 과정을 반복하십시오.
필요한 경우, 디스크에 연결된 다른 노드에서 metainit(1M) 명령을 실행하십시오. 이 단계는 디스크가 모든 노드에서 액세스할 수 없는 클러스터-쌍 토폴로지에 필요합니다.
메타디바이스의 상태를 확인하십시오.
# metastat -s setname |
다음 예에서, 디스켓 dg-schost-1에 대해 md.tab에 정의된 모든 메타디바이스가 활성화됩니다. 그런 뒤 마스터 디바이스 dg-schost-1/d1 및 로그 디바이스 dg-schost-1/d4가 활성화됩니다.
# metainit -s dg-schost-1 -a # metattach dg-schost-1/d1 dg-schost-1/d3 # metattach dg-schost-1/d4 dg-schost-1/d6 |
클러스터에 정확히 두 개의 디스크 인클로저와 두 개의 노드로 구성된 디스크세트가 있으면, 그 디스크세트는 조정자를 필요로 합니다. 조정자 호스트를 추가하려면, "조정자 개요"로 이동하십시오. 그렇지 않으면, 클러스터 파일 시스템을 작성하기 위해 "클러스터 파일 시스템 추가 방법"로 이동하십시오.
조정자(또는 조정자 호스트)는 조정자 데이터를 저장하는 클러스터 노드입니다. 조정자 데이터는 다른 조정자의 위치에 대한 정보를 제공하고 데이터베이스 복제본에 저장된 완결 계수와 동일한 완결 계수를 포함합니다. 이 연결 계수는 조정자 데이터가 데이터베이스 복제본의 데이터와 동기화되어 있는지 확인하는데 사용됩니다.
조정자는 정확히 두 개의 디스크 문자열과 두 개의 클러스터 노드로 구성된 모든 Solstice DiskSuite 디스크세트에 필요합니다. disk string은 디스크 인클로저, 해당되는 실제 디스크, 인클로저와 노드 사이의 케이블 그리고 인터페이스 어댑터 카드로 구성됩니다. 조정자를 사용하면 Sun Cluster 소프트웨어가, 이중 문자열 구성에서 단일 문자열이 실패할 경우에도 최근 데이터를 유지할 수 있도록 합니다. 조정자를 사용하는 이중 문자열 구성에는 다음 규칙이 적용됩니다.
디스크세트는 정확하게 두 개의 조정자 호스트로 구성되어야 하며, 그 두 개의 조정자 호스트는 디스크세트에 대해 동일한 두 개의 클러스터 노드를 사용해야 합니다.
디스크세트에서는 조정자 호스트가 두 개 이상을 초과할 수 없습니다.
2-string 및 2-host 기준을 만족시키지 않는 디스크세트에 대해서는 조정자를 구성할 수 없습니다.
이 규칙에서는 전체 클러스터에 정확히 두 개의 노드만 있도록 요구하지 않습니다. 오히려, 두 개의 디스크 문자열이 있는 디스크세트는 정확히 두 개의 노드에 연결되어야 한다는 것만 요구합니다. N+1 클러스터와 다른 많은 토폴로지가 이러한 규칙 하에 허용됩니다.
구성에 조정자가 필요할 경우, 다음 프로시저를 수행하십시오.
조정자 호스트를 추가할 디스크세트를 마스터하는 노드에서 수퍼유저가 되어야 합니다.
metaset(1M) 명령을 실행하여 디스크세트에 연결되어 있는 각 노드를 그 디스크세트에 대한 조정자 호스트로서 추가하십시오.
# metaset -s setname -a -m mediator_host_list |
디스크세트 이름을 지정합니다.
디스크세트에 추가합니다.
디스크세트에 대한 조정자 호스트로서 추가할 노드의 이름을 지정합니다.
metaset 명령에 대한 조정자 고유 옵션에 대해서는 mediator(7) man 페이지에서 추가 정보를 참조하십시오.
다음 예는 phys-schost-1을 및 phys-schost-2 노드를 디스켓 dg-schost-1에 대한 조정자 호스트로서 추가합니다. 두 명령은 모두 phys-schost-1 노드에서 실행됩니다.
# metaset -s dg-schost-1 -a -m phys-schost-1 # metaset -s dg-schost-1 -a -m phys-schost-2 |
조정자 데이터의 상태를 검사하려면, "조정자 데이터 상태 검사 방법"로 이동하십시오.
medstat 명령을 실행하십시오.
# medstat -s setname |
디스크세트 이름을 지정합니다.
상태 필드의 값이 불량이면, "불량 조정자 데이터 수정 방법" 프로시저에 따라 영향을 받는 조정자 호스트를 수리하십시오.
자세한 정보는 medstat(1M) man 페이지를 참조하십시오.
조정자 호스트 중 하나에 대한 조정자 데이터가 불량이면, "불량 조정자 데이터 수정 방법"에서 문제점을 수정하십시오. 그렇지 않으면, 클러스터 파일 시스템을 작성하기 위해 "클러스터 파일 시스템 추가 방법"로 이동하십시오.
불량 조정자 데이터를 복구하려면 다음 프로시저를 수행하십시오. 조정자 데이터의 상태를 판별하려면, "조정자 데이터 상태 검사 방법" 프로시저를 따르십시오.
노드에서 영향을 받는 디스크세트가 있는 수퍼유저가 되어야 합니다.
영향을 받는 모든 디스크세트에서 불량 조정자 데이터가 있는 조정자 호스트를 제거하십시오.
# metaset -s setname -d -m mediator_host_list |
디스크세트 이름을 지정합니다.
디스크세트에서 삭제합니다.
디스크세트에 대한 조정자 호스트로서 제거할 노드의 이름을 지정합니다.
조정자 호스트를 복원하십시오.
# metaset -s setname -a -m mediator_host_list |
디스크세트에 추가합니다.
디스크세트에 대한 조정자 호스트로서 추가할 노드의 이름을 지정합니다.
metaset 명령에 대한 조정자 고유 옵션에 대해서는 mediator(7) man 페이지에서 추가 정보를 살펴보십시오.
클러스터 파일 시스템을 작성하려면, "클러스터 파일 시스템 추가 방법"로 이동하십시오.
다음 예는 Solstice DiskSuite 소프트웨어를 사용할 때 각 디스크세트에 위치시킬 디스크 수를 판별하는데 도움이 됩니다. 이 예에서는 세 개의 스토리지 디바이스를 사용하는 것으로 가정합니다. 이 예에서, 기존 응용프로그램은 NFS(각각 5GB인 두 개의 파일 시스템)와 두 개의 Oracle 데이터베이스(하나는 5GB이고 다른 하나는 10GB)에서 실행되고 있습니다.
다음 표는 샘플 구성에서 필요한 드라이브 수를 판별하기 위해 사용되는 계산을 보여줍니다. 세 개의 스토리지 디바이스를 가지고 있으면, 세 개의 스토리지 디바이스 사이에 가능한 한 공평하게 나눠지는 28개의 드라이브가 필요합니다. 5GB 파일 시스템은 필요한 디스크 수가 반올림되었으므로 디스크 공간의 추가 GB가 제공되었다는 점에 유의하십시오.
표 A-2 구성에 필요한 드라이브 수 판별
사용 |
데이터 |
필요한 디스크 스토리지 |
필요한 드라이브 |
---|---|---|---|
nfs1 |
5GB |
3x2.1GB 디스크 * 2(미러) |
6 |
nfs2 |
5GB |
3x2.1GB 디스크 * 2(미러) |
6 |
oracle1 |
5GB |
3x2.1GB 디스크 * 2(미러) |
6 |
oracle2 |
10GB |
5x2.1GB 디스크 * 2(미러) |
10 |
다음 표는 두 개의 디스크세트와 네 개의 데이터 서비스 사이의 드라이브 할당을 보여줍니다.
표 A-3 디스크세트 나누기
디스크세트 |
데이터 서비스 |
디스크 |
스토리지 디바이스 1 |
스토리지 디바이스 2 |
스토리지 디바이스 3 |
---|---|---|---|---|---|
dg-schost-1 |
nfs1/oracle1 |
12 |
4 |
4 |
4 |
dg-schost-2 |
nfs2/oracle2 |
16 |
5 |
6 |
5 |
처음에는 각 스토리지 디바이스에 있는 4개의 디스크(총 12개의 디스크)가 dg-schost-1에 할당되고, 각각에 있는 5개 또는 6개(총 16개)가 dg-schost-2에 할당됩니다.
양 디스크세트에 긴급 예비 디스크는 지정되지 않습니다. 디스크세트 스토리지 디바이스당 최소한 하나의 긴급 예비 디스크가 한 드라이브를 긴급 예비용으로 사용 가능합니다(완전한 양방향 미러링 복원).