From bdc97d761e1f0569af989b9387659266af350c2b Mon Sep 17 00:00:00 2001 From: Jan Siwiec <jan.siwiec@vsb.cz> Date: Fri, 12 Mar 2021 10:03:12 +0100 Subject: [PATCH] added project storage file related to #78 --- docs.it4i/barbora/storage.md | 4 +- docs.it4i/storage/.gitkeep | 0 .../storage/img/project-storage-overview1.png | Bin 0 -> 37554 bytes docs.it4i/storage/project-storage.md | 144 ++++++++++++++++++ mkdocs.yml | 2 + 5 files changed, 149 insertions(+), 1 deletion(-) create mode 100644 docs.it4i/storage/.gitkeep create mode 100644 docs.it4i/storage/img/project-storage-overview1.png create mode 100644 docs.it4i/storage/project-storage.md diff --git a/docs.it4i/barbora/storage.md b/docs.it4i/barbora/storage.md index e2b54cdce..d9629c915 100644 --- a/docs.it4i/barbora/storage.md +++ b/docs.it4i/barbora/storage.md @@ -149,7 +149,8 @@ The SCRATCH filesystem is realized as Lustre parallel filesystem and is availabl ### PROJECT File System -TBD +The PROJECT data storage is a central storage for projects'/users' data on IT4Innovations that is accessible from all clusters. +For more information, see the [PROJECT storage][6] section. ### Disk Usage and Quota Commands @@ -353,6 +354,7 @@ Transfer rates of about 28 MB/s can be expected. [3]: #cesnet-data-storage [4]: ../general/obtaining-login-credentials/obtaining-login-credentials.md [5]: #project-file-system +[6]: ../storage/project-storage.md [a]: http://www.nas.nasa.gov [b]: http://www.nas.nasa.gov/hecc/support/kb/Lustre_Basics_224.html#striping diff --git a/docs.it4i/storage/.gitkeep b/docs.it4i/storage/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs.it4i/storage/img/project-storage-overview1.png b/docs.it4i/storage/img/project-storage-overview1.png new file mode 100644 index 0000000000000000000000000000000000000000..651bed74453f21a23c281f574eb56e903fba2946 GIT binary patch literal 37554 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 CDAIla literal 0 HcmV?d00001 diff --git a/docs.it4i/storage/project-storage.md b/docs.it4i/storage/project-storage.md new file mode 100644 index 000000000..2b64fc548 --- /dev/null +++ b/docs.it4i/storage/project-storage.md @@ -0,0 +1,144 @@ +# PROJECT Data Storage + +The PROJECT data storage is a central storage for projects'/users' data on IT4Innovations. +The PROJECT data storage is accessible from all IT4Innovations clusters, it allows to share data amongst clusters. +The storage is intended to be used throughout the whole project's lifecycle. + +## Technical Overview + +The PROJECT storage consists of three equal file storages (blocks) called PROJ1, PROJ2, and PROJ3. +Each file storage implements GPFS file system exported via NFS protocol using three NFS servers. +File storages provide high-availability and redundancy. + + + +| Specification | Total | Per Block | +| ----------------- | -------------------|-------------------- | +| Protocol | NFS over GPFS | +| Total capacity | 15PB | 5PB | +| Throughput | 39GB/s | 13GB/s | +| IO Performance | 57kIOPS | 19kIOPS | + +## Accessing PROJECT + +All aspects of allocation, provisioning, accessing, and using the PROJECT storage are driven by project paradigm. +Storage allocation and access to the storage are based on projects (i.e. computing resources allocations) and project membership. + +A project directory (actually implemented as an independent fileset) is created for every active project. +Default limits (quotas), default file permissions, and ACLs are set. +The project directory life cycle strictly follows the project's life cycle. +The project directory is removed after the project's data expiration. + +### POSIX File Access + +!!!note "Mountpoints" + PROJECT file storages are accessible at mountpoints `/mnt/proj1`, `/mnt/proj2`, and `/mnt/proj3`. + +The PROJECT storage can be accessed via the following nodes: + +| Cluster | Node(s) | +| ------------- | ----------------------------- | +| Salomon | Login | +| Barbora | Login, Compute, Visualization | +| DGX2 | Compute | + +To show the path to your project's directory on the PROJECT storage, use the `it4i-get-project-dir` command: + +```console +$ it4i-get-project-dir OPEN-XX-XX +/mnt/proj3/open-XX-XX +``` + +### Project Quotas + +The PROJECT storage enforces limits (quotas) on projects' usage (used capacity and allocated inodes). +Default quotas for capacity and amount of inodes per project are set by IT4Innovations. + +| Project default quota | | +| --------------------- | ------ | +| Space quota | 20TB | +| Inodes quota | 5 mil. | + +Actual usage of the PROJECT storage (e.g. location of project directory, used capacity, allocated inodes) can be found in IT4Innovations' [SCS information system][b]. + +### Lifting Project Quotas + +It is preferred that you request additional storage space allocation in advance in you application for computational resources. +Alternatively, if the project is already active, contact [IT4I support][a]. + +### Snapshots + +The PROJECT storage provides snapshot functionality. A snapshot represents a state of a filesystem at a particular point in time. Snapshots are created for all projects on fileset (i.e. project directory) level. +Snapshots are created every day, snapshots older than seven days are deleted. + +Files in snapshots are accessible directly by users in the special subdirectory of each project directory named `.snapshots`. +Snapshots are read-only. + +Snapshots' names have the `YYYY-MM-DD-hhmmss` format. + +```console +[vop999@login1.salomon ~]# ls -al /mnt/proj3/open-XX-XX/.snapshots +total 4 +dr-xr-xr-x. 2 root root 4096 led 14 12:14 . +drwxrws---. 16 vop999 open-XX-XX 4096 led 20 16:36 .. +drwxrws---. 16 vop999 open-XX-XX 4096 led 20 16:36 2021-03-01-022441 +drwxrws---. 16 vop999 open-XX-XX 4096 led 20 16:36 2021-03-02-022544 +drwxrws---. 16 vop999 open-XX-XX 4096 led 20 16:36 2021-03-03-022949 +drwxrws---. 16 vop999 open-XX-XX 4096 led 20 16:36 2021-03-04-023454 +drwxrws---. 16 vop999 open-XX-XX 4096 led 20 16:36 2021-03-05-024152 +drwxrws---. 16 vop999 open-XX-XX 4096 led 20 16:36 2021-03-06-020412 +drwxrws---. 16 vop999 open-XX-XX 4096 led 20 16:36 2021-03-07-021446 +``` + +### ACL and File Permissions + +Access to a project directory and containing files is restricted by Unix file permissions and file access control lists (ACLs). +Default file permissions and ACLs are set by IT4Innovations during project directory provisioning. + +## Backup and Safety + +!!!important "Data Backup" + Data on the PROJECT storage is **not** backed up. + +The PROJECT storage utilizes fully redundant design, redundant devices, highly available services, data redundancy, and snapshots. For increased safety, each disk array is connected in Distributed RAID6 each with two hot-spare disks, meaning it can recover full redundancy after two simultaneous disk failures. + +However, the storage does not provide data backup, so we strongly recommend using the [CESNET storage][1] for making independent copies of your data. + +<! --- (HA data replication?) --> +<! --- (balancing in case of overload (data migration?) --> + +## Computing on PROJECT + +!!!important "I/O Intensive Jobs" + Stage files for intensive I/O calculations onto the SCRATCH storage. + +The PROJECT storage is not primarily intended for computing and it is strongly recommended to avoid using it directly for computing in majority of cases. + +On the other hand, the PROJECT storage is accessible from compute nodes and can be used for computing jobs with low I/O demands, +when copying data to other storage for computing is not feasible or efficient. +However, be aware of overloading the storage, as this will result in degraded performance for other users of the PROJECT storage or its unavailability. + +For maximum performance, you should always copy the files of I/O intensive jobs onto the SCRATCH storage. +The files should be copied to SCRATCH from Login nodes before submitting the job. + +<! --- See also: data storage policy on filesystems (link?) --> + +<! --- ## Technical Specification --> + +<! --- For a detailed technical specification, see the Technical Specification section. --> + +## Summary + +| PROJECT Storage | | +| -------------------- | ------------------- | +| Mountpoint | /mnt/proj{1,2,3} | +| Capacity | 15PB | +| Throughput | 39GB/s | +| IO Performance | 57kIOPS | +| Default project space quota | 20TB | +| Default project inodes quota | 5 mil. | + +[1]: ../barbora/storage.md#cesnet-data-storage + +[a]: mailto:support@it4i.cz +[b]: https://scs.it4i.cz/projects diff --git a/mkdocs.yml b/mkdocs.yml index 2ec8238d9..604d29c67 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -69,6 +69,8 @@ nav: - PRACE User Support: prace.md - API Documentation: apiv1.md - Withdrawal from service: anselm-salomon-shutdown.md + - Storage: + - PROJECT: storage/project-storage.md - Clusters: - Barbora: - Introduction: barbora/introduction.md -- GitLab