• Li Xi's avatar
    LU-10092 llite: Add persistent cache on client · f172b116
    Li Xi authored
    PCC is a new framework which provides a group of local cache
    on Lustre client side. No global namespace will be provided
    by PCC. Each client uses its own local storage as a cache for
    itself. Local file system is used to manage the data on local
    caches. Cached I/O is directed to local filesystem while
    normal I/O is directed to OSTs.
    PCC uses HSM for data synchronization. It uses HSM copytool
    to restore file from local caches to Lustre OSTs. Each PCC
    has a copytool instance running with unique archive number.
    Any remote access from another Lustre client would trigger
    the data synchronization. If a client with PCC goes offline,
    the cached data becomes inaccessible for other client
    temporarilly. And after the PCC client reboots and the copytool
    restarts, the data will be accessible again.
    1) Make PCC exclusive with HSM.
    2) Strong size consistence for PCC cached file among clients.
    3) Support to cache partial content of a file.
    Change-Id: I188ed36c48aae223380739f607cc6caf2f789298
    Test-Parameters: clientcount=3 testlist=sanity-pcc,sanity-pcc,sanity-pcc
    Signed-off-by: default avatarLi Xi <lixi@ddn.com>
    Signed-off-by: default avatarWang Shilong <wshilong@ddn.com>
    Signed-off-by: default avatarQian Yingjin <qian@ddn.com>
    Reviewed-on: https://review.whamcloud.com/32963
    Tested-by: Jenkins
    Reviewed-by: default avatarPatrick Farrell <pfarrell@whamcloud.com>
    Tested-by: default avatarMaloo <maloo@whamcloud.com>
    Reviewed-by: default avatarOleg Drokin <green@whamcloud.com>