<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Ceph Tiering to Point Archive(S3 Tape)]]></title><description><![CDATA[Ceph Tiering to Point Archive(S3 Tape)]]></description><link>https://ceph-tiering-to-point-archives3-tape.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 20 Jun 2026 14:28:24 GMT</lastBuildDate><atom:link href="https://ceph-tiering-to-point-archives3-tape.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Hands-On Integrating IBM Storage Ceph with PoINT Archive Gateway]]></title><description><![CDATA[Installing PoINT Archival Gateway on RHEL 9.3
PoINT Archival Gateway (PAG) can be installed on several servers (multi-node installation) in the Enterprise Edition or on one server in the Compact Edition. The following section describes the deployment...]]></description><link>https://ceph-tiering-to-point-archives3-tape.hashnode.dev/hands-on-integrating-ibm-storage-ceph-with-point-archive-gateway</link><guid isPermaLink="true">https://ceph-tiering-to-point-archives3-tape.hashnode.dev/hands-on-integrating-ibm-storage-ceph-with-point-archive-gateway</guid><category><![CDATA[ceph]]></category><category><![CDATA[IBM]]></category><category><![CDATA[storage]]></category><dc:creator><![CDATA[Daniel Parkes]]></dc:creator><pubDate>Wed, 16 Apr 2025 07:31:04 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1744788520562/949234cc-6263-4091-8af9-5970a08fad52.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-installing-point-archival-gateway-on-rhel-93">Installing PoINT Archival Gateway on RHEL 9.3</h2>
<p>PoINT Archival Gateway (PAG) can be installed on several servers (multi-node installation) in the Enterprise Edition or on one server in the Compact Edition. The following section describes the deployment of the Compact Edition.</p>
<p>Installing the PAG Compact Edition on RHEL 9.3 begins by transferring the installation tarball to your server and extracting its contents. After unarchiving, the next step is to install any required .NET runtimes and configure systemd services so PAG can run in the background.</p>
<p>Here is an example:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># scp PagCompactInstall-4.1.228.tar.gz root@linux1:/root/PAG/</span>
<span class="hljs-comment"># ssh root@linux1</span>
<span class="hljs-comment"># cd /root/PAG/</span>
<span class="hljs-comment"># tar -zxvf PagCompactInstall-4.1.228.tar.gz</span>
<span class="hljs-comment"># tar -zxvf PAG-CGN-FULL-4.1.228.tar.gz -C /</span>
<span class="hljs-comment"># tar -zxvf PAG-GUI-FULL-4.1.228.tar.gz -C /</span>
<span class="hljs-comment"># dnf install dotnet-runtime-8.0 aspnetcore-runtime-8.0 -y</span>
<span class="hljs-comment"># cp -pr /opt/PoINT/PAG/CGN/PagCgnSvc.service /etc/systemd/system</span>
<span class="hljs-comment"># cp -pr /opt/PoINT/PAG/CGN/pag-cgn.conf /etc/opt/PoINT/PAG/CGN/pag-cgn.conf</span>
<span class="hljs-comment"># cp -pr /opt/PoINT/PAG/GUI/PagGuiSvc.service /etc/systemd/system</span>
<span class="hljs-comment"># cp -pr /opt/PoINT/PAG/GUI/pag-gui.conf /etc/opt/PoINT/PAG/GUI/pag-gui.conf</span>
</code></pre>
<p>After installing the files and dependencies, it is necessary to update the PAG configuration files in order to reflect the correct IP addresses, ports, and license key. The primary changes typically occur in <code>/etc/opt/PoINT/PAG/CGN/pag-cgn.conf</code> for the S3 REST API and <code>/etc/opt/PoINT/PAG/GUI/pag-gui.conf</code> for the administrative GUI. An example edit might look like this:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># vi /etc/opt/PoINT/PAG/CGN/pag-cgn.conf</span>

[Administration Address]
CGN-GUI-MY-IP=10.251.0.35

[S3 REST API Addresses]
CGN-HTTP-S3-FQDN=linux1.cephlabs.com
CGN-HTTP-S3-IP=10.251.0.35
CGN-HTTP-S3-PORT-NOSSL=4080
CGN-HTTP-S3-PORT-SSL=4443
CGN-HTTP-S3-SSL-CERT-NAME=FILE:PAG.pfx
CGN-HTTP-S3-SSL-CERT-PWD=

[License]
CGN-Configuration-Key=QWYHM-W1787-5SD3X
</code></pre>
<p>Likewise, editing the GUI configuration file might involve similar IP updates:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># vi /etc/opt/PoINT/PAG/GUI/pag-gui.conf</span>
[Administration Address]
GUI-DB-IP=10.251.0.35
GUI-DB-PORT=4000
</code></pre>
<p>Once the configurations are in place, the services can be enabled and started:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># systemctl enable --now PagCgnSvc</span>
<span class="hljs-comment"># systemctl enable --now PagGuiSvc</span>
</code></pre>
<p>Confirming everything is running allows you to access the PAG GUI on the configured IP address and port through HTTPS. Log in with the default admin credentials, enter your License Key, and activate the software through the "System Management" → "Information" section in the PAG GUI. After licensing, creating a partition and Object Repository in the PAG interface will prepare the backend for storing objects on tape.</p>
<p>Under the menu command “Storage Management” → “Storage Partitions” you get an overview of all created Storage Partitions:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744787036673/8f015b57-c5df-4bff-a447-f0af4ceef678.png" alt class="image--center mx-auto" /></p>
<p>To create a new Object Repository (Bucket), click “Create Object Repository” and fill out the following dialogue.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744787081893/725b436b-a546-40ff-bb27-d6291c7f27cb.png" alt class="image--center mx-auto" /></p>
<p>Under the menu command “Storage Management” → “Object Repositories” you get an overview about all created Object Repositories (Buckets):</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744787233694/8cb665a5-fdd3-4bfc-ab35-4c2a20e1bb17.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744787252259/bd96755c-d379-49a4-8055-d25cfaff7aef.png" alt class="image--center mx-auto" /></p>
<p>Setting up a user with HMAC credentials will allow Ceph to authenticate against PAG’s S3 endpoint.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744787298780/35e3fa15-3a16-4bbf-9e7a-52c5534c0ab3.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-integrating-pag-as-a-storage-class-within-ceph">Integrating PAG as a Storage Class within Ceph</h2>
<p>Integrating PAG as a Storage Class within Ceph RGW involves configuring a cloud-tier placement for tape using the standard Ceph CLI. Adding a new <code>point-tape</code> storage class to the default placement looks like this:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># radosgw-admin zonegroup placement add --rgw-zonegroup=default --placement-id=default-placement --storage-class=point-tape --tier-type=cloud-s3</span>
<span class="hljs-comment"># radosgw-admin zonegroup placement modify --rgw-zonegroup default --placement-id default-placement --storage-class point-tape \</span>
  --tier config=endpoint=http://linux1.cephlabs.com:4080,access_key=9FD33A27642C45480260,secret=<span class="hljs-string">"YvFLFqQD+fZF+2gwVD4hbbgYzNoo4QeUiprhh0Tv"</span>,target_path=<span class="hljs-string">"cephs3tape"</span>,multipart_sync_threshold=44432,multipart_min_part_size=44432,retain_head_object=<span class="hljs-literal">true</span>,region=default,allow_read_through=<span class="hljs-literal">true</span>
</code></pre>
<p>Check this link for a complete description of all the configuration parameters available.</p>
<p>We can list our new zonegroup placement configuration with the following command:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># radosgw-admin zonegroup placement list</span>
</code></pre>
<p>NOTE: If you have not done any previous Multisite Configuration, a default zone and zonegroup are created for you, and changes to the zone/zonegroup will not take effect until the Ceph Object Gateways are restarted. If you have created a realm for multisite, the zone/zonegroup changes will take effect once the changes are committed with <code>radosgw-admin period update --commit</code>.</p>
<pre><code class="lang-bash"><span class="hljs-comment"># ceph orch restart rgw.default</span>
</code></pre>
<h2 id="heading-bucket-creation-and-lifecycle-policy">Bucket Creation and Lifecycle Policy</h2>
<p>Next comes the creation of a bucket and the assignment of a lifecycle policy. This policy will automatically transition objects from the STANDARD tier to the <code>point-tape</code> tier after a specified number of days. We first create a bucket called <code>dataset</code>:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># aws --profile tiering --endpoint https://s3.cephlabs.com s3 mb s3://dataset --region default</span>
</code></pre>
<p>The contents of <code>point-tape-lc.json</code> might resemble the following:</p>
<pre><code class="lang-json"># cat point-tape-lc.json
{
  <span class="hljs-attr">"Rules"</span>: [
    {
      <span class="hljs-attr">"ID"</span>: <span class="hljs-string">"Testing LC. move to tape after 1 day"</span>,
      <span class="hljs-attr">"Prefix"</span>: <span class="hljs-string">""</span>,
      <span class="hljs-attr">"Status"</span>: <span class="hljs-string">"Enabled"</span>,
      <span class="hljs-attr">"Transitions"</span>: [
        {
          <span class="hljs-attr">"Days"</span>: <span class="hljs-number">1</span>,
          <span class="hljs-attr">"StorageClass"</span>: <span class="hljs-string">"point-tape"</span>
        }
      ]
    }
  ]
}
</code></pre>
<p>To apply the lifecycle configuration to the <code>dataset</code> Bucket, you can apply it using the AWS CLI:</p>
<pre><code class="lang-json"># aws --profile tiering  s3api put-bucket-lifecycle-configuration --lifecycle-configuration file:<span class="hljs-comment">//point-tape-lc.json --bucket dataset</span>
# aws --profile tiering  s3api get-bucket-lifecycle-configuration --bucket dataset
{
    <span class="hljs-attr">"Rules"</span>: [
        {
            <span class="hljs-attr">"ID"</span>: <span class="hljs-string">"move to tape after 30 days"</span>,
            <span class="hljs-attr">"Prefix"</span>: <span class="hljs-string">""</span>,
            <span class="hljs-attr">"Status"</span>: <span class="hljs-string">"Enabled"</span>,
            <span class="hljs-attr">"Transitions"</span>: [
                {
                    <span class="hljs-attr">"Days"</span>: <span class="hljs-number">1</span>,
                    <span class="hljs-attr">"StorageClass"</span>: <span class="hljs-string">"point-tape"</span>
                }
            ]
        }
    ]
}
</code></pre>
<h2 id="heading-testing-the-integrated-setup">Testing the Integrated Setup</h2>
<p>Uploading a file to the bucket and confirming its presence:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># aws --profile tiering  s3 cp 10mb_file s3://dataset/</span>
upload: ./10mb_file to s3://dataset/10mb_file
</code></pre>
<pre><code class="lang-bash"><span class="hljs-comment"># aws --profile tiering  s3api list-objects-v2 --bucket dataset</span>
{
    <span class="hljs-string">"Contents"</span>: [
        {
            <span class="hljs-string">"Key"</span>: <span class="hljs-string">"10mb_file"</span>,
            <span class="hljs-string">"LastModified"</span>: <span class="hljs-string">"2025-03-24T15:40:55.879000+00:00"</span>,
            <span class="hljs-string">"ETag"</span>: <span class="hljs-string">"\"75821af1e9df6bbc5e8816f5b2065899-2\""</span>,
            <span class="hljs-string">"Size"</span>: 10000000,
            <span class="hljs-string">"StorageClass"</span>: <span class="hljs-string">"STANDARD"</span>
        }
    ]
}
</code></pre>
<p>The Ceph lifecycle daemon will run at scheduled intervals. After it completes, you can check whether objects have transitioned; the size of the object in the Ceph bucket will now be <code>0</code>, and <code>StorageClass</code> becomes <code>point-tape</code>:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># radosgw-admin lc list</span>
<span class="hljs-comment"># aws --profile tiering  s3api list-objects-v2 --bucket dataset</span>
{
    <span class="hljs-string">"Contents"</span>: [
        {
            <span class="hljs-string">"Key"</span>: <span class="hljs-string">"10mb_file"</span>,
            <span class="hljs-string">"LastModified"</span>: <span class="hljs-string">"2025-03-24T15:43:02.891000+00:00"</span>,
            <span class="hljs-string">"ETag"</span>: <span class="hljs-string">"\"75821af1e9df6bbc5e8816f5b2065899-2\""</span>,
            <span class="hljs-string">"Size"</span>: 0,
            <span class="hljs-string">"StorageClass"</span>: <span class="hljs-string">"point-tape"</span>
        }
    ]
}
</code></pre>
<p>In the output, <code>StorageClass</code> changes to <code>point-tape</code> for objects migrated to the PAG tier. Validating the actual data in the PAG backend is done by querying the bucket path in PAG via its S3 REST API:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># aws --profile points3 --endpoint http://linux1.cephlabs.com:4080 s3api head-object --bucket cephs3tape --key dataset/10mb_file</span>
{
    <span class="hljs-string">"AcceptRanges"</span>: <span class="hljs-string">"bytes"</span>,
    <span class="hljs-string">"LastModified"</span>: <span class="hljs-string">"2025-03-24T15:42:23+00:00"</span>,
    <span class="hljs-string">"ContentLength"</span>: 10000000,
    <span class="hljs-string">"ETag"</span>: <span class="hljs-string">"\"e46b7c402bc788a8ea9c4fd02268b744-2\""</span>,
    <span class="hljs-string">"ContentType"</span>: <span class="hljs-string">"application/octet-stream"</span>,
    <span class="hljs-string">"Metadata"</span>: {
        <span class="hljs-string">"Rgwx-Source"</span>: <span class="hljs-string">"rgw"</span>,
        <span class="hljs-string">"Rgwx-Source-Etag"</span>: <span class="hljs-string">"75821af1e9df6bbc5e8816f5b2065899-2"</span>,
        <span class="hljs-string">"Rgwx-Source-Key"</span>: <span class="hljs-string">"10mb_file"</span>,
        <span class="hljs-string">"Rgwx-Source-Mtime"</span>: <span class="hljs-string">"1742830855.879976223"</span>,
        <span class="hljs-string">"Rgwx-Versioned-Epoch"</span>: <span class="hljs-string">"0"</span>
    }
}
</code></pre>
<h2 id="heading-object-retrieval-workflow">Object Retrieval Workflow</h2>
<p>A restore request can be made with the <code>restore-object</code> API call. First, a <strong>temporary</strong> restore:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># aws --profile tiering  s3api restore-object --bucket dataset --key hosts --restore-request Days=3</span>
</code></pre>
<p>You can later confirm the restored object is accessible and listed in Ceph:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># aws --profile tiering s3 ls s3://dataset</span>
2025-03-24 11:43:02   10000000 10mb_file
</code></pre>
<pre><code class="lang-bash"><span class="hljs-comment"># aws --profile tiering  s3api head-object --bucket dataset --key 10mb_file</span>
{
    <span class="hljs-string">"AcceptRanges"</span>: <span class="hljs-string">"bytes"</span>,
    <span class="hljs-string">"Restore"</span>: <span class="hljs-string">"ongoing-request=\"false\", expiry-date=\"Thu, 27 Mar 2025 15:45:25 GMT\""</span>,
    <span class="hljs-string">"LastModified"</span>: <span class="hljs-string">"2025-03-24T15:43:02+00:00"</span>,
    <span class="hljs-string">"ContentLength"</span>: 10000000,
    <span class="hljs-string">"ETag"</span>: <span class="hljs-string">"\"\"e46b7c402bc788a8ea9c4fd02268b744-2\"\""</span>,
    <span class="hljs-string">"ContentType"</span>: <span class="hljs-string">"application/octet-stream"</span>,
    <span class="hljs-string">"Metadata"</span>: {},
    <span class="hljs-string">"StorageClass"</span>: <span class="hljs-string">"point-tape"</span>
}
</code></pre>
<p>If we don’t specify <code>Days</code> In the restore request, it triggers a <strong>permanent</strong> restore. For example:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># aws --profile tiering - s3 cp 20mb_file s3://dataset/</span>
upload: ./20mb_file to s3://dataset/20mb_file
</code></pre>
<p>Once the LC policy transitions the object:</p>
<pre><code class="lang-bash">aws --profile tiering  s3api head-object --bucket dataset --key 20mb_file | grep StorageClass
<span class="hljs-string">"StorageClass"</span>: <span class="hljs-string">"point-tape"</span>
</code></pre>
<p>Then, a permanent restore:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># aws --profile tiering  s3api restore-object --bucket dataset --key 20mb_file --restore-request {}</span>
</code></pre>
<p>After this, the storage class is back to <code>STANDARD</code>:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># aws --profile tiering  s3api head-object --bucket dataset --key 20mb_file</span>

{
    <span class="hljs-string">"AcceptRanges"</span>: <span class="hljs-string">"bytes"</span>,
    <span class="hljs-string">"LastModified"</span>: <span class="hljs-string">"2025-03-24T15:55:10+00:00"</span>,
    <span class="hljs-string">"ContentLength"</span>: 20000000,
    <span class="hljs-string">"ETag"</span>: <span class="hljs-string">"\"\"ab1a8bc4a7d7dd90231ae582e7dd35fa-4\"\""</span>,
    <span class="hljs-string">"ContentType"</span>: <span class="hljs-string">"application/octet-stream"</span>,
    <span class="hljs-string">"Metadata"</span>: {},
    <span class="hljs-string">"StorageClass"</span>: <span class="hljs-string">"STANDARD"</span>
}
</code></pre>
<h2 id="heading-conclusion">Conclusion</h2>
<p>By following the above approach, you can effectively deploy the PoINT Archival Gateway emulator, integrate it into IBM Storage Ceph as a new tape storage tier, and validate the entire lifecycle workflow — from upload and automatic migration to restore and verification. This combined solution reduces storage costs, enhances data protection and compliance, and provides on‐premises tape capabilities through a familiar S3 interface.</p>
]]></content:encoded></item><item><title><![CDATA[Integrating IBM Storage Ceph with PoINT Archival Gateway for Policy-Based S3 Tape Archiving]]></title><description><![CDATA[Introduction
Overview of Archival and Tiered Storage Challenges
As data growth accelerates, organizations increasingly rely on archival and tiered storage to efficiently manage capacity, cost, performance and compliance. These storage models aim to b...]]></description><link>https://ceph-tiering-to-point-archives3-tape.hashnode.dev/integrating-ibm-storage-ceph-with-point-archival-gateway-for-policy-based-s3-tape-archiving</link><guid isPermaLink="true">https://ceph-tiering-to-point-archives3-tape.hashnode.dev/integrating-ibm-storage-ceph-with-point-archival-gateway-for-policy-based-s3-tape-archiving</guid><category><![CDATA[S3tape]]></category><category><![CDATA[RGW]]></category><category><![CDATA[@IBMSTORAGECEPH]]></category><category><![CDATA[ceph]]></category><category><![CDATA[tape]]></category><category><![CDATA[Cloud]]></category><category><![CDATA[S3]]></category><category><![CDATA[S3-bucket]]></category><category><![CDATA[IBM]]></category><dc:creator><![CDATA[Daniel Parkes]]></dc:creator><pubDate>Tue, 15 Apr 2025 17:12:16 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1744736996211/820a9cb8-acab-4b79-bccf-95232da0e3a8.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introduction">Introduction</h2>
<h2 id="heading-overview-of-archival-and-tiered-storage-challenges">Overview of Archival and Tiered Storage Challenges</h2>
<p>As data growth accelerates, organizations increasingly rely on <strong>archival and tiered storage</strong> to efficiently manage capacity, cost, performance and compliance. These storage models aim to balance frequently accessed "hot" data with rarely used "cold" data by placing them on appropriate storage tiers. However, implementing and managing archiving and tiering pose several challenges. Storage systems must be able to integrate different storage technologies (flash, disk, and tape) so that data is stored on the most appropriate technology according to its importance and use. The tiering and archiving process must be carried out automatically based on policies. It is also crucial that the storage systems support standardized protocols. The combination of IBM Storage Ceph and PoINT Archival Gateway addresses these challenges. PoINT Archival Gateway integrates tape storage products homogeneously into a Ceph Cluster via the standardized S3 interface. This connection makes it possible to fulfill archiving and tiering requirements in a consistent, complete system.</p>
<h2 id="heading-introducing-point-archival-gateway">Introducing PoINT Archival Gateway</h2>
<h3 id="heading-overview">Overview</h3>
<p>PoINT Archival Gateway (PAG) is a high-performance, scalable S3 object storage on tape. The software solution connects S3-capable storage systems like IBM Storage Ceph with tape libraries as target storage.</p>
<p>The basic functions of PAG include user, data, and storage management, as well as access control, logging, and monitoring. PAG allows direct writing to tape media. No expensive disk caches are required. Optional integration of an additional disk/flash-based storage class can meet the demands of use cases that require fast data access. Internal tiering using the standardized S3 Lifecycle Policies ensures optimized data and storage management.</p>
<h3 id="heading-key-features">Key Features</h3>
<ul>
<li><p>High data throughput thanks to parallelism</p>
</li>
<li><p>High availability with redundant server nodes</p>
</li>
<li><p>High scalability, including load balancing</p>
</li>
<li><p>Direct write/read tape access – no disk caches required</p>
</li>
<li><p>S3 and S3 Glacier compatibility, including lifecycle policies</p>
</li>
<li><p>LTO and 3592 tape drive support</p>
</li>
<li><p>Erasure Coding over tape</p>
</li>
<li><p>Object Versioning</p>
</li>
<li><p>Data protection through object locking, authentication, and encryption</p>
</li>
</ul>
<h2 id="heading-introducing-ibm-storage-ceph-object-storage">Introducing IBM Storage Ceph Object Storage</h2>
<h3 id="heading-overview-1">Overview</h3>
<p>IBM Storage Ceph is an Enterprise-grade software-defined storage solution. Built<br />for data-intensive applications. Designed for hybrid cloud, it empowers organizations to modernize infrastructure and reduce costs with flexible deployment in the data center or as a service.</p>
<p>Ceph provides a single, efficient, unified storage platform for object, block, and file storage with Enterprise support and services, certified updates, and service-level agreements for production environments.</p>
<p>Install and run IBM Storage Ceph on industry-standard x86 server hardware of a company's preferred hardware vendor.</p>
<h3 id="heading-key-features-1">Key Features:</h3>
<ul>
<li><p>Enterprise Ready: Robust, scalable, and widely deployed S3 endpoint, delivering low-latency, high-performance, enterprise-ready Object Storage.</p>
</li>
<li><p>S3 &amp; IAM Fidelity: A <a target="_blank" href="https://www.ibm.com/docs/en/storage-ceph/6?topic=developer-ceph-object-gateway-s3-api">complete subset</a> of the Amazon S3 and IAM dialects. Constantly increasing the number of supported S3 APIs</p>
</li>
<li><p>Easy to Deploy: Deploy the Object Storage service and Multi-Site Replication in a matter of minutes from the UI or CLI. Day-two Admin Operations API for Automation</p>
</li>
<li><p>Security, Compliance, and Audit capabilities. Encryption, STS, Object Lock, Public Access Block, MFA Delete, IAM policy (bucket, user, session, role)</p>
</li>
<li><p>Scalability and Growth Potential: Limitless Capacity. Scale horizontally to petabyte and exabyte levels. Elastic Growth: add storage nodes without downtime.</p>
</li>
</ul>
<h2 id="heading-ibm-storage-ceph-object-tiering-capabilities">IBM Storage Ceph Object Tiering Capabilities</h2>
<p>Ceph offers object storage tiering capabilities to optimize cost and performance by seamlessly moving data between storage classes. These tiers can be configured locally within an on-premise infrastructure or extended to include cloud-based storage classes, providing a flexible and scalable solution for diverse workloads. With policy-based automation, administrators can define lifecycle policies to migrate data between high-performance storage and cost-effective archival tiers, ensuring speed, durability, and cost-efficiency.</p>
<h2 id="heading-benefits-of-integrating-pag-with-ibm-storage-ceph-object-storage">Benefits of Integrating PAG with IBM Storage Ceph Object Storage</h2>
<p>PAG allows a homogeneous integration of a tape storage class into a Ceph cluster. In this way, a multi-tier configuration with tape as an active archive tier can be realized. Ceph supports policy-based data archival and retrieval capabilities that integrate PAG as an S3 tape endpoint for long-term retention, disaster recovery, or cost-optimized cold storage. By leveraging policy-based automation, Ceph ensures that data is moved to PAG and, thus, to tape according to predefined lifecycle rules. PAG ensures efficient tape integration in Ceph, as no additional disk storage class is required.</p>
<p>The benefits of the combined Ceph and PAG solution are:</p>
<ul>
<li><p>Cost-optimization by tiering cold data to tape</p>
</li>
<li><p>Minimal power consumption thanks to energy-efficient tape technology</p>
</li>
<li><p>Direct tape integration without additional disk storage class</p>
</li>
<li><p>Fulfillment of archiving and compliance requirements</p>
</li>
<li><p>Cybercrime protection through “air-gapped” tape media</p>
</li>
<li><p>Optimized data placement to balance speed, durability, and cost efficiency</p>
</li>
<li><p>Independence from tape manufacturer</p>
</li>
</ul>
<h3 id="heading-pag-and-ibm-storage-ceph-integration-workflow">PAG and IBM Storage Ceph Integration Workflow</h3>
<ol>
<li><p><strong>A Ceph Administrator sets a Cloud-Tier (Tape) Storage Class</strong><br /> The Ceph administrator (using either the CLI or an operations API) configures a storage tier to route objects to PoINT Archival Gateway (PAG), offering an S3 Tape endpoint.</p>
</li>
<li><p><strong>End User Creates Objects in a Ceph Bucket</strong><br /> An end user (or application) uploads objects (e.g., JPG files) via the standard S3 API into a “User Data Bucket” managed by Ceph Object. These newly created objects initially reside in the configured “hot” (or standard) tier.</p>
</li>
<li><p><strong>Lifecycle Policy Governs Transition</strong><br /> A lifecycle policy is defined on the user bucket; for example, it specifies that after 365 days, any object older than that threshold should move to the lower‐cost, long‐term storage tier (tape) through PAG.</p>
</li>
<li><p><strong>Automatic Archival to Tape</strong><br /> Once an object’s age meets the policy rule (after 365 days), Ceph automatically transitions it to the tape tier through PAG.</p>
</li>
<li><p><strong>Long‐Term Storage and Retrieval</strong><br /> After archiving, the objects are stored on tape media via PAG. Objects are still referenced in Ceph’s metadata and can be retrieved later using the same S3 Ceph endpoints, the PAG tape tier.</p>
</li>
</ol>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744737513223/c3a6f320-42c0-473f-a28c-b9620c040034.png" alt class="image--center mx-auto" /></p>
<p>IBM Storage Ceph 8.0 introduced policy-based data retrieval, which marks a significant evolution in its capabilities and is now available as a Tech Preview. This enhancement enables users to retrieve archived objects from S3 Tape endpoints like PAG directly into their on-prem Ceph environment.</p>
<p>Data can be restored as temporary or permanent objects:</p>
<ul>
<li><p><strong>Temporary restores</strong>: The restored data bypasses lifecycle cloud-transition rules and is automatically deleted after the specified time, reverting the object to its previous stub state.</p>
</li>
<li><p><strong>Permanent restores</strong>: These fully reintegrate objects into the Ceph cluster, where they are treated like (and become) regular objects and subjected to standard lifecycle policy and replication processes.</p>
</li>
</ul>
<p>This retrieval of objects can be done in two different ways:</p>
<ul>
<li><p><strong>S3 RestoreObject API:</strong> Allows users to retrieve objects from the remote S3 endpoint using the S3RestoreObject API request</p>
</li>
<li><p><strong>Read-through Object Retrieval:</strong> This feature enables standard S3 GET requests on transitioned objects to restore them to the Ceph cluster transparently.</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744737566708/8a539570-88ba-4d21-8980-eb8ac871cae4.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-use-cases-for-policy-based-archive-amp-retrieval-from-tape">Use Cases for Policy-Based Archive &amp; Retrieval from Tape</h2>
<ul>
<li><p>Long‐Term Regulatory Compliance</p>
<ul>
<li>Auditing &amp; Retention Requirements: Many industries (financial, healthcare, government, etc.) mandate that data be retained for specific durations. Tape storage via PoINT Archival Gateway offers robust, cost‐effective retention for compliance.</li>
</ul>
</li>
<li><p>Media &amp; Content Archiving</p>
<ul>
<li><p>High‐Volume Media Libraries: Studios, broadcasters, and content creators can seamlessly tier infrequently accessed assets—like raw footage or archived episodes—to tape.</p>
</li>
<li><p>On‐Demand Retrieval: Producers or editors can conveniently restore assets (even partially) from tape to local Ceph storage for quick re‐edits or distribution.</p>
</li>
</ul>
</li>
<li><p>Scientific &amp; HPC Research</p>
<ul>
<li><p>Large Data Sets: Research organizations often generate massive volumes of data that need to be preserved long‐term yet accessed intermittently for analysis.</p>
</li>
<li><p>Policy‐Driven Workflows: Using Ceph’s lifecycle policies, hot scientific data can remain on a fast disk while older or completed experimental data moves to tape, reducing active storage costs.</p>
</li>
</ul>
</li>
<li><p>Cybersecurity &amp; Ransomware Protection</p>
<ul>
<li><p>Air‐Gapped Defense: Tape media provides an inherently offline storage layer, reducing the attack surface for malicious encryption or deletion.</p>
</li>
<li><p>Immutable Backups: Policy‐based retention periods, combined with encryption and tape’s offline status, safeguard critical data from cyber threats.</p>
</li>
</ul>
</li>
<li><p>Multi‐Cloud &amp; Hybrid Strategies</p>
<ul>
<li><p>Consistent S3 Interface: Organizations can leverage tape, public clouds, or on‐prem Ceph storage pools using the same S3 APIs and lifecycle policies, simplifying hybrid data flows.</p>
</li>
<li><p>On‐Demand Retrieval: Data archived to tape can be restored as needed without changing application logic, thanks to the same S3 access pattern.</p>
</li>
</ul>
</li>
</ul>
<h2 id="heading-increasing-data-security-and-performance-by-erasure-coding-on-tape">Increasing Data Security and Performance by Erasure Coding on Tape</h2>
<p>Erasure Coding provides data security on the tape media. This process stores blocks of data redundantly on multiple media. This means the data will not be lost even if one medium fails. PoINT Archival Gateway supports the Erasure Code (EC) rates 1/2, 1/3, 1/4, 2/3, 2/4 and 3/4. In combination with Erasure Coding, data security, and redundancy can be further increased, e.g., by using two, three, or four tape media in parallel in the tape storage class. Such a combination of multiple media is called a Protected Volume Array. A Protected Volume Array consisting of <em>N</em> tape media can extend over <em>N</em> tape libraries. The EC rates 1/2, 1/3, and 1/4 indicate the automatic creation of copies. For the tape storage class, multiple tape copies can be created (even in different libraries). Throughput rates can be significantly increased with EC rates that distribute data across multiple media (EC 2/3, 2/4, and 3/4).</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744737394795/f2664b5d-1057-4c1f-af07-d2df644beb40.png" alt class="image--center mx-auto" /></p>
<p>In addition to increased redundancy, throughput rates can be increased dramatically with EC rates that distribute data across multiple media (EC 2/3, 2/4, and 3/4).</p>
<h2 id="heading-conclusion"><strong>Conclusion</strong></h2>
<p>Following the above approach, you can effectively deploy the PoINT Archival Gateway emulator, integrate it into IBM Storage Ceph as a new tape storage tier, and validate the entire lifecycle workflow—from upload and automatic migration to restore and verification. This combined solution reduces storage costs, enhances data protection and compliance, and provides on‐premises tape capabilities through a familiar S3 interface.</p>
]]></content:encoded></item></channel></rss>