目录

  1. XRootD 代理服务
    1. XRootD 直接代理模式
    2. XRootD 转发代理模式
    3. XRootD 联合代理模式
    4. XRootD 自动代理
  2. XRootD 代理缓存服务
    1. XRootD 磁盘缓存模式
    2. XRootD 内存缓存模式
  3. XCache 测试
  4. 参考

XRootD 代理服务

XRootD 直接代理模式

XRootD 转发代理模式

XRootD 联合代理模式

XRootD 自动代理

XRootD 代理缓存服务

XRootD 磁盘缓存模式

XRootD 自带了几个简单的文件缓存配置 - xrootd-filecache-cluster.cfxrootd-filecache-standalone.cfg, 下面是一个磁盘缓存模式 Disk Cache 的配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
all.export /

ofs.osslib libXrdPss.so

xrootd.trace emsg login stall redirect
xrd.trace info
ofs.trace info

pss.origin = some_server:1094

### 包含 Disk Cache Proxy 插件的共享库。
pss.cachelib libXrdFileCache.so

### 用来缓存需要写到磁盘上的代理缓冲的最大允许 RAM。超过这个值,代理会将请求发送到远程服务器。
pfc.ram 16g

pss.setopt DebugLevel 0

oss.memfile max 80% check map preload

### 用来保存缓存文件的位置
oss.localroot /data

pfc.trace DebugLevel
pfc.prefetch 8

pfc.blocksize 512k

ofs.ckslib * libXrdPss.so

pfc.user xrootd

XRootD 内存缓存模式

Disk Cache 模式不同的是,XRootD 内存缓存模式 Memory Cache 是将最近访问过的文件缓存在内存中,所以要求作为服务器的内存要足够大。 XRootD Disk CacheMemory Cache 是不能共存的。 XRootD Memory Cache 与标准的 XRoot Proxy 服务 相比,只多了一个 pss.cahce 语句。 下面是一个 Memory Cahce 的配置文件。

1
2
3
4
5
6
7
8
9
10
11
all.export /

ofs.osslib libXrdPss.so

xrootd.trace emsg login stall redirect
xrd.trace info
ofs.trace info

pss.origin = some_server:1094
pss.cache logstats max2cache 16g sfiles on r preread
pss.setopt DebugLevel 0

XCache 测试

参考

  1. Proxy Storage Services (Caching, Non-Caching, & Server-less Caching) Configuration Reference
  2. XRootd, disk-based, caching proxy for optimization of data access, data placement and data replication
  3. Installing and configuring xrootd
  4. A fedorated Xrootd Cache
  5. Stash Cache Installation
  6. Distributed and on-demand cache for CMS experiment at LHC
  7. XRootD-Caching-Setup
  8. The adoption of the HTTP/XRootD protocols for a new data caching architecture in WLCG experiments
  9. Distributed Caching Using the HTCondor CacheD