How to extend /opt and /u01, LocalVolumes on ODA 19.27 #JoelKallmanDay

If you’ve ever patched or deployed software on Oracle Database Appliance (ODA), you’ve probably seen /opt running dangerously low on space. Between patch repositories, Grid homes, logs, and DCS data, /opt and /u01 mount points tend to fill up fast. In this post, we’ll walk through how to extend the /opt file system on ODA using odacli.

Before ODA 19.27, to extend /opt or /u01 meant jumping into Logical Volume Manager with lvextend and resize2fs — not something most of us enjoy doing on a production appliance. Starting with ODA 19.27, life is much easier with odacli extend-localvolume

ODA Local Volumes

ODA’s OS disks are configured as a RAID1 mirror, from which a volume group named VolGroupSys is created. Inside that VG, ODA initializes several logical volumes, each mapped to a key mount point:

You can read about the details in Oracle documentation. However the two volumes of interst to us are

Logical VolumeMount PointFilesystemTypical SizePurpose
LogVolU01/u01ext4~60 GBGrid Home and Diagnostic logs
LogVolOpt/optext4~30 GBPatching and DCS logs

Steps to extend /opt or /u01

Step 1: Check the Current Layout

Before making any changes, always take a look at how your local storage is structured. The “Space for extension” line (89 GB here) shows how much can be safely allocated to local volumes without affecting ODABR backup requirements during patching.

# odacli list-localvolumes
Local Disk and Volume details
----------------------------------------------------------------------
Node
--------------------------
host

 Physical Volume details
--------------------------
              Volume Size: 446.1 GB
               Free Space: 300.1 GB
        ODABR requirement: 120.0 GB
      Space for extension: 89.0 GB

 Logical Volume details
--------------------------
Volume Name     Path                                FS Type  Mounted on   Size       Used
--------------- ----------------------------------- -------- ------------ ---------- ----------
LOGVOLOPT       /dev/mapper/VolGroupSys-LogVolOpt   ext4     /opt         30.0 GB    22.3 GB
LOGVOLROOT      /dev/mapper/VolGroupSys-LogVolRoot  ext4     /            30.0 GB    4.0 GB
LOGVOLU01       /dev/mapper/VolGroupSys-LogVolU01   ext4     /u01         60.0 GB    25.2 GB
LOGVOLDATA      /dev/mapper/VolGroupSys-LogVolDATA  N/A      N/A          1.0 GB
LOGVOLRECO      /dev/mapper/VolGroupSys-LogVolRECO  N/A      N/A          1.0 GB
LOGVOLSWAP      /dev/mapper/VolGroupSys-LogVolSwap  N/A      N/A          24.0 GB

Step 2: Validate Free Space at the LVM Level

Before making any changes, always take a look at how your local storage is structured. These commands show the total physical size and individual logical volume details

# pvs
PV VG Fmt Attr PSize PFree
/dev/md126p3 VolGroupSys lvm2 a-- 446.09g 300.09g

# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
LogVolDATA VolGroupSys -wi-ao---- 1.00g
LogVolOpt VolGroupSys -wi-ao---- 30.00g
LogVolRECO VolGroupSys -wi-ao---- 1.00g
LogVolRoot VolGroupSys -wi-ao---- 30.00g
LogVolSwap VolGroupSys -wi-ao---- 24.00g
LogVolU01 VolGroupSys -wi-ao---- 60.00g

Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroupSys-LogVolU01 60G 25G 35G 42% /u01

Step 3 Extend /opt or /u01

However before you extend please note the following

  • You can only extend, not shrink. Plan ahead — extensions are permanent.
  • Leave headroom for ODABR backup (ODA reserves space for rollback/patching).
  • Always check both odacli list-localvolumes and pvs before extending.
  • If Space for extension is 0, add more storage before retrying.

To increase the /u01 filesystem by 10 GB (from 60 to 70 GB) rune the below command where -is is the increment size and -name is the name of the local volume: logvolopt or logvolu01

odacli extend-localvolume --name LogVolU01 --size 10

This will create a job which can be monitored via

odacli describe-job <job_id>

Incase you want to see what odacli is actually doing review the dcs logs under /opt/oracle/dcs/log. Once successful validate the space

df -h /u01

Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/VolGroupSys-LogVolU01   70G   25G   45G  36% /u01
[root@host ~]# odacli list-localvolumes

With the addition of odacli extend-localvolume, Oracle has finally given us a clean, auditable way to extend local volumes like /opt and /u01 without touching LVM manually.

After releasing odaconfigcli in 19.26 and now introducing odacli extend-localvolume in 19.27, Oracle is steadily rolling out new features — small but powerful — for ODA administrators. Each one removes a bit more manual effort and adds reliability. Personally, I’m thrilled to see these incremental yet impactful enhancements.

Also incase you are wondering about what is Joel Kallman Day, you will find the details here. Thank you Tim !


Discover more from oratrails-aish

Subscribe to get the latest posts sent to your email.