Une opération assez usuelle sur le stockage ASM Exadata est le redimensionnement des groupes de disques ASM et plus particulièrement la réduction d’un groupe de disques au détriment d’un autre groupe de disques. Dans notre cas spécifique nous disposons de 2 groupes de disques DATA et DATAG constitués de 18 disques de 3To chacun répartis sur 3 serveurs de stockage. L’objectif de ce redimensionnement est de récupérer 18 To sur le groupe DATA pour les réattribuer à DATADG.
- Situation actuelle : DATA = 18 disques x 3To , DATADG = 18 disques x 3To
- Situation future : DATA = 18 disques x 2To , DATADG = 18 disques x 4To
Contrôle des groupes de disques ASM
La première action est de contrôler la taille des groupes de disques et de vérifier les disques associés au groupe ASM qui doit être diminué.
[Thu Jun 29 13:14:49 oracle@exaeasy01db01:~ ] $ sqlplus / as sysasm SQL select group_number, name, type, total_mb, free_mb, required_mirror_free_mb, usable_file_mb from v$asm_diskgroup order by group_number; GROUP_NUMBER NAME TYPE TOTAL_MB FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB ------------ ------------------------------ ------ ---------- ---------- ----------------------- -------------- 1 DATADG HIGH 56623360 7964736 6504448 486734 2 DATA HIGH 56623360 42703164 6291456 12137236 3 DBFS NORMAL 415296 414760 34608 190076 4 RECODG NORMAL 1475712 604856 81984 261436 SQL select name, total_mb, os_mb, state from v$asm_disk where group_number = (select group_number from v$asm_diskgroup where name='DATA'); NAME TOTAL_MB OS_MB ------------------------------ ---------- ---------- DATA_CD_02_EXAEASY01CELADM01 3145728 3145728 DATA_CD_00_EXAEASY01CELADM01 3145728 3145728 DATA_CD_01_EXAEASY01CELADM01 3145728 3145728 DATA_CD_04_EXAEASY01CELADM01 3145728 3145728 DATA_CD_04_EXAEASY01CELADM03 3145728 3145728 DATA_CD_02_EXAEASY01CELADM03 3145728 3145728 DATA_CD_03_EXAEASY01CELADM03 3145728 3145728 DATA_CD_01_EXAEASY01CELADM03 3145728 3145728 DATA_CD_00_EXAEASY01CELADM03 3145728 3145728 DATA_CD_05_EXAEASY01CELADM03 3145728 3145728 DATA_CD_04_EXAEASY01CELADM02 3145728 3145728 DATA_CD_03_EXAEASY01CELADM02 3145728 3145728 DATA_CD_02_EXAEASY01CELADM02 3145728 3145728 DATA_CD_05_EXAEASY01CELADM02 3145728 3145728 DATA_CD_01_EXAEASY01CELADM02 3145728 3145728 DATA_CD_00_EXAEASY01CELADM02 3145728 3145728 DATA_CD_03_EXAEASY01CELADM01 3145728 3145728 DATA_CD_05_EXAEASY01CELADM01 3145728 3145728 QD_DATA_EXAEASY01DB02 128 128 QD_DATA_EXAEASY01DB01 128 128
Des disques quorum existent (QD_DATA_EXAEASY01DB) dans le groupe de disques DATA certainement le résidu d’un déplacement des fichiers OCR (Oracle Cluster Registry) sur un autre groupe de disques, il est impératif de vérifier si ces disques sont toujours actuellement alloués aux fichiers OCR.
[Thu Jun 29 13:18:49 root@exaeasy01db01:~ ] $ ocrcheck Status of Oracle Cluster Registry is as follows : Version : 4 Total space (kbytes) : 409568 Used space (kbytes) : 2088 Available space (kbytes) : 407480 ID : 644918071 Device/File Name : +DATADG Device/File integrity check succeeded Device/File not configured Device/File not configured Device/File not configured Device/File not configured Cluster registry integrity check succeeded Logical corruption check succeeded [Thu Jun 29 13:19:01 root@exaeasy01db01:~ ] $ crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE 27bca22451fb4f35bf0cb2f4f8be8b6e (o/192.168.10.5;192.168.10.6/DATADG_CD_00_exaeasy01celadm01) [DATADG] 2. ONLINE 7ca9e674c5664f87bfbda97a8b9c7ad4 (o/192.168.10.7;192.168.10.8/DATADG_CD_00_exaeasy01celadm02) [DATADG] 3. ONLINE ceeaf138e9f54f17bf7fe55aca451fea (o/192.168.10.9;192.168.10.10/DATADG_CD_00_exaeasy01celadm03) [DATADG] 4. ONLINE ce252595f0d44f38bf400272b07a47ec (/dev/exaeasy_quorum/QD_DATADG_EXAEASY01DB02) [DATADG] 5. ONLINE f921496842374f6ebf18d3bdb8ab22db (/dev/exaeasy_quorum/QD_DATADG_EXAEASY01DB01) [DATADG]
Diminution de la taille des disques ASM du groupe DATA
Les fichiers OCR sont normalement attribués au groupe de disques DATADG, nous pouvons donc supprimer ces fichiers en toute tranquillité avant de redimensionner les disques pour le groupe ASM DATA.
[Thu Jun 29 13:19:49 oracle@exaeasy01db01:~ ] $ sqlplus / as sysasm SQL alter diskgroup data drop quorum disk 'QD_DATA_EXAEASY01DB01'; Diskgroup altered. SQL alter diskgroup data drop quorum disk 'QD_DATA_EXAEASY01DB02'; Diskgroup altered. SQL alter diskgroup DATA resize all size 2097152M rebalance power 32; Diskgroup altered. SQL> select group_number, name, type, total_mb, free_mb, required_mirror_free_mb, usable_file_mb from v$asm_diskgroup order by group_number; GROUP_NUMBER NAME TYPE TOTAL_MB FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB ------------ ------------------------------ ------ ---------- ---------- ----------------------- -------------- 1 DATADG HIGH 56623360 7736232 6504448 410566 2 DATA HIGH 37748736 27221436 4194304 7675710 3 DBFS NORMAL 415296 414760 34608 190076 4 RECODG NORMAL 1475712 564456 81984 241236
Vous pouvez remarquer que la taille du groupe de disques DATA (TOTAL_MB) est passée de 54 To To à 36 To
Redimensionnement des LUNs Exadata
Maintenant, il faut se connecter sous le compte ‘root’ sur chacun des serveurs de stockage et diminuer la taille des LUNs DATA à 2 To pour augmenter celle des LUNs DATADG à 4 To
[Thu Jun 29 14:10:18 root@exaeasy01db01:~ ] $ ssh root@exaeasy01celadm01 Last login: Fri Jun 16 13:39:13 2017 from exaeasy01dbadm01.xxxxxx.fr [root@exaeasy01celadm01 ~]# cellcli alter GridDisk DATA_CD_00_exaeasy01celadm01,DATA_CD_01_exaeasy01celadm01,DATA_CD_02_exaeasy01celadm01,DATA_CD_03_exaeasy01celadm01,DATA_CD_04_exaeasy01celadm01,DATA_CD_05_exaeasy01celadm01 size=2097152M; GridDisk DATA_CD_00_exaeasy01celadm01 successfully altered GridDisk DATA_CD_01_exaeasy01celadm01 successfully altered GridDisk DATA_CD_02_exaeasy01celadm01 successfully altered GridDisk DATA_CD_03_exaeasy01celadm01 successfully altered GridDisk DATA_CD_04_exaeasy01celadm01 successfully altered GridDisk DATA_CD_05_exaeasy01celadm01 successfully altered alter GridDisk DATADG_CD_00_exaeasy01celadm01,DATADG_CD_01_exaeasy01celadm01,DATADG_CD_02_exaeasy01celadm01,DATADG_CD_03_exaeasy01celadm01,DATADG_CD_04_exaeasy01celadm01,DATADG_CD_05_exaeasy01celadm01 size=4194304M; GridDisk DATA_CD_00_exaeasy01celadm01 successfully altered GridDisk DATA_CD_01_exaeasy01celadm01 successfully altered GridDisk DATA_CD_02_exaeasy01celadm01 successfully altered GridDisk DATA_CD_03_exaeasy01celadm01 successfully altered GridDisk DATA_CD_04_exaeasy01celadm01 successfully altered GridDisk DATA_CD_05_exaeasy01celadm01 successfully altered [Thu Jun 29 14:27:38 root@exaeasy01db01:~ ] $ ssh root@exaeasy01celadm02 Last login: Fri Jun 16 13:58:38 2017 from XXX.XX.XXX.X [root@exaeasy01celadm02 ~]# cellcli alter GridDisk DATA_CD_00_exaeasy01celadm02,DATA_CD_01_exaeasy01celadm02,DATA_CD_02_exaeasy01celadm02,DATA_CD_03_exaeasy01celadm02,DATA_CD_04_exaeasy01celadm02,DATA_CD_05_exaeasy01celadm02 size=2097152M; alter GridDisk DATADG_CD_00_exaeasy01celadm02,DATADG_CD_01_exaeasy01celadm02,DATADG_CD_02_exaeasy01celadm02,DATADG_CD_03_exaeasy01celadm02,DATADG_CD_04_exaeasy01celadm02,DATADG_CD_05_exaeasy01celadm02 size=4194304M; [Thu Jun 29 14:31:49 root@exaeasy01db01:~ ] $ ssh root@exaeasy01celadm03e Last login: Fri Jun 16 14:02:12 2017 from XXX.XX.XXX.X [root@exaeasy01celadm03 ~]# cellcli alter GridDisk DATA_CD_00_exaeasy01celadm03,DATA_CD_01_exaeasy01celadm03,DATA_CD_02_exaeasy01celadm03,DATA_CD_03_exaeasy01celadm03,DATA_CD_04_exaeasy01celadm03,DATA_CD_05_exaeasy01celadm03 size=2097152M; alter GridDisk DATADG_CD_00_exaeasy01celadm03,DATADG_CD_01_exaeasy01celadm03,DATADG_CD_02_exaeasy01celadm03,DATADG_CD_03_exaeasy01celadm03,DATADG_CD_04_exaeasy01celadm03,DATADG_CD_05_exaeasy01celadm03 size=4194304M; [Thu Jun 29 14:35:58 root@exaeasy01db01:~ ] $ dcli -c exaeasy01celadm01 -l root 'cellcli -e list GridDisk attributes name,size' | grep DATA exaeasy01celadm01: DATADG_CD_00_exaeasy01celadm01 4T exaeasy01celadm01: DATADG_CD_01_exaeasy01celadm01 4T exaeasy01celadm01: DATADG_CD_02_exaeasy01celadm01 4T exaeasy01celadm01: DATADG_CD_03_exaeasy01celadm01 4T exaeasy01celadm01: DATADG_CD_04_exaeasy01celadm01 4T exaeasy01celadm01: DATADG_CD_05_exaeasy01celadm01 4T exaeasy01celadm01: DATA_CD_00_exaeasy01celadm01 2T exaeasy01celadm01: DATA_CD_01_exaeasy01celadm01 2T exaeasy01celadm01: DATA_CD_02_exaeasy01celadm01 2T exaeasy01celadm01: DATA_CD_03_exaeasy01celadm01 2T exaeasy01celadm01: DATA_CD_04_exaeasy01celadm01 2T exaeasy01celadm01: DATA_CD_05_exaeasy01celadm01 2T
Déplacement des fichiers OCR et voting disks dans DBFS
Pour redimensionner le groupe de disques DATADG, nous devons au préalable déplacer les fichiers OCR et voting disks dans le groupe de disques DBFS.
[root@exadata01db01:~ ] $ ocrconfig -add +DBFS [root@exadata01db01:~ ] $ ocrconfig -delele +DATADG [root@exadata01db01:~ ] $ ocrcheck Status of Oracle Cluster Registry is as follows : Version : 4 Total space (kbytes) : 409568 Used space (kbytes) : 2084 Available space (kbytes) : 407484 ID : 644918071 Device/File Name : +DBFS Device/File integrity check succeeded Device/File not configured Device/File not configured Device/File not configured Device/File not configured Cluster registry integrity check succeeded Logical corruption check succeeded [root@exadata01db01:~ ] $ crsctl replace votedisk +DBFS Successful addition of voting disk feb0fa8614994f7bbf31e2ad6f66b505. Successful addition of voting disk 9279c5bed32c4f0bbf706d9a1ccc8edb. Successful addition of voting disk a45bc98946654f47bfa7735aa2bbf1da. Successful deletion of voting disk 27bca22451fb4f35bf0cb2f4f8be8b6e. Successful deletion of voting disk 7ca9e674c5664f87bfbda97a8b9c7ad4. Successful deletion of voting disk ceeaf138e9f54f17bf7fe55aca451fea. Successful deletion of voting disk ce252595f0d44f38bf400272b07a47ec. Successful deletion of voting disk f921496842374f6ebf18d3bdb8ab22db. Successfully replaced voting disk group with +DBFS. CRS-4266: Voting file(s) successfully replaced [root@exadata01db01:~ ] $ crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE feb0fa8614994f7bbf31e2ad6f66b505 (o/192.168.10.5;192.168.10.6/DBFS_CD_02_exadata01celadm01) [DBFS] 2. ONLINE 9279c5bed32c4f0bbf706d9a1ccc8edb (o/192.168.10.7;192.168.10.8/DBFS_CD_02_exadata01celadm02) [DBFS] 3. ONLINE a45bc98946654f47bfa7735aa2bbf1da (o/192.168.10.9;192.168.10.10/DBFS_CD_02_exadata01celadm03) [DBFS] Located 3 voting disk(s).
Augmentation de la taille des disques ASM du groupe DATADG
Maintenant, il suffit de redimensionner la taille des disques ASM du groupe DATADG à 4 To.
[Thu Jun 29 19:40:16 oracle@exaeasy01db01:~ ] $ sqlplus / as sysasm SQL select name, total_mb, os_mb, state from v$asm_disk where group_number = (select group_number from v$asm_diskgroup where name='DATADG'); NAME TOTAL_MB OS_MB STATE ------------------------------ ---------- ---------- -------- QD_DATADG_EXAEASY01DB01 128 128 NORMAL QD_DATADG_EXAEASY01DB02 128 128 NORMAL DATADG_CD_03_EXAEASY01CELADM03 3252224 4194304 NORMAL DATADG_CD_02_EXAEASY01CELADM03 3252224 4194304 NORMAL DATADG_CD_01_EXAEASY01CELADM03 3252224 4194304 NORMAL DATADG_CD_04_EXAEASY01CELADM03 3252224 4194304 NORMAL DATADG_CD_00_EXAEASY01CELADM03 3252224 4194304 NORMAL DATADG_CD_05_EXAEASY01CELADM03 3252224 4194304 NORMAL DATADG_CD_04_EXAEASY01CELADM02 3252224 4194304 NORMAL DATADG_CD_01_EXAEASY01CELADM02 3252224 4194304 NORMAL DATADG_CD_03_EXAEASY01CELADM02 3252224 4194304 NORMAL DATADG_CD_02_EXAEASY01CELADM02 3252224 4194304 NORMAL DATADG_CD_05_EXAEASY01CELADM02 3252224 4194304 NORMAL DATADG_CD_00_EXAEASY01CELADM02 3252224 4194304 NORMAL DATADG_CD_01_EXAEASY01CELADM01 3252224 4194304 NORMAL DATADG_CD_03_EXAEASY01CELADM01 3252224 4194304 NORMAL DATADG_CD_04_EXAEASY01CELADM01 3252224 4194304 NORMAL DATADG_CD_00_EXAEASY01CELADM01 3252224 4194304 NORMAL DATADG_CD_02_EXAEASY01CELADM01 3252224 4194304 NORMAL DATADG_CD_05_EXAEASY01CELADM01 3252224 4194304 NORMAL SQL alter diskgroup datadg drop quorum disk 'QD_DATADG_EXAEASY01DB01'; Diskgroup altered. SQL alter diskgroup datadg drop quorum disk 'QD_DATADG_EXAEASY01DB02'; Diskgroup altered. SQL alter diskgroup DATADG resize all size 4194304M [Thu Jun 29 19:45:20 oracle@exaeasy01db01:~ ] $ asmcmd ASMCMD> lsdg State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED HIGH N 512 4096 4194304 37748736 27221436 4194304 7675710 0 N DATA/ MOUNTED HIGH Y 512 4096 4194304 75497472 24694176 8388608 5435189 0 N DATADG/ MOUNTED NORMAL N 512 4096 4194304 415296 414332 34608 189862 0 Y DBFS/ MOUNTED NORMAL N 512 4096 4194304 18874368 17962128 1048576 8456776 0 N RECODG/
Vous pouvez remarquer que la taille du groupe de disques DATADG est passée de 54 To à 72 To.