LFS-PCC(1)

NAME
lfs-pcc - commands used to interact with the Persistent Client Cache (PCC).

SYNOPSIS
lfs pcc attach [--id|-i NUM] [--readonly|-r] [--write|-w] FILE...
lfs pcc attach_fid [--id|-i NUM] --mnt|-m MNTPATH [--readonly|-r] [--write|-w] FID...
lfs pcc state FILE...

DESCRIPTION
lfs pcc attach [--id|-i NUM] [--readonly|-r] [--write|-w] FILE...

    Attach given files to the persistent client cache. Use lfs pcc detach to remove the cached files from PCC either manually, or through automatic mechanisms for the purpose of the cache space management.

lfs pcc attach_fid [--id|-i NUM] --mnt|-m MNTPATH [--readonly|-r] [--write|-w] FID...

    Attach given files into the persistent client cache by FID(s).

lfs pcc state FILE...

    Display the PCC state for given files.

OPTIONS

--id, -i
    For RW-PCC, it is HSM ARCHIVE ID to choose which backend for cache files. If not specified, the default archive ID (0) will be used.

--mnt, -m
    Specify the Lustre mount point.

--readonly, -r
    Attach the file(s) in readonly mode (RO-PCC).

--write, -w
    Attach the file(s) in read-write mode (RW-PCC). This is the default if neither --readonly nor --write is specified. Before using RW-PCC, you need to configure HSM root and Archive ID mapping properly: lfs pcc add $MNTPATH $PCCPATH "$PARAM" Add one PCC backend to the Lustre client. For RW-PCC, when a file is being created, a rule-based policy is used to determine whether it will be cached. The rule expression supports logical conditional conjunction and disjunction operations among different users, groups, projects, or filenames including wildcards. You need to specify auto create caching rule and archive ID in $PARAM. On this client any subsequently created files matching the condition of auto caching rule will be persistently cached automatically.

lfs pcc del $MNTPATH $PCCPATH
     Delete one PCC backend

lfs pcc clear $MNTPATH
     Clear and remove all PCC backends for the client.

EXAMPLES
Enable HSM on the appropriate MDT:
    # lctl set_param mdt.$FSNAME-MDT0000.hsm_control=enabled

Launch one copytool on client node to connect cache storage:
    # lhsmtool_posix --daemon --hsm-root /mnt/pcc/ --archive=1 /mnt/lustre

Add HSM root and Archive ID (referenced by rwid name-value pair) mapping for RW-PCC. Where "&" represents the logical conjunction operator while "," represents the logical disjunction operator. The example rule means that new files are only auto cached if the project ID is either 500 or 1000 and the suffix of the file name is “h5” or the user ID is 1001:
    # lfs pcc add /mnt/lustre /mnt/pcc  "projid={500,1000}&fname={*.h5},uid=1001 rwid=1"

Attach an existing file into PCC and migrate data from lustre to Cache Device, any I/O to the Lustre file will direct to the RW-PCC copy:
    $ lfs pcc attach -i 1 /mnt/lustre/file

Attach an existing file referenced by FID "0x200000401:0x1:0x0" into PCC:
    $ lfs pcc attach_fid -i 1 -m /mnt/lustre 0x200000401:0x1:0x0

Display the PCC state of the file "/mnt/lustre/file":
    $ lfs pcc state /mnt/lustre/file
    file: /mnt/lustre/file, type: readwrite, PCC file: /mnt/pcc/0004/0000/0bd1/0000/0002/0000/0x200000bd1:0x4:0x0, user number: 1, flags: 6

Display the PCC state of the file "/mnt/lustre/file":
    $ lfs pcc state /mnt/lustre/file
    file: /mnt/lustre/file, type: readwrite, PCC file: /mnt/pcc/0004/0000/0bd1/0000/0002/0000/0x200000bd1:0x4:0x0, user number: 1, flags: 6

AVAILABILITY
lfs pcc attach is part of the lustre(7) filesystem package since release 2.13.0

SEE ALSO
lctl-pcc(8), lfs(1), lfs-hsm(1), lfs-pcc-detach(1)