How to extend the /u01 filesystem on an Exadata

Posted in: Oracle, Technical Track

Marketers are very good at selling everyone on the fact that resources (CPU, disks, memory) are now infinite, which is mainly true on a slide but it’s less true in real life. You may one day face this situation with your Exadata:

[root@exa01_db01 ~]# dcli -g ~/dbs_group -l root df -h /u01
exa01_db01: 99G   90G  4.2G  96% /u01
exa01_db02: 99G   88G  6.2G  94% /u01
exa01_db03: 99G   87G  6.5G  94% /u01
exa01_db04: 99G   90G  3.6G  97% /u01
exa01_db05: 99G   92G  1.9G  99% /u01
exa01_db06: 99G   92G  2.0G  98% /u01
exa01_db07: 99G   91G  2.8G  98% /u01
exa01_db08: 99G   85G  8.5G  91% /u01
[root@exa01_db01 ~]#

I won’t explore the reasons of the why /u01 is full here. You could ensure that your logfiles are properly rotated / purged, but this blog posts covers how to extend the /u01 filesystem on an Exadata.

A word on /u01

Whether you install Exadata on your own or you re-image it, you cannot influence the size of /u01 during these steps. /u01 is created with a 100 GB size, end of story.

Space available for /u01

Having a closer look at /u01, we can see that it resides on the /dev/mapper/VGExaDb-LVDbOra1 Logical Volume:

[root@exa01_db01 ~]# df -h /u01
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VGExaDb-LVDbOra1   99G   90G  4.2G  96% /u01
[root@exa01_db01 ~]#

This LVDbOra1 Logical Volume is in the VGExaDb Volume Group:

[root@exa01_db01 ~]# lvs
  LV                 VG      Attr       LSize  
  LVDbOra1           VGExaDb -wi-ao---- 100.00G
  LVDbSwap1          VGExaDb -wi-ao----  24.00G
  LVDbSys1           VGExaDb -wi-ao----  30.00G
  LVDbSys2           VGExaDb -wi-a-----  30.00G
  LVDoNotRemoveOrUse VGExaDb -wi-a-----   1.00G
[root@exa01_db01 ~]#

This VGExaDb Volume Group contains 2 Physical Volumes:

[root@exa01_db01 ~]# pvs
  PV         VG      Fmt  Attr PSize   PFree
  /dev/sda2  VGExaDb lvm2 a--u 557.36G 372.36G
  /dev/sda3  VGExaDb lvm2 a--u   1.09T   1.09T
[root@exa01_db01 ~]#

and (good news), there’s a lot of free space available here:

[root@exa01_db01 ~]# vgs
  VG      #PV #LV #SN Attr   VSize VFree
  VGExaDb   2   5   0 wz--n- 1.63T 1.45T
[root@exa01_db01 ~]#

Extend /u01

So we just have to extend the filesystem which is an online operation:

[root@exa01_db01 ~]#  lvextend -L +100G /dev/mapper/VGExaDb-LVDbOra1
  Size of logical volume VGExaDb/LVDbOra1 changed from 100.00 GB (25600 extents) to 200.00 GB (51200 extents).
  Logical volume LVDbOra1 successfully resized.
[root@exa01_db01 ~]# resize2fs /dev/mapper/VGExaDb-LVDbOra1
resize2fs 1.43-WIP (20-Jun-2013)
Filesystem at /dev/mapper/VGExaDb-LVDbOra1 is mounted on /u01; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 13
Performing an on-line resize of /dev/mapper/VGExaDb-LVDbOra1 to 52428800 (4k) blocks.
The filesystem on /dev/mapper/VGExaDb-LVDbOra1 is now 52428800 blocks long.
[root@exa01_db01 ~]#

And you’re done!

[root@exa01_db01 ~]# df -h /u01
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VGExaDb-LVDbOra1  197G   94G   94G  50% /u01
[root@exa01_db01 ~]#

Note that this has to be done on each node. Hope this helps!

email

Interested in working with Fred? Schedule a tech call.

No comments

Leave a Reply

Your email address will not be published. Required fields are marked *