Skip to content

Commit 6bf93ef

Browse files
committed
WIP: Installing a Pelican/OSDF cache by RPM
This is based on the Pelican/OSDF origin by RPM doc (PR osg-htc#193) so changes added there should generally be added here too.
1 parent 8d97237 commit 6bf93ef

File tree

1 file changed

+43
-89
lines changed

1 file changed

+43
-89
lines changed

docs/data/osdf/install-cache-rpm.md

+43-89
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
1-
title: Installing the OSDF Origin by RPM
1+
title: Installing the OSDF Cache by RPM
22

3-
Installing the OSDF Origin
4-
==========================
3+
Installing the OSDF Cache
4+
=========================
55

6-
This document describes how to install a Pelican-based Open Science Data Federation (OSDF) Origin service via RPMs.
7-
This service allows an organization to export its data to the Data Federation.
6+
This document describes how to install a Pelican-based Open Science Data Federation (OSDF) Cache service via RPMs.
7+
This service allows a site or regional network to cache data
88

99
!!! note
10-
The origin must be registered with the OSG prior to joining the data federation.
11-
You may start the registration process prior to finishing the installation by [using this link](#registering-the-origin)
10+
The cache must be registered with the OSG prior to joining the data federation.
11+
You may start the registration process prior to finishing the installation by [using this link](#registering-the-cache)
1212
along with information like:
1313

1414
* Resource name and hostname
15-
* VO associated with this origin server (which will be used to determine the origin's namespace prefix)
1615
* Administrative and security contact(s)
17-
* Who (or what) will be allowed to access the VO's data
18-
* Which caches will be allowed to cache the VO data
1916

2017

2118
Before Starting
@@ -24,11 +21,12 @@ Before Starting
2421
Before starting the installation process, consider the following requirements:
2522

2623
* __Operating system:__ A RHEL 8 or RHEL 9 or compatible operating systems.
27-
* __User IDs:__ If they do not exist already, the installation will create the Linux user ID `xrootd` for running daemons.
24+
* __User IDs:__ If they do not exist already, the installation will create the Linux user named `xrootd` for running daemons.
25+
* __File Systems:__ The cache should have a partition of its own for storing data and metadata.
2826
* __Host certificate:__ Required for authentication. See note below.
29-
* __Network ports:__ The origin service requires the following ports open:
27+
* __Network ports:__ The cache service requires the following ports open:
3028
* Inbound TCP port 8443 for file access via the HTTP(S) and XRoot protocols.
31-
* (Optional) Inbound TCP port 8444 for access to the web interface for monitoring and configuration;
29+
* (Optional) Inbound TCP port cache for access to the web interface for monitoring and configuration;
3230
if enabled, this should be restricted to the LAN or management network.
3331
* __Hardware requirements:__ We recommend that an origin has at least 1Gbps connectivity and 12GB of RAM.
3432
We suggest that several gigabytes of local disk space be available for log files,
@@ -44,126 +42,82 @@ As with all OSG software installations, there are some one-time steps to prepare
4442
In OSG 23, the Pelican-based OSDF RPMs are only available in the "osg-upcoming" repositories.
4543

4644
!!! note "Host certificates"
47-
Origins should use a CA that is accepted by major browsers and operating systems,
45+
Caches should use a CA that is accepted by major browsers and operating systems,
4846
such as InCommon RSA or [Let's Encrypt](../../security/host-certs/lets-encrypt).
4947
IGTF certs are not recommended because clients are not configured to accept them by default.
50-
48+
Note that you will need the full certificate chain, not just the certificate.
49+
5150
The following locations should be used (note that they are in separate directories):
5251

53-
* **Host Certificate**: `/etc/pki/tls/certs/pelican.crt`
52+
* **Host Certificate Chain**: `/etc/pki/tls/certs/pelican.crt`
5453
* **Host Key**: `/etc/pki/tls/private/pelican.key`
5554

5655

57-
Installing the Origin
58-
---------------------
56+
Installing the Cache
57+
--------------------
5958

60-
The origin service is provided by the `osdf-origin` RPM.
59+
The cache service is provided by the `osdf-cache` RPM.
6160
Install it using the following command:
6261

6362

6463
```console
65-
root@host # yum install --enablerepo=osg-upcoming osdf-origin
64+
root@host # yum install --enablerepo=osg-upcoming osdf-cache
6665
```
6766

6867

69-
Configuring the Origin Server
70-
-----------------------------
68+
Configuring the Cache Server
69+
----------------------------
7170

72-
Configuration for a Pelican-based OSDF Origin is located in `/etc/pelican/osdf-origin.yaml`.
71+
Configuration for a Pelican-based OSDF Cache is located in `/etc/pelican/osdf-cache.yaml`.
7372

7473
You must configure the following:
7574
```
7675
XRootD:
7776
Sitename: <RESOURCE NAME REGISTERED WITH OSG>
77+
Cache:
78+
DataLocation: "<TOP OF CACHE DIRECTORY>"
7879
```
7980

80-
In addition, you must tell Pelican the data to export to the federation.
81-
An origin may export one or more directory trees, or one or more S3 buckets -- follow one of the sections below.
82-
(An single origin cannot export both a bucket and a directory tree.)
83-
84-
85-
86-
### Configuring POSIX (directory) export
87-
88-
Set these options to export one or more directory trees to the federation.
89-
90-
```
91-
Origin:
92-
StorageType: "posix"
93-
Exports:
94-
# You may have one or more of the following block:
95-
- FederationPrefix: "<EXTERNAL OSDF NAMESPACE>"
96-
StoragePrefix: "<LOCAL FILESYSTEM DIRECTORY>"
97-
Capabilities: # Add or remove as desired
98-
- Reads # Enable authenticated reading of objects from under the directory tree through a cache
99-
- PublicReads # Enable unauthenticated reading of objects from under the directory tree through a cache
100-
- DirectReads # Enable reading objects from under the directory tree
101-
# without going through a cache
102-
- Listings # Enable directory listings
103-
- Writes # Enable writing to files in the directory tree
104-
```
105-
106-
### Configuring S3 export
107-
108-
Set these options to export one or more S3 buckets to the federation
109-
110-
```
111-
Origin:
112-
StorageType: "s3"
113-
S3Region: "<S3 REGION IF APPLICABLE>"
114-
S3ServiceUrl: "<URL OF S3 SERVER>"
115-
S3UrlStyle: "path"
116-
Exports:
117-
# You may have one or more of the following block:
118-
- FederationPrefix: "<EXTERNAL OSDF NAMESPACE>"
119-
S3Bucket: "<NAME OF S3 BUCKET>"
120-
S3AccessKeyfile: "<PATH TO S3 BUCKET ACCESS KEY>"
121-
S3SecretKeyfile: "<PATH TO S3 BUCKET SECRET KEY>"
122-
Capabilities: # Add or remove as desired
123-
- Reads # Enable authenticated reading of objects from the bucket through a cache
124-
- PublicReads # Enable unauthenticated reading of objects from the bucket through a cache
125-
- DirectReads # Enable reading objects from the bucket
126-
# without going through a cache
127-
- Listings # Enable listing bucket items
128-
- Writes # Enable writing to objects in the bucket
129-
```
81+
If you are using a separate partition for the cached data, which is strongly recommended,
82+
then use the mount point of the cache partition as `Cache.DataLocation`.
13083

13184

13285
Preparing for Initial Startup
13386
-----------------------------
13487

135-
1. The origin identifies itself to the federation via public key authentication;
136-
before starting the origin for the first time, it is recommended to generate a keypair.
88+
1. The cache identifies itself to the federation via public key authentication;
89+
before starting the cache for the first time, it is recommended to generate a keypair.
13790

13891
:::command
13992
root@host$ cd /etc/pelican
14093
root@host$ pelican generate keygen
14194

14295

14396
The newly created files, `issuer.jwk` and `issuer-pub.jwks` are the private and public keys, respectively.
144-
**Save these files**; if you lose them, you will have to re-register the origin.
97+
**Save these files**; if you lose them, your cache will need to be re-approved.
14598

146-
1. Contact OSG Staff and let them know that you are about to start your origin,
147-
and what namespace(s) the origin will serve.
148-
OSG Staff will need to approve the origin's registration.
99+
1. Contact OSG Staff and let them know that you are about to start your cache,
100+
and what the hostname of the cache is.
101+
OSG Staff will need to approve the cache's registration.
149102

150103

151-
Managing the Origin Service
104+
Managing the Cache Service
152105
---------------------------
153-
Use the following SystemD commands as root to start, stop, enable, and disable the OSDF Origin.
106+
Use the following SystemD commands as root to start, stop, enable, and disable the OSDF Cache.
154107

155108
| To... | Run the command... |
156109
| :--------------------------------------- | :--------------------------------- |
157-
| Start the origin | `systemctl start osdf-origin` |
158-
| Stop the origin | `systemctl stop osdf-origin` |
159-
| Enable the origin to start on boot | `systemctl enable osdf-origin` |
160-
| Disable the origin from starting on boot | `systemctl disable osdf-origin` |
110+
| Start the cache | `systemctl start osdf-cache` |
111+
| Stop the cache | `systemctl stop osdf-cache` |
112+
| Enable the cache to start on boot | `systemctl enable osdf-cache` |
113+
| Disable the cache from starting on boot | `systemctl disable osdf-cache` |
161114

162115

163-
Registering the Origin
164-
----------------------
165-
To be part of the Open Science Data Federation, your origin must be
166-
[registered with the OSG](../../common/registration.md). The service type is `Pelican origin`.
116+
Registering the Cache in OSG Topology
117+
-------------------------------------
118+
To be part of the Open Science Data Federation, your cache must be
119+
[registered in the OSG Topology system](../../common/registration.md).
120+
The service type is `Pelican cache`.
167121

168122

169123
Getting Help

0 commit comments

Comments
 (0)