Xsan: Available free space incorrect on heavily fragmented volumes
On an Xsan volume with heavy free space fragmentation, the available free space may be less than expected.
- Update the metadata controllers to Xsan 2.2 or later.
- Stop the Xsan volume after unmounting it on all clients.
- Locate the volume's configuration file on the metadata controller at this path:
For earlier Mac OS X v10.6 Snow Leopard metadata controllers, the path is /Library/Filesystems/Xsan/config/VolumeName.cfg.
- Using these guidelines, edit the volume configuration file to add this line in the global section:
If the line already exists, change the second word of the line from No to Yes.
The global section of the configuration file is the first part of the file and contains parameters such as FsBlockSize, JournalSize, and AllocationStrategy. You can insert the new line anywhere in the global section.
- Repeat the same configuration file changes on all metadata controllers for the volume.
- Restart the Xsan volume.
When this occurs, the Xsan volume log (cvlog) will contain "fragments ignored" entries such as these when the volume activates:
[0919 21:17:51] 0xb8eb1000 (Warning) FSM Alloc: Stripe Group "Video-1" 140158 free blocks in 20272 fragments ignored. [0919 21:17:53] 0xb8f33000 (Warning) FSM Alloc: Stripe Group "Video-2" 551704 free blocks in 77104 fragments ignored. [0919 21:17:53] 0xb8fb5000 (Warning) FSM Alloc: Stripe Group "Video-3" 561540 free blocks in 78636 fragments ignored. [0919 21:17:53] 0xb9037000 (Warning) FSM Alloc: Stripe Group "Video-4" 586677 free blocks in 80952 fragments ignored. [0919 21:17:53] 0xb8e2f000 (Warning) FSM Alloc: Stripe Group "Video-5" 525412 free blocks in 73209 fragments ignored. [0919 21:17:53] 0xb90b9000 (Warning) FSM Alloc: Stripe Group "Video-6" 280006 free blocks in 36786 fragments ignored.
Excessive fragmentation can occur quickly when a bandwidth expansion is performed on a storage pool with pre-existing data. To avoid this, always observe the guidelines for volume expansion.
Setting the ABMFreeLimit variable to Yes may significantly increase both the volume startup time and the memory usage of the volume's FSM process.