1. Back up, then resize the volume
oci bv boot-volume-backup create --boot-volume-id $BV --type INCREMENTAL \
--display-name "pre-resize-$(date +%F)" --wait-for-state AVAILABLE
oci bv boot-volume update --boot-volume-id $BV --size-in-gbs 200 --wait-for-state AVAILABLE
# block (data) volume:
oci bv volume update --volume-id $VOL --size-in-gbs 1024 --wait-for-state AVAILABLE
Online resizing is supported, so the instance can stay running. Volumes can only grow.
2. Rescan the device in the guest
The OS doesn't see the new size until the device is rescanned. On Oracle Linux, the console shows the exact commands after a resize. The pattern is:
sudo dd iflag=direct if=/dev/oracleoci/oraclevda of=/dev/null count=1
echo "1" | sudo tee /sys/class/block/$(readlink /dev/oracleoci/oraclevda | cut -d'/' -f 2)/device/rescan
lsblk
For iSCSI-attached data volumes, rescan the session instead: sudo iscsiadm -m node -R.
3. Grow the root filesystem (Oracle Linux)
sudo /usr/libexec/oci-growfs -y
df -h /
oci-growfs extends the partition, the LVM physical and logical volumes where present, and the filesystem (XFS or ext4) in one step.
3b. Other distributions
sudo growpart /dev/sda 1 # adjust disk and partition number (lsblk)
sudo xfs_growfs / # XFS
sudo resize2fs /dev/sda1 # ext4
3c. Windows
Open Disk Management → Action → Rescan Disks, then right-click the volume → Extend Volume. Or:
Update-HostStorageCache
Resize-Partition -DriveLetter C -Size (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Performance as well as size
Block volume performance scales with size and the VPUs/GB setting (Lower Cost, Balanced, Higher Performance, Ultra High Performance). If the customer's real complaint is slow disk, raise VPUs instead of, or as well as, size:
oci bv volume update --volume-id $VOL --vpus-per-gb 20
Or enable performance auto-tune so OCI adjusts it.
Tip
Put application data on separate block volumes. Growing a data volume is simpler and safer than repeatedly resizing the boot volume.