ScaleIO allows for existing volumes to be resized larger to accommodate data growth.
By resizing existing volumes, we can grow an ASM diskgroup without having to add new ASM disks. This alternative approach has the following benefits:
- New volumes do not have to be added to any Consistency Group or mapping.
- No ASM data block relocation/compaction takes place.
- In VMware, which has a 256 LUN limit per ESX host, the additional capacity does not subtract from that limit.
Note: If ASMLib is in use, then the diskgroup must be taken offline for ASM disk resizing.
WARNING: As with any maintenance operation, selecting a time when workloads are low and having a recent backup to fall back on in the event of a disaster is strongly advised.
To resize the ASM disks and diskgroup in this manner, first use the ScaleIO GUI or command line interface to resize the size of each volume. Resize all volumes of the ASM diskgroup to the same size.
- If VMware is in use—Rescan the HBAs of each ESX server in the VMware cluster where the database nodes that use the ASM diskgroup reside.
Rescan the SCSI bus of the guest OS of each database node. This can be accomplished with the following Linux command:
for hst in $(ls /sys/class/scsi_host) ; do echo "- - -" > /sys/class/scsi_host/$hst/scan ; done
- If ASMLib is in use—Execute the /etc/init.d/oracleasm scandisks command.
- If the ASM disks have partition headers—Repartition each disk in the ASM diskgroup. Note that the Linux parted tool will warn that the contents of the disk will be lost. With ASM this is not the case and the warning can be safely ignored.
- If the ASM diskgroup was taken offline—Bring it back online.
Resize all volumes
- Connect to the ASM instance and execute the command:
SQL> alter diskgroup MYDISKGROUP resize all;
- Use the asmcmd lsdg command to verify the additional capacity is now visible.