How to resolve the fsadm not
working in case of FS full due to fragmentation. .
Overview
|
Resolve the
fsadm not working in case of FS full due to fragmentation.
Issue :- #->fsadm -F vxfs -b
16192m /export/sapmnt/QSJ
UX:vxfs fsadm: INFO: V-3-23585:
/dev/vgdbQSJ/rlvmntQSJ is currently 8192000 sectors - size will be increased
vxfs: msgcnt 48348 mesg 001: V-2-1:
vx_nospace - /dev/vgdbQSJ/lvmntQSJ file system full (2048 block
extent)UX:vxfs fsadm: ERROR: V-3-20340: attempt to resize
/dev/vgdbQSJ/rlvmntQSJ failed with errno 28
UX:vxfs fsadm: ERROR: V-3-23643: Retry the
operation after freeing up some space
While the file system is /export/sapmnt/QSJ
is 86 % utilized
#-> bdf /export/sapmnt/QSJ
Filesystem
kbytes used avail %used Mounted on
/dev/vgdbQSJ/lvmntQSJ
8192000 6972865 1142942 86% /export/sapmnt/QSJ
We could see that fsadm failed
with errno 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?
|
Procedures
|
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 :
It seems filesystem is heavily
fragmented. As it can be seen from the above output that there is no free
extent of 8KB or above.
Please find the below article
which will help you to resolve the issue. if you are unable to open this
link, we have attached it over email.
HP-UX 11.x -
VxFS: Extending a Filesystem Online Using fsadm Command Fails with Error
Number 28
Issue
Extending a
filesystem from 5504MB to 10GB online using the fsadm command:
Filesystem is
not only 100% full before extending the filesystem:
# bdf /fs_test
Filesystem kbytes used
avail %used Mounted on
/dev/vg00/fstest 5636096 4122013 1420435 74% /fs_test
Logical volume
size is already extended to 10GB:
# lvdisplay
/dev/vg00/fstest
--- Logical
volumes ---
LV Name /dev/vg00/fstest
VG Name /dev/vg00
LV
Permission
read/write
LV Status available/syncd
LV Size
(Mbytes) 10240
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
|
Keywords.
|
fsadm
|