솔라리스 Solaris 에서 Oracle ASM 디스크 Disk 인식이 안 될 경우
실린더 번호 나 할당 영역을 체크해 봐야 합니다.
ASM 디스크 증설인 경우 prtvtoc 명령어로 기존에 할당된 asm 디스크 를 확인해서 동일하게 파티션 + 실린더가 구성 되어 받은 건지 확인 합니다.
신규 설치하여 처음 받은 ASM 디스크가 인식이 안되는 경우라면 512 바이트 이상 할당 받은 영역 과 실린더 3번 인지 확인 해야 합니다 .
——————————————————————————————————————————————————————————————————-
Partition # 2 is a standard partition and it SHOULD NOT be changed as it reflects the total capacity of the disk.
All other partitions are available for the configuration.
All this information for the partitions and other data is contained in a special structure stored within the first 512 bytes of the disk, on the first cylinders.
This structure is called VTOC (Volume Table of Contents). Actions like re-writting the VTOC will cause loosing the disk.
The output displayed above is a typical configuration, where slice 0 was formatted using the entire disk.
When using ASM and during the disk discovery, the previous configuration is the cause for missing disks or disks not been discovered.
The reason seems to be that having partitions that start at cylinder 0, the complete partition is interpreted as the VTOC area which is not used as a regular partition of the disk.
Grid Infra – ASM 11.2.0.3 bug on Solaris – slice 2 CANDIDATE
We recently ran into a bug (at least that how I look at it) that is introduced with ASM 11.2.0.3. As of this version,
ASM shows slice 2 (the complete disk, starting a cylinder 0 thus inlcuding the VTOC) as an CANDIDATE disk in ASM.
In previous versions of ASM (Grid Infra) only slices that started from cylinder 3 (or higher) where shown as CANDIDATE disks in ASM,
so you couldn’t accidently select slice 2 to be used for a diskgroup.
In ASM 11.2.0.3 it is possible to add the slice 2 (for example *c0t0d0s2) to an ASM diskgroup while another slice of the same disk,
starting at cylinder 3, is already part of the same or even another diskgroup. You can understand what a mess this gives!
starting at cylinder 3 (see MOS note: ASM Does Not Discover Disk on Solaris [ID 368840.1]).
1 2 3 4 5 6 7 8 9 10 11 12 |
Current partition table (original): Total disk cylinders available: 13651 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 root wm 3 - 13650 49.98GB (13648/0/0) 104816640 1 unassigned wu 0 0 (0/0/0) 0 2 backup wu 0 - 13650 49.99GB (13651/0/0) 104839680 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wm 0 0 (0/0/0) 0 |
ASM (11.2.0.3) discovers the following disks now. Take a good look at the disk number of the MEMBER disks and CANDIDATE disks:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
SQL> select path,header_status from v$asm_disk order by 1,2; PATH HEADER_STATUS -------------------------------------------------- --------------- /dev/rdsk/c3t60060E8005492800000049280000319Dd0s0 MEMBER /dev/rdsk/c3t60060E8005492800000049280000319Dd0s2 CANDIDATE /dev/rdsk/c3t60060E8005492800000049280000319Ed0s0 MEMBER /dev/rdsk/c3t60060E8005492800000049280000319Ed0s2 CANDIDATE /dev/rdsk/c3t60060E8005492800000049280000319Fd0s0 MEMBER /dev/rdsk/c3t60060E8005492800000049280000319Fd0s2 CANDIDATE /dev/rdsk/c3t60060E800549280000004928000031A0d0s0 MEMBER /dev/rdsk/c3t60060E800549280000004928000031A0d0s2 CANDIDATE /dev/rdsk/c3t60060E800549280000004928000031A6d0s0 MEMBER /dev/rdsk/c3t60060E800549280000004928000031A6d0s2 CANDIDATE /dev/rdsk/c3t60060E800549280000004928000031A7d0s0 MEMBER /dev/rdsk/c3t60060E800549280000004928000031A7d0s2 CANDIDATE /dev/rdsk/c3t60060E800549280000004928000031A8d0s0 MEMBER /dev/rdsk/c3t60060E800549280000004928000031A8d0s2 CANDIDATE /dev/rdsk/c3t60060E800549280000004928000031A9d0s0 MEMBER /dev/rdsk/c3t60060E800549280000004928000031A9d0s2 CANDIDATE /dev/rdsk/c3t60060E800549280000004928000031CBd0s0 MEMBER /dev/rdsk/c3t60060E800549280000004928000031CBd0s2 CANDIDATE |
I have created an SR for this problem, but until then you’ll have the following options:
- Set the ASM_DISKSTRING parameter to /dev/rdsk/*s0 (or whatever slice you normally use)
- Make sure the user grid does not have any privileges on the /dev/rdsk/*s2 devices.
Update 26-02-2013:
Oracle Support finally came back with an answer and a patch.
The most important thing is that they agree that this is actually a bug and created a bug (bug nr. 14577881) for it.
Support tells me that the problem is “really” fixed in Oracle 12.2 (when even 12.1 is not even released yet ;-)) but they have created a backport request for it.
I just got back that the backport is available as a one-off patch downloadable as patch 14577881 for 11.2.0.3.
오라클 MOS 에 있는 솔라리스 환경에서 ASM 디스크로 인식 시킬 경우 …
실린더 1 과 2번 은 피해야 합니다.
Modifying the partitions, starting few cylinders ahead (1 or 2 to avoid wasting space), will help ASM to discover the disk.
The following output displays the disk originally presented, but now with partition 0 starting at cylinder 3:
Part Tag Flag Cylinders Size Blocks
0 unassigned wm 3 - 51197 100.00GB (51198/0/0) 209707008
1 unassigned wm 0 0 (0/0/0) 0
2 backup wu 0 - 51197 100.00GB (51198/0/0) 209707008
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0———————————————————————————————————————————————————————————————————————————————