Use the CLI or the API to manage your S3 object service instance.
You must have the following details before you can create an S3 object service instance.
- Set up the high availability option, the range of 3 IP addresses and the number of IBM Storage Scale DAS labeled nodes on which the
noobaa
endpoints can scale to.
- The name of the storage class to configure a database for the S3 service. If you do not specify
this parameter, the default storage class is used.
Note: The dbStorageClass parameter is optional. The IBM
Storage Scale DAS operator selects the storage classes defined on the OCP cluster by using
spectrumscale.csi.ibm.com
, if there is only one such storage class. If there are
more than one storage classes defined on the OCP cluster using
spectrumscale.csi.ibm.com
as the provisioner, the DAS operator cannot automatically
select one of those to configure the S3 service with. In such a scenario, you need to specify which
of those storage classes must be used to configure the S3 service.
- The name of the IBM Storage Scale file system that acts as
the data backend for access by using the S3 object service interface. If it is not specified, the
default file system that is mounted on the IBM Storage Scale
container native pods would be automatically detected and used.
Use the following information to create, list, delete, or update your S3 object service
instance.
- Create an IBM Storage Scale DAS S3 object
service instance as follows:
- CLI
mmdas service create s3 --acceptLicense --ipRange "192.0.2.12-192.0.2.14" --scaleFactor 1
Note: If
we need to increase the number of noobaa endpoints (for example, scaleFactor
),
ensure to have sufficient memory on the system (for example, memory on DAN nodes).
A sample
output is as follows:Create request for Spectrum Scale Data Access Service: 's3' is accepted
In these command examples, the following parameters are specified:
- License acceptance
Note: The
--acceptLicense flag is mandatory to create the S3
service. Using this flag is required to register the acceptance to the
IBM Storage Scale Data Access Services (DAS) license before you deploy the service. Before
deploying the service, carefully read the terms and conditions of the license. For more information,
see
terms and conditions of the license.
- Range of IP addresses for high availability configuration
Note: The IP range can be set up only
at the service creation time. Use the IP range to enable the S3 service access over the specified
range of IP addresses. These IP addresses can be configured with an external DNS whose domain name
can be used by the S3 client applications to access the storage over S3 protocol by using that DNS
URL.
Range of IP addresses has the following requirements:
- Number of nodes on which the
noobaa
endpoints can scale to.Note: Select a
scaleFactor
according to your requirements at the time of creating the service
because the scaleFactor
must not be changed during active I/O.
- REST
API
curl -k -X POST -k -H "Content-Type: application/json" -H "Authorization: Basic czMtYWRtaW46UGFzc3cwcmQ=" https://<ibm-spectrumscale_host>/scalemgmt/v2/das/services/
-d '{"name":"s3","enable":true,"acceptLicense":true,
"ipRange":"192.0.2.12-192.0.2.14",
"scaleFactor":1}'
A sample output is as
follows:{"message":"Create request for Spectrum Scale Data Access Service: 's3' is accepted"}
Note: The variable
<ibm-spectrumscale_host> in the request URL must be replaced with the route host. Obtain the route host by using the
following command from a node that is configured to work with the Red Hat OpenShift Container
Platform (OCP)
cluster:
oc get route ibm-spectrum-scale-gui -n <IBM Storage Scale namespace> -o json | jq .spec.host
For
example,
oc get route ibm-spectrum-scale-gui -n ibm-spectrum-scale -o json | jq .spec.host
A sample output is as follows:
"ibm-spectrum-scale-gui-ibm-spectrum-scale.example.com"
- List the information of the IBM Storage Scale DAS service instance as follows:
- CLI
mmdas service list
A sample output is as
follows:Name Enable Phase
----- ----- ------
s3 true Ready
To list
the detailed information for the IBM Storage Scale DAS S3
object service instance, issue the following
command:mmdas service list s3
A sample output is as
follows:Name AcceptLicense DbStorageClass Enable EnableMD5
----- ----- -------------- ------
s3 true ibm-spectrum-scale-sample true true
ScaleDataBackend Phase S3Endpoints
----- ----- --------------
[/mnt/remote-sample] Ready [https://192.0.2.12 https://192.0.2.13 https://192.0.2.14]
IpRange EnableAutoHA ScaleFactor
----- ----- --------------
192.0.2.12-192.0.2.14 true 1
- REST
API
curl -k -X GET -H "accept: application/json" https://<ibm-spectrumscale_host>/scalemgmt/v2/das/services/s3
A sample output is as follows:{
"acceptLicense" : true,
"dbStorageClass" : "ibm-spectrum-scale-sample",
"enable" : true,
"enableAutoHA" : false,
"enableMD5" : false,
"ipRange" : "192.0.2.12-192.0.2.14",
"name" : "s3",
"phase" : "Ready",
"s3Endpoints" : [ "https://192.0.2.12", "https://192.0.2.13", "https://192.0.2.14" ],
"scaleDataBackend" : [ "/mnt/remote-sample" ],
"scaleFactor" : 1
}
- Update the IBM Storage Scale DAS service
instance as follows:
- CLI
mmdas service update s3 --enableMD5 --disableAutoHA --scaleFactor 2
This command enables md5sum calculation, disables automatic IP address failover and failback, and
changes the scaleFactor
to 2. A sample output is as
follows:Update request for Spectrum Scale Data Access Service: 's3' is accepted
- REST
API
curl -X PUT -H "Content-Type: application/json" -H "Authorization: Basic czMtYWRtaW46UGFzc3cwcmQ=" https://<ibm-spectrumscale_host>/scalemgmt/v2/das/services/
-d '{"name":"s3","enableMD5":true,"enableAutoHA":false,"scaleFactor":2}'
A sample output
is as
follows:{"message":"Update request for Spectrum Scale Data Access Service: 's3' is accepted"}
Note: You must not change the
scaleFactor
during active I/O, otherwise I/O failure
might occur. Change the
scaleFactor
during a maintenance window when there is no
active I/O. For more information, see
Changing scaleFactor might result in I/O failure.
- Delete the IBM Storage Scale DAS service
instance as follows:
- CLI
mmdas service delete s3
A sample output is as
follows:Delete request for Spectrum Scale Data Access Service: 's3' is accepted
- REST
API
curl -k -X DELETE -H "Authorization: Basic czMtYWRtaW46UGFzc3cwcmQ=" https://<ibm-spectrumscale_host>/scalemgmt/v2/das/services/s3
A sample output is as
follows:{"message":"Delete request for Spectrum Scale Data Access Service: 's3' is accepted"}