Xsan volumes with heavy free space fragmentation might show less available free space than expected

You can alter the ABMFreeLimit variable to change how free space is displayed.

If your Xsan volume free space is heavily fragmented, it might display less free space than you expect. When this happens, the Xsan volume log (cvlog) contains "fragments ignored" entries like 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.

The product of the Filesystem Block Size and the total ignored free blocks should equal the amount of missing space.

Setting the Xsan volume's ABMFreeLimit variable to yes instructs the File System Manager (FSM) to use an older method for processing the Allocation Bit Map. This change restores the missing space, but it can also significantly increase both the volume startup time and the memory usage of the volume's FSM process. Use the steps below if you want to change the ABMFreeLimit variable.

OS X Yosemite

Use these steps to change the ABMFreeLimit variable in OS X Yosemite. Replace VolumeName in all commands shown here with the name of your Xsan volume.

1. Set the abmFreeLimit key's value to "true" in the volume configuration on your primary MDC.

sudo /usr/libexec/PlistBuddy -c 'add :config:globals:abmFreeLimit string true' /Library/Preferences/Xsan/VolumeName.cfgp

2. Update the Xsan configuration stored in LDAP.

sudo xsanctl pushConfigUpdate

3. Restart the Xsan volume.

sudo cvadmin -e 'stop VolumeName'
sudo cvadmin -e 'start VolumeName'

OS X Mavericks and earlier

Use these steps in OS X Mavericks and earlier. Replace VolumeName in all commands shown here with the name of your Xsan volume.

1. Update the metadata controllers to Xsan 2.2 or later.

2. Stop the Xsan volume after unmounting it on all clients.

3. Locate the volume's configuration file on the metadata controller at this path:

/Library/Preferences/Xsan/VolumeName.cfg

For Mac OS X v10.6 Snow Leopard metadata controllers, the path is

/Library/Filesystems/Xsan/config/VolumeName.cfg

4. Using these guidelines, edit the volume configuration file to add this line in the global section:

ABMFreeLimit Yes

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.

5. Repeat the same configuration file changes on all metadata controllers for the volume.

6. Restart the Xsan volume.

Last Modified:
Helpful?

Additional Product Support Information

Start a Discussion

in Apple Support Communities
See all questions on this article See all questions I have asked
United States (English)