Oracle requires that all disks in an ASM disk group should be of the same size (link). Therefore, in-place resize is not possible and the procedure below should be followed instead.
- Create and attach new disks of the desired size to the database node VMs. Attach the disks using LUN numbers 1 through 49 - these LUNs will be shared automatically by FlashGrid Storage Fabric.
Note: Read-only caching must be enabled for all new disks. Read-Write and None modes are not supported and may create reliability problems.
Note: It is recommended to enable Performance Plus for all new disks. Performance Plus is mandatory if existing disks in the disk group already have it enabled.
Note: to create Premium SSD v2 disks, use this article.
-
Confirm FlashGrid names of the new drives, e.g. rac2.lun3
$ flashgrid-cluster drives
If the new drives are not listed then check that the corresponding devices (e.g. /dev/lun3) are visible in the OS. If they are visible in the OS then run as root
flashgrid-node reload-config
and check output offlashgrid-cluster drives
again. If they are not visible in the OS then double-check that you have attached them with correct LUN numbers. - Run the following command to replace all regular (non-quorum) disks in a disk group:
$ flashgrid-dg replace-all-disks -G <diskgroup_name> -d <disk> [<disk> ...]
For example, to replace all regular disks in the DATA disk group with lun5, lun6:$ flashgrid-dg replace-all-disks -G DATA -d /dev/flashgrid/rac[12].lun[56]
This command relocates data from the old disks to the new ones and runs rebalance. It can generate significant I/O load, so plan it during time when the database is less active.
Note: Starting with Storage Fabric version 23.04, the replace-all-disks operation executes data rebalance in background. While rebalance is running in background, theflashgrid-cluster
andflashgrid-dg
commands may show old disks reported as "LostDisks". This will be cleared after the background operation completes. - The old disks can be removed. Please run for each DB node:
[fg@<db_node> ~] flashgrid-node stop-target <disk>
For example, to stop disk rac1.lun3 on rac1, run:[fg@rac1 ~] flashgrid-node stop-target /dev/flashgrid/rac1.lun3
To stop disk rac2.lun3 on rac2, run:[fg@rac2 ~] flashgrid-node stop-target /dev/flashgrid/rac2.lun3
- Detach the old disks from the VMs.