1.1. System Prerequisites
1.1.1. Host
LOCKSS 2.0-beta1 runs on a Linux host (physical machine or virtual machine), on one of many Compatible Operating Systems, including AlmaLinux OS, Arch Linux, CentOS Stream, Debian, Fedora Linux, Linux Mint, OpenSUSE, Oracle Linux, Red Hat Enterprise Linux (RHEL), Rocky Linux, SUSE Linux Enterprise Server (SLES), and Ubuntu.
1.1.1.1. Linux Kernel Requirements
Most versions of the Compatible Operating Systems satisfy the Linux kernel requirements for LOCKSS 2.0-beta1 out of the box:
Linux kernel 5.4 or later is required
Linux kernel 5.4 or later is required. You can check the Linux kernel version by typing:
uname --kernel-releaseor equivalently:
uname -rat the host's command line.
If a version number 5.4 or later is output, the host satisfies the Linux kernel version requirement.
If a version number 5.3 or earlier is output, see Upgrading to Linux Kernel 5.4 or Greater in the RHEL 8 Family.
ip_tablesloadable kernel module is requiredThe
ip_tablesloadable kernel module is required, even if iptables or nftables is not installed on the host. You can check if theip_tablesloadable kernel module is available by typing:modinfo ip_tablesat the host's command line.
Note
Note that in this context, the correct name is
ip_tables, notiptablesas in many other contexts.If technical information about the module is output [1], the host satisfies the
ip_tablesloadable kernel module requirement.If an error message similar to the following is output:
modinfo: ERROR: Module ip_tables not found.
see Installing the ip_tables Loadable Kernel Module in the RHEL 10 Family.
1.1.1.2. System Software Requirements
The LOCKSS Downloader and LOCKSS Installer require basic system software that is almost always present out of the box on Compatible Operating Systems:
Curl or Wget is required
At least one of Curl or Wget is required. You can check by typing
curl --versionorwget --versionat the host's command line.If either outputs a valid version message, the host satisfies the fetcher requirement.
If both output an error message, see Installing Curl or Installing Wget.
Tar and Unzip are required
Both Tar (tar or gtar) and Unzip (unzip) are required. You can check by typing
tar --version(orgtar --version) andunzip --versionat the host's command line.If both output a valid version message, the host satisfies the archiver requirement.
If either outputs an error message, see Installing tar or Installing unzip accordingly.
1.1.2. CPU
The LOCKSS system runs on a 64-bit CPU with at least 4 CPU cores, preferably 8, depending on which components of the LOCKSS system you choose to run.
1.1.3. Memory
Likewise, the memory requirements also depend on which components of the LOCKSS system you choose to run. We recommend 32 GB of memory for modest applications, more for machines involved in sizeable applications (like the Global LOCKSS Network).
1.1.4. Storage
The LOCKSS system makes use of several storage areas:
Content storage areas: This is where all the preserved content preserved in the LOCKSS node is stored.
State data storage area: This is where databases (unless LOCKSS is configured to use external PostgreSQL and/or Solr databases) and other state data files used by the LOCKSS system are stored.
Temporary storage area: This is where temporary data files are written. LOCKSS makes heavy use of temporary storage.
Log storage area: This is where software logs generated by the LOCKSS system's components are written.
During configuration, the administrator must specify the location of these storage areas by supplying one or more directory paths. By default, the state data storage area, the temporary storage area, the log storage area, and the first content storage area go under a single directory, but different storage areas have different size and performance requirements:
For acceptable performance, we strongly recommend that the state data, temporary, and log storage areas be placed on locally-attached storage, not network-attached storage. Ideally, the content storage areas should also use locally-attached storage, but if necessary can use network-attached storage, such as NFS and iSCSI.
Depending on the characteristics of the preservation activities undertaken by the system, in some circumstances content processing may require a substantial amount of temporary space, up to tens of gigabytes. Do not use a RAM-based
tmpfsvolume, or a directory in a space-constrained partition, for the temporary storage area.
What's the Minimum for Experimentation?
To review the installation instructions and test the installation of K3s in various operating systems, we routinely install and bring up minimal LOCKSS 2.0-beta1, with no metadata services or Web replay engines, and with empty embedded PostgreSQL and Solr databases, in Vagrant virtual machines with Virtualbox using 2 CPU cores and 3 GB of memory. These minimal VMs would not support a production load, but it can be a useful tool to try out the installation instructions or evaluate the system.
Footnotes