ls_bitmap_fs |
The ls_bitmap_fs process creates and services the “/inuse_bitmap” file system. This “/inuse_bitmap” filesystem is for internal use by other vmPRO processes (vm_proxy_fs and recovery_fs). The filesystem is not exported via NFS or CIFS.
ls_bitmap_fs provides in-use bitmap by looking into the device-mapper devices of the flat files, recognizing partitions and LVM volumes, identifying the file systems inside either the partitions or LVM volumes, and then reading the file system bitmaps for those file systems that we support. For virtual disks that does not have a good partition table or eligible disk label, or partitions/volumes that do not have a supported file system, ls_bitmap_fs will treat all blocks/sectors of the whole disk, or partition/volume, as 'in-use'. If ls_bitmap_fs treats a disk or volume as in-use, SmartRead is disabled for the disk and any backup of the flat file is done at a full level.
When a flat.vmdk (the data disk) of a VM is opened for backup by vm_proxy_fs in /export or for recovery by recovery_fs in /recover/images and if SmartRead is enabled for the disk (enabled by default), the requesting “process” asks ls_bitmap_fs for the “in-use” bitmap of the disk in order to determine what blocks of the disk are currently in-use. The “process” will then read the “/inuse_bitmap” filesystem for that “in-use” information. Using the “in-use” information both vm_proxy_fs and recovery_fs are able to skip “read” operations for disk blocks that are not “in-use”, return 0’s and save a torn of I/O access to the flat file in the ESX datastore.
The ls_bitmap_fs daemon reads file system bitmaps from the devices in “/dev/mapper” created by vm_proxy_fs (for files opened in /export) or recovery_fs (for files opened in /recovery/images)
Process Communication Flow
/export => | vm_proxy_fs => | /dev/mapper => | ls_bitmap_fs => | /inuse_bitmap => | vm_proxy_fs |
/recovery/images => | recovery_fs => | /dev/mapper => | ls_bitmap_fs => | /inuse_bitmap => | recovery_fs |
xx-flat.vmdk => | create DM devices => | <CID>.### => | create “in-use” bitmap => | <CID>.### => | use in-use bitmaps for SmartRead |
Troubleshooting:
The ls_bitmap_fs daemon writes log entries to “/var/log/ls_bitmap_fs”.
Here is a typical error you will see in this log. If an 'opened' flat file does not have a partition or LVM volume with a file system that ls_bitmap_fs recognizes, it will log an error like this:
Error: /dev/mapper/fffffffe.675242: unrecognised disk label 2012-02-20 16:35:18.624472: ERROR: ls_bitmap_open failed: unrecognized block device /dev/mapper/fffffffe.675242 2012-02-20 16:35:18.624793: ERROR: ls_bitmap_fs_open failed to open /fffffffe.675242 (res 22)
This error can be ignored if the virtual disk flat file is not formatted or does not have a file system vmPRO supports. The effect of this is that all blocks of that flat file will be treated as in-use -- effectively disabled SmartRead for the disk.
Any other type of error in the log should be investigated and potentially reported into engineering.
This page was generated by the BrainKeeper Enterprise Wiki, © 2018 |