When extending the filesystem online using fsadm command its failing with below error:
# fsadm -F vxfs -b 10240M /fs_test
vxfs fsadm: /dev/vg00/rfstest is currently 5636096 sectors - size will be increased
vxfs fsadm: attempt to resize /dev/vg00/rfstest failed with errno 28
vxfs fsadm: Retry the operation after freeing up some space
Error number 28 means ENOSPC from /usr/include/sys/errno.h
#define ENOSPC 28 /* No space left on device */
Why is the ENOSPC
error while running fsadm even though there is enough free space on the filesystem?
Solution
NOTE: If a file system is full, busy or too fragmented, the resize operation may fails.
Follow the below steps to extend the filesystem online using fsadm :
Checked and found filesystem is heavily fragmented. As it can be seen from the above output that there is no free extent of 8KB or above.
# fsadm -F vxfs -D -E /fs_test
Directory Fragmentation Report
Dirs Total Immed Immeds Dirs to Blocks to
Searched Blocks Dirs to Add Reduce Reduce
total 2887 1996 2131 0 3 99
Extent Fragmentation Report
Total Average Average Total
Files File Blks # Extents Free Blks
47977 85 5 1513016
blocks used for indirects: 26820
% Free blocks in extents smaller than 64 blks: 100.00
% Free blocks in extents smaller than 8 blks: 100.00
% blks allocated to extents 64 blks or larger: 90.52
Free Extents By Size
1: 215670 2: 221005 4: 213834
8: 0 16: 0 32: 0
64: 0 128: 0 256: 0
512: 0 1024: 0 2048: 0
4096: 0 8192: 0 16384: 0
32768: 0 65536: 0 131072: 0
262144: 0 524288: 0 1048576: 0
2097152: 0 4194304: 0 8388608: 0
16777216: 0 33554432: 0 67108864: 0
134217728: 0 268435456: 0 536870912: 0
1073741824: 0 2147483648
Ran the defragmentation on the filesystem.
# fsadm -F vxfs -d -e /fs_test
NOTE: Defragmentation can take long time depending on the degree of fragmentation, disk speed and number of inodes in the filesystem. In this case it took about 45 min. More information is available on man 1M fsadm_vxfs command.
Fragmentation report after defragmentation of filesystem:
# fsadm -F vxfs -D -E /fs_test
Directory Fragmentation Report
Dirs Total Immed Immeds Dirs to Blocks to
Searched Blocks Dirs to Add Reduce Reduce
total 2887 1879 2131 0 2 5
Extent Fragmentation Report
Total Average Average Total
Files File Blks # Extents Free Blks
47977 84 1 1539889
blocks used for indirects: 48
% Free blocks in extents smaller than 64 blks: 4.94
% Free blocks in extents smaller than 8 blks: 0.52
% blks allocated to extents 64 blks or larger: 91.40
Free Extents By Size
1: 1029 2: 1144 4: 1165
8: 1319 16: 1253 32: 1170
64: 1023 128: 879 256: 611
512: 388 1024: 171 2048: 89
4096: 36 8192: 12 16384: 4
32768: 4 65536: 0 131072: 1
262144: 0 524288: 0 1048576: 0
2097152: 0 4194304: 0 8388608: 0
16777216: 0 33554432: 0 67108864: 0
134217728: 0 268435456: 0 536870912: 0
1073741824: 0 2147483648: 0
Now its looks much better. Free extents are larger blocks.
Tried extending the filesystem now using fsadm command and its successful now:
# fsadm -F vxfs -b 10485760 /fs_test
UX:vxfs fsadm: INFO: V-3-25942: /dev/vg00/rfstest size increased from 5636096 sectors to 10485760 sectors
# bdf /fs_test
Filesystem kbytes used avail %used Mounted on
/dev/vg00/fstest 10485760 4097395 5990074 41% /fs_test
# fsadm -F vxfs -b 10240M /fs_test
vxfs fsadm: /dev/vg00/rfstest is currently 5636096 sectors - size will be increased
vxfs fsadm: attempt to resize /dev/vg00/rfstest failed with errno 28
vxfs fsadm: Retry the operation after freeing up some space
Error number 28 means ENOSPC from /usr/include/sys/errno.h
#define ENOSPC 28 /* No space left on device */
Why is the ENOSPC
error while running fsadm even though there is enough free space on the filesystem?
Solution
NOTE: If a file system is full, busy or too fragmented, the resize operation may fails.
Follow the below steps to extend the filesystem online using fsadm :
Checked and found filesystem is heavily fragmented. As it can be seen from the above output that there is no free extent of 8KB or above.
# fsadm -F vxfs -D -E /fs_test
Directory Fragmentation Report
Dirs Total Immed Immeds Dirs to Blocks to
Searched Blocks Dirs to Add Reduce Reduce
total 2887 1996 2131 0 3 99
Extent Fragmentation Report
Total Average Average Total
Files File Blks # Extents Free Blks
47977 85 5 1513016
blocks used for indirects: 26820
% Free blocks in extents smaller than 64 blks: 100.00
% Free blocks in extents smaller than 8 blks: 100.00
% blks allocated to extents 64 blks or larger: 90.52
Free Extents By Size
1: 215670 2: 221005 4: 213834
8: 0 16: 0 32: 0
64: 0 128: 0 256: 0
512: 0 1024: 0 2048: 0
4096: 0 8192: 0 16384: 0
32768: 0 65536: 0 131072: 0
262144: 0 524288: 0 1048576: 0
2097152: 0 4194304: 0 8388608: 0
16777216: 0 33554432: 0 67108864: 0
134217728: 0 268435456: 0 536870912: 0
1073741824: 0 2147483648
Ran the defragmentation on the filesystem.
# fsadm -F vxfs -d -e /fs_test
NOTE: Defragmentation can take long time depending on the degree of fragmentation, disk speed and number of inodes in the filesystem. In this case it took about 45 min. More information is available on man 1M fsadm_vxfs command.
Fragmentation report after defragmentation of filesystem:
# fsadm -F vxfs -D -E /fs_test
Directory Fragmentation Report
Dirs Total Immed Immeds Dirs to Blocks to
Searched Blocks Dirs to Add Reduce Reduce
total 2887 1879 2131 0 2 5
Extent Fragmentation Report
Total Average Average Total
Files File Blks # Extents Free Blks
47977 84 1 1539889
blocks used for indirects: 48
% Free blocks in extents smaller than 64 blks: 4.94
% Free blocks in extents smaller than 8 blks: 0.52
% blks allocated to extents 64 blks or larger: 91.40
Free Extents By Size
1: 1029 2: 1144 4: 1165
8: 1319 16: 1253 32: 1170
64: 1023 128: 879 256: 611
512: 388 1024: 171 2048: 89
4096: 36 8192: 12 16384: 4
32768: 4 65536: 0 131072: 1
262144: 0 524288: 0 1048576: 0
2097152: 0 4194304: 0 8388608: 0
16777216: 0 33554432: 0 67108864: 0
134217728: 0 268435456: 0 536870912: 0
1073741824: 0 2147483648: 0
Now its looks much better. Free extents are larger blocks.
Tried extending the filesystem now using fsadm command and its successful now:
# fsadm -F vxfs -b 10485760 /fs_test
UX:vxfs fsadm: INFO: V-3-25942: /dev/vg00/rfstest size increased from 5636096 sectors to 10485760 sectors
# bdf /fs_test
Filesystem kbytes used avail %used Mounted on
/dev/vg00/fstest 10485760 4097395 5990074 41% /fs_test