Setting up ONTAP S3: Difference between revisions
Created page with "== Overview == ONTAP 9.8 has an S3 front-end available for production use. NetApp ONTAP 9.8 software supports the Amazon Simple Storage Service (S3). ONTAP supports a subset..." |
No edit summary |
||
Line 1: | Line 1: | ||
== Overview == | ==Overview== | ||
ONTAP 9.8 has an S3 front-end available for production use. | ONTAP 9.8 has an S3 front-end available for production use. | ||
Line 6: | Line 6: | ||
NetApp recommends using StorageGRID, the premier NetApp object store solution, when tiering more than '''300TB''' of inactive data. A FabricPool license is not required when using ONTAP or StorageGRID as the cloud tier. | NetApp recommends using StorageGRID, the premier NetApp object store solution, when tiering more than '''300TB''' of inactive data. A FabricPool license is not required when using ONTAP or StorageGRID as the cloud tier. | ||
== ONTAP S3 Architecture == | ==ONTAP S3 Architecture== | ||
In ONTAP, the underlying architecture for a bucket is a FlexGroup volume - a single namespace that is made up of multiple constituent member volumes but is managed as a single volume. | In ONTAP, the underlying architecture for a bucket is a FlexGroup volume - a single namespace that is made up of multiple constituent member volumes but is managed as a single volume. | ||
=== use cases === | ===use cases=== | ||
There are three primary use cases for client access to ONTAP S3 services: | There are three primary use cases for client access to ONTAP S3 services: | ||
* For ONTAP systems using ONTAP S3 as a remote FabricPool capacity (cloud) tier The S3 server and bucket containing the capacity tier (for ''cold'' data) is on a different cluster than the performance tier (for ''hot'' data). | *For ONTAP systems using ONTAP S3 as a remote FabricPool capacity (cloud) tier The S3 server and bucket containing the capacity tier (for ''cold'' data) is on a different cluster than the performance tier (for ''hot'' data). | ||
* For ONTAP systems using ONTAP S3 as a local FabricPool tier The S3 server and bucket containing the capacity tier is on the same cluster, but on a different HA pair, as the performance tier. | *For ONTAP systems using ONTAP S3 as a local FabricPool tier The S3 server and bucket containing the capacity tier is on the same cluster, but on a different HA pair, as the performance tier. | ||
* For external S3 client apps ONTAP S3 serves S3 client apps run on non-NetApp systems. | *For external S3 client apps ONTAP S3 serves S3 client apps run on non-NetApp systems. | ||
Line 26: | Line 26: | ||
<br /> | <br /> | ||
== ONTAP version support for S3 object storage == | ==ONTAP version support for S3 object storage== | ||
'''Platforms''' | '''Platforms''' | ||
Line 37: | Line 37: | ||
• Cloud Volumes ONTAP. Starting in ONTAP 9.9.1, S3 is supported on Cloud Volumes ONTAP for Azure. S3 is not supported on other Cloud Volumes ONTAP providers. | • Cloud Volumes ONTAP. Starting in ONTAP 9.9.1, S3 is supported on Cloud Volumes ONTAP for Azure. S3 is not supported on other Cloud Volumes ONTAP providers. | ||
== S3 License == | ==S3 License== | ||
As with other protocols such as FC, iSCSI, NFS, NVMe_oF, and SMB, S3 requires the installation of a license before it can be used in ONTAP. The '''S3 license is a zero-cost license''', but it must be installed on systems upgrading to ONTAP 9.8. | As with other protocols such as FC, iSCSI, NFS, NVMe_oF, and SMB, S3 requires the installation of a license before it can be used in ONTAP. The '''S3 license is a zero-cost license''', but it must be installed on systems upgrading to ONTAP 9.8. | ||
Line 44: | Line 44: | ||
The S3 license can be downloaded from the [https://mysupport.netapp.com/NOW/knowledge/docs/olio/guides/master_lickey/ Master License Keys page] on the NetApp support site. | The S3 license can be downloaded from the [https://mysupport.netapp.com/NOW/knowledge/docs/olio/guides/master_lickey/ Master License Keys page] on the NetApp support site. | ||
== Service policy == | ==Service policy== | ||
Data service policies are assigned to SVMs and provide a collection of network services required by data LIFs to support client application protocols. For example, data-nfs is used to support NFS traffic, data-iscsi is used to support iSCSI traffic, and so on. | Data service policies are assigned to SVMs and provide a collection of network services required by data LIFs to support client application protocols. For example, data-nfs is used to support NFS traffic, data-iscsi is used to support iSCSI traffic, and so on. | ||
Line 51: | Line 51: | ||
'''<big>Note</big>''': In addition to the data-s3-server service, '''the data-core service should be included in any service policy to ensure applications using the LIF work as expected'''. | '''<big>Note</big>''': In addition to the data-s3-server service, '''the data-core service should be included in any service policy to ensure applications using the LIF work as expected'''. | ||
== Object store server == | ==Object store server== | ||
The SVM’s object store server manages data as objects, as opposed to other storage architectures such as file or block storage. Management of bucket and user permission levels also takes place at the object store server level. | The SVM’s object store server manages data as objects, as opposed to other storage architectures such as file or block storage. Management of bucket and user permission levels also takes place at the object store server level. | ||
Line 66: | Line 66: | ||
The Amazon S3 maximum object size is 5TB. ONTAP S3 supports objects up to 16TB. | The Amazon S3 maximum object size is 5TB. ONTAP S3 supports objects up to 16TB. | ||
== Configuration S3 using ONTAP CLI == | ==Configuration S3 using ONTAP CLI== | ||
the procedure: | the procedure: | ||
# Create the service policy | #Create the service policy | ||
# Create a data LIF to use S3 | #Create a data LIF to use S3 | ||
# Install a CA certificate | #Install a CA certificate | ||
# Create the object store server | #Create the object store server | ||
# Create the bucket | #Create the bucket | ||
# Create a user. | #Create a user. | ||
=== Create the service policy === | ===Create the service policy=== | ||
A service policy is required to enable S3 data traffic on the SVM LIFs.<syntaxhighlight lang="text"> | A service policy is required to enable S3 data traffic on the SVM LIFs.<syntaxhighlight lang="text"> | ||
network interface service-policy create | network interface service-policy create | ||
Line 84: | Line 84: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Create a data LIF to use S3 === | ===Create a data LIF to use S3=== | ||
SVMs hosting object store servers require data LIFs to communicate with client applications using S3. NetApp recommends creating an S3 data LIF on all nodes as a best practice.<syntaxhighlight lang="text"> | SVMs hosting object store servers require data LIFs to communicate with client applications using S3. NetApp recommends creating an S3 data LIF on all nodes as a best practice.<syntaxhighlight lang="text"> | ||
network interface create | network interface create | ||
Line 97: | Line 97: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Install a CA certificate === | ===Install a CA certificate=== | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
security certificate install -type server -vserver <name> | security certificate install -type server -vserver <name> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Create the object store server === | ===Create the object store server=== | ||
The ONTAP object store server manages data as objects, as opposed to other storage architectures such as file or block storage. <syntaxhighlight lang="text"> | The ONTAP object store server manages data as objects, as opposed to other storage architectures such as file or block storage. <syntaxhighlight lang="text"> | ||
vserver object-store-server create | vserver object-store-server create | ||
Line 112: | Line 112: | ||
</syntaxhighlight><big>'''Note'''</big>: Remember config DNS Server to resolve the FQDN | </syntaxhighlight><big>'''Note'''</big>: Remember config DNS Server to resolve the FQDN | ||
=== Create the bucket === | ===Create the bucket=== | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
vserver object-store-server bucket create | vserver object-store-server bucket create | ||
Line 122: | Line 122: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Create a user === | ===Create a user=== | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
vserver object-store-server user create | vserver object-store-server user create | ||
Line 133: | Line 133: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Example === | ===Example=== | ||
As a best practice, NetApp recommends create a new SVM and new logical interface to serve data-s3-server traffic. | As a best practice, NetApp recommends create a new SVM and new logical interface to serve data-s3-server traffic. | ||
Line 193: | Line 193: | ||
cluster::> vserver object-store-server show | cluster::> vserver object-store-server show | ||
</syntaxhighlight> | |||
<br /><syntaxhighlight lang="text"> | |||
volume show -vserver NFS-SVM -is-constituent true | |||
Vserver Volume Aggregate State Type Size Available Used% | |||
--------- ------------ ------------ ---------- ---- ---------- ---------- ----- | |||
NFS-SVM fg_oss_1639450743__0001 | |||
n02_aggr1_SATA | |||
online RW 24GB 22.68GB 0% | |||
NFS-SVM fg_oss_1639450743__0002 | |||
n02_aggr1_SATA | |||
online RW 24GB 22.68GB 0% | |||
NFS-SVM fg_oss_1639450743__0003 | |||
n02_aggr1_SATA | |||
online RW 24GB 22.68GB 0% | |||
NFS-SVM fg_oss_1639450743__0004 | |||
n02_aggr1_SATA | |||
online RW 24GB 22.68GB 0% | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Configuration for local cluster tiering(CLI) == | ==Configuration for local cluster tiering(CLI)== | ||
== Security == | ==Security== | ||
Revision as of 08:04, 14 December 2021
Overview
ONTAP 9.8 has an S3 front-end available for production use.
NetApp ONTAP 9.8 software supports the Amazon Simple Storage Service (S3). ONTAP supports a subset of AWS S3 API actions and allows data to be represented as objects in ONTAP-based systems, including AFF, FAS, and ONTAP Select.
NetApp recommends using StorageGRID, the premier NetApp object store solution, when tiering more than 300TB of inactive data. A FabricPool license is not required when using ONTAP or StorageGRID as the cloud tier.
ONTAP S3 Architecture
In ONTAP, the underlying architecture for a bucket is a FlexGroup volume - a single namespace that is made up of multiple constituent member volumes but is managed as a single volume.
use cases
There are three primary use cases for client access to ONTAP S3 services:
- For ONTAP systems using ONTAP S3 as a remote FabricPool capacity (cloud) tier The S3 server and bucket containing the capacity tier (for cold data) is on a different cluster than the performance tier (for hot data).
- For ONTAP systems using ONTAP S3 as a local FabricPool tier The S3 server and bucket containing the capacity tier is on the same cluster, but on a different HA pair, as the performance tier.
- For external S3 client apps ONTAP S3 serves S3 client apps run on non-NetApp systems.
It is a best practice to provide access to ONTAP S3 buckets using HTTPS. When HTTPS is enabled, security certificates are required for proper integration with SSL/TLS. Client users’ access and secret keys are then required to authenticate the user with ONTAP S3 as well as authorizing the users’ access permissions for operations within ONTAP S3. The client application should also have access to the root CA certificate (the ONTAP S3 server’s signed certificate) to be able to authenticate the server and create a secure connection between client and server.
Users are created within the S3-enabled SVM, and their access permissions can be controlled at the bucket or SVM level; that is, they can be granted access to one or more buckets within the SVM.
HTTPS is enabled by default on ONTAP S3 servers. It is possible to disable HTTPS and enable HTTP for client access, in which case authentication using CA certificates is not required. However, when HTTP is enabled and HTTPS is disabled, all communication with the ONTAP S3 server are sent over the network in clear text.
ONTAP version support for S3 object storage
Platforms
• NetApp AFF storage system. S3 is supported on all AFF platforms using ONTAP 9.8+
• FAS storage system. S3 is supported on all FAS platforms using ONTAP 9.8+
• NetApp ONTAP Select. S3 is supported on all platforms using ONTAP Select 9.8+
• Cloud Volumes ONTAP. Starting in ONTAP 9.9.1, S3 is supported on Cloud Volumes ONTAP for Azure. S3 is not supported on other Cloud Volumes ONTAP providers.
S3 License
As with other protocols such as FC, iSCSI, NFS, NVMe_oF, and SMB, S3 requires the installation of a license before it can be used in ONTAP. The S3 license is a zero-cost license, but it must be installed on systems upgrading to ONTAP 9.8.
New ONTAP 9.8 systems have the S3 license pre-installed.
The S3 license can be downloaded from the Master License Keys page on the NetApp support site.
Service policy
Data service policies are assigned to SVMs and provide a collection of network services required by data LIFs to support client application protocols. For example, data-nfs is used to support NFS traffic, data-iscsi is used to support iSCSI traffic, and so on.
New in ONTAP 9.8, the data-s3-server service, allows data LIFS to support client application traffic using S3.
Note: In addition to the data-s3-server service, the data-core service should be included in any service policy to ensure applications using the LIF work as expected.
Object store server
The SVM’s object store server manages data as objects, as opposed to other storage architectures such as file or block storage. Management of bucket and user permission levels also takes place at the object store server level.
ONTAP S3 supports one object store server per SVM.
Bucket
In ONTAP, the underlying architecture for a bucket is a FlexGroup volume—a single namespace that is made up of multiple constituent member volumes but is managed as a single volume.
Individual objects in a bucket are allocated to individual member volumes and are not striped across volumes or nodes.
Individual buckets cannot be provisioned smaller than 96GB.
The Amazon S3 maximum object size is 5TB. ONTAP S3 supports objects up to 16TB.
Configuration S3 using ONTAP CLI
the procedure:
- Create the service policy
- Create a data LIF to use S3
- Install a CA certificate
- Create the object store server
- Create the bucket
- Create a user.
Create the service policy
A service policy is required to enable S3 data traffic on the SVM LIFs.
network interface service-policy create
-vserver <name>
-policy <name>
-services data-s3-server, data-core
Create a data LIF to use S3
SVMs hosting object store servers require data LIFs to communicate with client applications using S3. NetApp recommends creating an S3 data LIF on all nodes as a best practice.
network interface create
-vserver <name>
-lif <name>
-service-policy <name>
-home-node <node>
-home-port <port>
-address <number>
-netmask <number>
-status-admin up
Install a CA certificate
security certificate install -type server -vserver <name>
Create the object store server
The ONTAP object store server manages data as objects, as opposed to other storage architectures such as file or block storage.
vserver object-store-server create
-vserver <name>
-object-store-server <FQDN>
-certificate-name <name>
-secure-listener-port <443>
-is-http-enabled <false>
Note: Remember config DNS Server to resolve the FQDN
Create the bucket
vserver object-store-server bucket create
-vserver <name>
-bucket <name>
-aggr-list <aggregate name>,<aggregate name>
-aggr-list-multiplier <number of constiuent volumes per aggregate> (default 4)
-size <size>
Create a user
vserver object-store-server user create
-vserver <name>
-user <name>
If you want to show a user's access and secret key (Advanced privilege level)
vserver object-store-server user show
Regenerate access and secret key for a user
vserver object-store-server user regenerate-keys -user <name>
Example
As a best practice, NetApp recommends create a new SVM and new logical interface to serve data-s3-server traffic.
While here we will create a S3 store server in a exist SVM and using exist LIFs.
cluster::> network interface service-policy show
cluster::> network interface service-policy add-service -policy default-data-files -vserver SVM -service data-s3-server -allowed-addresses 0.0.0.0/0
cluster::> network interface show -vserver SVM -fields service-policy,services
cluster::> security certificate install -type server -vserver SVM -cert-name CERTNAME
Please enter Certificate: Press <Enter> when done
-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<YOUR CERT HERE>
-----END CERTIFICATE-----
Please enter Private Key: Press <Enter> when done
-----BEGIN RSA PRIVATE KEY-----
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<YOUR CERT PRIVATE KEY HERE>
-----END RSA PRIVATE KEY-----
Enter certificates of certification authorities (CA) which form the certificate chain of the server certificate. This starts with the issuing CA certificate of the server certificate and can range up to
the root CA certificate.
Do you want to continue entering root and/or intermediate certificates {y|n}: y
Please enter Intermediate Certificate: Press <Enter> when done
-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<the intermediate certificate HERE>
-----END CERTIFICATE-----
Do you want to continue entering root and/or intermediate certificates {y|n}: y
Please enter Intermediate Certificate: Press <Enter> when done
-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<the ROOT CA certificate HERE>
-----END CERTIFICATE-----
Do you want to continue entering root and/or intermediate certificates {y|n}: n
You should keep a copy of the private key and the CA-signed digital certificate for future reference.
The installed certificate's CA and serial number for reference:
CA: RapidSSL TLS DV RSA Mixed SHA256 2020 CA-1
serial: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The certificate's generated name for reference: XXXXXXXX
NOTE:
YOUR_CERT -> YOUR_CERT_PRIKEY -> Intermediate_CERT -> ROOT_CA_CERT
cluster::> security certificate show-user-installed
cluster::> vserver object-store-server create -vserver SVM -object-store-server NAME.DOMAIN.TLD -certificate-name CERT_NAME -is-http-enabled false -status-admin up -is-https-enabled true -comment "Object Storage Server"
cluster::> vserver object-store-server show
volume show -vserver NFS-SVM -is-constituent true
Vserver Volume Aggregate State Type Size Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
NFS-SVM fg_oss_1639450743__0001
n02_aggr1_SATA
online RW 24GB 22.68GB 0%
NFS-SVM fg_oss_1639450743__0002
n02_aggr1_SATA
online RW 24GB 22.68GB 0%
NFS-SVM fg_oss_1639450743__0003
n02_aggr1_SATA
online RW 24GB 22.68GB 0%
NFS-SVM fg_oss_1639450743__0004
n02_aggr1_SATA
online RW 24GB 22.68GB 0%
Configuration for local cluster tiering(CLI)
Security
TR-4814: ONTAP S3[1]
NetApp FabricPool and S3 in ONTAP 9.8[2]
NetApp ONTAP 9.8 - S3 in GA[3]
References: