How to enable S3 multipart uploads with ONTAP multi-protocol access
Applies to
- ONTAP 9.16.1 and later
Description
ONTAP 9.16.1 adds support for S3 multipart uploads to NAS buckets used in S3 multi-protocol access. Multipart uploads require the backing FlexGroup volume to have advanced capacity balancing (granular data) enabled.
Before you begin
- ONTAP 9.16.1 or later
- S3 service configured on the SVM
- Target volume is a FlexGroup (FlexVol volumes are not supported; see Additional Information)
- Volume mounted at a junction path
Procedure
- Verify the volume is a FlexGroup:
volume show -vserver <SVM_name> -volume <vol_name> -fields type
Note: If the volume is a FlexVol, convert it to FlexGroup before continuing. This conversion is one-way and cannot be reversed. - Enable advanced capacity balancing (granular data) on the FlexGroup:
volume modify -vserver <SVM_name> -volume <vol_name> -granular-data true - Verify the setting is active:
volume show -vserver <SVM_name> -volume <vol_name> -fields granular-data
Expected result:granular-data: true - Create a NAS bucket mapped to the FlexGroup junction path (skip if one already exists):
vserver object-store-server bucket create -vserver <SVM_name> -bucket <bucket_name> -type nas -nas-path <junction_path> - Test a multipart upload from an S3 client. Each part must meet these requirements:
- Size must be 1 MB aligned
- Minimum part size: 5 MiB
- Maximum part size: 5 GiB
Partner Notes
Additional Information
FlexVol to FlexGroup conversion
- Before converting a FlexVol to FlexGroup, create a FlexClone and split it off, or copy data to a new FlexGroup volume to preserve a rollback option.
- The
convert.*snapshot that ONTAP creates automatically during conversion cannot be used to create a FlexClone. - Conversion is irreversible once completed.
Granular data behavior
- Once enabled, granular data can only be disabled by restoring a snapshot taken before it was enabled.
- FlexGroup volumes created via the ONTAP REST API as S3 buckets have granular data enabled by default.
