Tuning Last Access Time
Provides an overview of the Last Access Time feature and its tuning.
What is Last Access Time?
atime
) is file metadata that is updated whenever a
file is read. You can use atime
for file management and governance decisions such as: - Deleting files that have not been accessed for a while
- Tiering files (to warm or cold tier) that have not been accessed for a while
- Migrating files that have not been accessed frequently
- Purging files that have not been accessed for a time
Considerations When Enabling Last Access Time
atime
update can be enabled only on Standard/Erasure Coding/Object Tiering volumes. It cannot be enabled on mirrored volumes. If you convert the mirror volume to a Read/Write volume,atime
is disabled by default. You can enableatime
with the volume modify command.atime
is applicable only for files. Theatime
of directories is NEVER updated.- While the
read
operation is audited, theatime
operation is not audited as it is an internal operation. - The volume offload operation does not update
atime
but a file read from a backend/frontend volume updatesatime
. - The file recall operation also updates
atime
. - The file read operation on the EC/Tiered backend volume updates
atime
on the frontend volume. - At the time of mirroring, the
atime
update frequency (atimeUpdateInterval
) is propagated from the source volume to the mirror volume. However, any subsequent changes made to this frequency on the source volume, are not automatically propagated to the mirror volume.
Exceptions to Last Access Time Updates
atime
is
never updated when: - Only the meta data of the file is being read
- The file is read from the client cache
- The file is read from a snapshot
- The
atimeUpdateInterval
has not been exceeded:For example, assume that for a volume the
For another example, assume that for a volume theatimeUpdateInterval
is set to 1 day. A file is created at 11AM and the file is read at 10:55AM the next day. If the read finishes at 10:58AM,atime
will not be updated as theatimeUpdateInterval
did not cross a day.atimeUpdateInterval
is set to 1day. A file is created at 11AM and the file is read at 10:55AM the next day. If the read completes at 11:10AM, theatime
will still not be updated though the read completed after 24 hours, because read was triggered at 10:55AM.atime
will only be updated when the file is next read.
Enabling the Last Access Time Feature
maprcli cluster feature enable -name mfs.feature.update.atime
Enabling Last Access Time
For performance reasons, the atime
feature is disabled on volumes by
default. You can enable atime
updates at the volume level when creating or modifying volumes.
To set the frequency of atime
updates, use the
atimeUpdateInterval
parameter when creating or modifying volumes. The value is in
days. The default value of 0
indicates that atime
is never
updated.
For example, a value of 2 indicates that the atime
is updated
Once every 2 days (48 hours) with the first read on the file.
atime
will not be updated on further reads on the file till the 48 hours
have passed.
Viewing the Last Access Time Value
atime
value of a specific volume, use the volume info command.
atime
values from previous history. Therefore, you might observe
wrong atime
values. To mitigate, make sure to clear caches, before
checking file timestamps.