How to extend the /u01 filesystem on an Exadata

Tags:
Site Reliability Engineering,
Technical Track,
Powershell,
Sccm Powershell,
Export Sccm Collection To Csv,
Sccm
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!