Increasing Thumper filesystems for DPM

From PDP/Grid Wiki
Jump to navigationJump to search

The XFS file systems (on top of LVM) on Thumper disk servers can be grown on demand. Here follows the recipe to increase the file systems.

If the XFS file system should grow by more than 2 TB, see section Increasing file systems by more than 2 TB below for more details.

Increase the logical volume (/dev/data/atlasprd) on the Thumper. In this example, increase it to 4.4 TB (SI):

[root@hooi-ei-01 ~]# lvresize -L 4T /dev/data/atlasprd
  Extending logical volume atlasprd to 4.00 TB
  Logical volume atlasprd successfully resized


Increase the size of the XFS file system:

[root@hooi-ei-01 ~]# xfs_growfs /export/data/lv0
meta-data=/dev/data/atlasprd     isize=256    agcount=32, agsize=16777216 blks
         =                       sectsz=512   attr=0
data     =                       bsize=4096   blocks=536870912, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=1
naming   =version 2              bsize=4096
log      =internal               bsize=4096   blocks=32768, version=1
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 536870912 to 1073741824

The system should now see the modified size of the file system:

[root@hooi-ei-01 ~]# df -hH | grep -A 1 atlasprd
/dev/mapper/data-atlasprd
                       4.4T   1.6T   2.9T  37% /export/data/lv0


The DPM server has to be restarted to make it aware of this extra disk space:

[root@tbn18 ~]# service dpm restart
Stopping dpm:                                              [  OK  ]
Starting dpm:                                     

Done!


Increasing XFS file systems by more than 2 TB

There seems to be an integer overflow in the xfs_grow command, which limits the increase of the file system to 2 TB. To grow a file system from 2 TB to 12 TB, repeatedly increase it by 2 TB: 2 -> 4 -> 6 ... -> 12.

The following was taken from http://www.linux.sgi.com/archives/xfs/2006-11/msg00001.html :


There's a 32 bit overflow in the growfs code (and transaction code on 32 bit systems) so you can't grow by more than 2TB at a time. I've got a fix under test for this at the moment.

Can you see if you can grow using:

  1. xfs_growfs -D <current size + (2TB / FSB) - 1> </path/to/mntpt>

FSB = filesystem block size, and the current size is also in FSB. You can get both the current size and the FSB from xfs_growfs -n <mtpt>


If an attempt is made to increase a file system too much, the xfs_growfs command will not report a line like:

data blocks changed from 536870912 to 1073741824

Note: the exact maximum was not determined on our CentOS 4.6 systems. However, increasing in steps of 2 TB was fine, whereas going from 2 to 12 in one step was not.