Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

启用 S3 对 NAS FlexCache 卷的访问

贡献者 netapp-lenida

从 ONTAP 9.18.1 开始,您可以启用 S3 对 NAS FlexCache 卷的访问,也称为"双重性"。这允许客户端使用 S3 协议访问存储在 FlexCache 卷中的数据,以及 NFS 和 SMB 等传统 NAS 协议。您可以使用以下信息设置 FlexCache 双重性。

前提条件

在开始之前,您必须确保完成以下先决条件:

  • 确保在 SVM 上许可并配置了 S3 协议和所需的 NAS 协议(NFS、SMB 或两者)。

  • 验证是否已配置 DNS 和任何其他必需服务。

  • 集群和 SVM 已建立对等关系

  • FlexCache 卷创建

  • 已创建 Data-lif

备注 有关 FlexCache 二元性的更全面的文档,请参见 "ONTAP S3 多协议支持"

步骤 1:创建并签署证书

要启用对 FlexCache 卷的 S3 访问,需要为托管 FlexCache 卷的 SVM 安装证书。此示例使用自签名证书,但在生产环境中,应使用由受信任的证书颁发机构 (CA) 签名的证书。

  1. 创建 SVM 根 CA:

    security certificate create -vserver <svm> -type root-ca -common-name <arbitrary_name>
  2. 生成证书签名请求:

    security certificate generate-csr -common-name <dns_name_of_data_lif> -dns-name <dns_name_of_data_lif> -ipaddr <data_lif_ip>

    输出示例:

    -----BEGIN CERTIFICATE REQUEST-----
    MIICzjCCAbYCAQAwHzEdMBsGA1UEAxMUY2FjaGUxZy1kYXRhLm5hcy5sYWIwggEi
    MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCusJk075O8Uh329cHI6x+BaRS2
    w5wrqvzoYlidXtYmdCH3m1DDprBiAyfIwBC0/iU3Xd5NpB7nc1wK1CI2VEkrXGUg
    ...
    vMIGN351+FgzLQ4X5lKfoMXCV70NqIakxzEmkTIUDKv7n9EVZ4b5DTTlrL03X/nK
    +Bim2y2y180PaFB3NauZHTnIIzIc8zCp2IEqmFWyMDcdBjP9KS0+jNm4QhuXiM8F
    D7gm3g/O70qa5OxbAEal5o4NbOl95U0T0rwqTaSzFG0XQnK2PmA1OIwS5ET35p3Z
    dLU=
    -----END CERTIFICATE REQUEST-----

    私钥示例:

    -----BEGIN PRIVATE KEY-----
    MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCusJk075O8Uh32
    9cHI6x+BaRS2w5wrqvzoYlidXtYmdCH3m1DDprBiAyfIwBC0/iU3Xd5NpB7nc1wK
    1CI2VEkrXGUgwBtx1K4IlrCTB829Q1aLGAQXVyWnzhQc4tS5PW/DsQ8t7olZ9zEI
    ...
    rXGEdDaqp7jQGNXUGlbxO3zcBil1/A9Hc6oalNECgYBKwe3PeZamiwhIHLy9ph7w
    dJfFCshsPalMuAp2OuKIAnNa9l6fT9y5kf9tIbskT+t5Dth8bmV9pwe8UZaK5eC4
    Svxm19jHT5QqloDaZVUmMXFKyKoqPDdfvcDk2Eb5gMfIIb0a3TPC/jqqpDn9BzuH
    TO02fuRvRR/G/HUz2yRd+A==
    -----END PRIVATE KEY-----
    备注 保留证书请求和私钥的副本,以备将来参考。
  3. 签署证书:

    `root-ca` 是您在 <<anchor1-step,创建 SVM 根 CA>> 中创建的。
    certificate sign -ca <svm_root_ca> -ca-serial <svm_root_ca_sn> -expire-days 364 -format PEM -vserver <svm>
  4. 粘贴在 生成证书签名请求 中生成的证书签名请求 (CSR)。

    示例

    -----BEGIN CERTIFICATE REQUEST-----
    MIICzjCCAbYCAQAwHzEdMBsGA1UEAxMUY2FjaGUxZy1kYXRhLm5hcy5sYWIwggEi
    MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCusJk075O8Uh329cHI6x+BaRS2
    w5wrqvzoYlidXtYmdCH3m1DDprBiAyfIwBC0/iU3Xd5NpB7nc1wK1CI2VEkrXGUg
    ...
    vMIGN351+FgzLQ4X5lKfoMXCV70NqIakxzEmkTIUDKv7n9EVZ4b5DTTlrL03X/nK
    +Bim2y2y180PaFB3NauZHTnIIzIc8zCp2IEqmFWyMDcdBjP9KS0+jNm4QhuXiM8F
    D7gm3g/O70qa5OxbAEal5o4NbOl95U0T0rwqTaSzFG0XQnK2PmA1OIwS5ET35p3Z
    dLU=
    -----END CERTIFICATE REQUEST-----

    此操作会将签名证书打印到控制台,类似于以下示例。

    签名证书示例:

    -----BEGIN CERTIFICATE-----
    MIIDdzCCAl+gAwIBAgIIGHolbgv5DPowDQYJKoZIhvcNAQELBQAwLjEfMB0GA1UE
    AxMWY2FjaGUtMTY0Zy1zdm0tcm9vdC1jYTELMAkGA1UEBhMCVVMwHhcNMjUxMTIx
    MjIxNTU4WhcNMjYxMTIwMjIxNTU4WjAfMR0wGwYDVQQDExRjYWNoZTFnLWRhdGEu
    ...
    qS7zhj3ikWE3Gp9s+QijKWXx/0HDd1UuGqy0QZNqNm/M0mqVnokJNk5F4fBFxMiR
    1o63BxL8xGIRdtTCjjb2Gq2Wj7EClUw6CykEkxAcVk+XrRtArGkNtcYdtHfUsKVE
    wswvv0rNydrNnWhJLhSl8TW5Tex+OMyTXgk9/3K8kB0mAMrtxxYjt8tm+gztkivf
    J0eo1uDJhaNxqwEZRzFyGaa4k1+56oFzRfTc
    -----END CERTIFICATE-----
  5. 复制证书以供下一步使用。

  6. 在 SVM 上安装服务器证书:

    certificate install -type server -vserver <svm> -cert-name flexcache-duality
  7. 签署证书 粘贴签名的证书。

    示例

    Please enter Certificate: Press <Enter> [twice] when done
    -----BEGIN CERTIFICATE-----
    MIIDdzCCAl+gAwIBAgIIGHolbgv5DPowDQYJKoZIhvcNAQELBQAwLjEfMB0GA1UE
    AxMWY2FjaGUtMTY0Zy1zdm0tcm9vdC1jYTELMAkGA1UEBhMCVVMwHhcNMjUxMTIx
    MjIxNTU4WhcNMjYxMTIwMjIxNTU4WjAfMR0wGwYDVQQDExRjYWNoZTFnLWRhdGEu
    bmFzLmxhYjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK6wmTTvk7xS
    ...
    qS7zhj3ikWE3Gp9s+QijKWXx/0HDd1UuGqy0QZNqNm/M0mqVnokJNk5F4fBFxMiR
    1o63BxL8xGIRdtTCjjb2Gq2Wj7EClUw6CykEkxAcVk+XrRtArGkNtcYdtHfUsKVE
    wswvv0rNydrNnWhJLhSl8TW5Tex+OMyTXgk9/3K8kB0mAMrtxxYjt8tm+gztkivf
    J0eo1uDJhaNxqwEZRzFyGaa4k1+56oFzRfTc
    -----END CERTIFICATE-----
  8. 粘贴在 生成证书签名请求 中生成的专用密钥。

    示例

    Please enter Private Key: Press <Enter> [twice] when done
    -----BEGIN PRIVATE KEY-----
    MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCusJk075O8Uh32
    9cHI6x+BaRS2w5wrqvzoYlidXtYmdCH3m1DDprBiAyfIwBC0/iU3Xd5NpB7nc1wK
    1CI2VEkrXGUgwBtx1K4IlrCTB829Q1aLGAQXVyWnzhQc4tS5PW/DsQ8t7olZ9zEI
    W/gaEIajgpXIwGNWZ+weKQK+yoolxC+gy4IUE7WvnEUiezaIdoqzyPhYq5GC4XWf
    0johpQugOPe0/w2nVFRWJoFQp3ZP3NZAXc8H0qkRB6SjaM243XV2jnuEzX2joXvT
    wHHH+IBAQ2JDs7s1TY0I20e49J2Fx2+HvUxDx4BHao7CCHA1+MnmEl+9E38wTaEk
    NLsU724ZAgMBAAECggEABHUy06wxcIk5hO3S9Ik1FDZV3JWzsu5gGdLSQOHRd5W+
    ...
    rXGEdDaqp7jQGNXUGlbxO3zcBil1/A9Hc6oalNECgYBKwe3PeZamiwhIHLy9ph7w
    dJfFCshsPalMuAp2OuKIAnNa9l6fT9y5kf9tIbskT+t5Dth8bmV9pwe8UZaK5eC4
    Svxm19jHT5QqloDaZVUmMXFKyKoqPDdfvcDk2Eb5gMfIIb0a3TPC/jqqpDn9BzuH
    TO02fuRvRR/G/HUz2yRd+A==
    -----END PRIVATE KEY-----
  9. 输入构成服务器证书的证书链的证书颁发机构 (CA) 的证书。

    这从颁发服务器证书的 CA 证书开始,范围可达根 CA 证书。

    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: cache-164g-svm-root-ca
    serial: 187A256E0BF90CFA
  10. 获取 SVM 根 CA 的公钥:

    security certificate show -vserver <svm> -common-name <root_ca_cn> -ca <root_ca_cn> -type root-ca -instance
    
    -----BEGIN CERTIFICATE-----
    MIIDgTCCAmmgAwIBAgIIGHokTnbsHKEwDQYJKoZIhvcNAQELBQAwLjEfMB0GA1UE
    AxMWY2FjaGUtMTY0Zy1zdm0tcm9vdC1jYTELMAkGA1UEBhMCVVMwHhcNMjUxMTIx
    MjE1NTIzWhcNMjYxMTIxMjE1NTIzWjAuMR8wHQYDVQQDExZjYWNoZS0xNjRnLXN2
    bS1yb290LWNhMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
    ...
    DoOL7vZFFt44xd+rp0DwafhSnLH5HNhdIAfa2JvZW+eJ7rgevH9wmOzyc1vaihl3
    Ewtb6cz1a/mtESSYRNBmGkIGM/SFCy5v1ROZXCzF96XPbYQN4cW0AYI3AHYBZP0A
    HlNzDR8iml4k9IuKf6BHLFA+VwLTJJZKrdf5Jvjgh0trGAbQGI/Hp2Bjuiopkui+
    n4aa5Rz0JFQopqQddAYnMuvcq10CyNn7S0vF/XLd3fJaprH8kQ==
    -----END CERTIFICATE-----
    备注 这是配置客户端信任由 SVM root-ca 签名的证书所必需的。公钥会输出到控制台。复制并保存公钥。此命令中的值与您在 创建 SVM 根 CA 中输入的值相同。

步骤 2:配置 S3 服务器

  1. 启用 S3 协议访问:

    vserver show -vserver <svm> -fields allowed-protocols
    备注 默认情况下,S3 在 SVM 级别是允许的。
  2. 克隆现有策略:

    network interface service-policy clone -vserver <svm> -policy default-data-files -target-vserver <svm> -target-policy <any_name>
  3. 将 S3 添加到已克隆的策略:

    network interface service-policy add-service -vserver <svm> -policy <any_name> -service data-s3-server
  4. 将新策略添加到 data lif:

    network interface modify -vserver <svm> -lif <data_lif> -service-policy duality
    备注 修改现有 LIF 的服务策略可能会造成中断。它要求将 LIF 取下,并使用新服务的侦听器重新启动。TCP *应该*能够快速从中恢复,但要注意潜在的影响。
  5. 在 SVM 上创建 S3 对象存储服务器:

    vserver object-store-server create -vserver <svm> -object-store-server <dns_name_of_data_lif> -certificate-name flexcache-duality
  6. 在 FlexCache 卷上启用 S3 功能:

    flexcache config`选项 `-is-s3-enabled`必须设置为 `true,然后才能创建存储桶。您还必须将选项 -is-writeback-enabled`设置为 `false

    以下命令将修改现有 FlexCache:

    flexcache config modify -vserver <svm> -volume <fcache_vol> -is-writeback-enabled false -is-s3-enabled true
  7. 创建 S3 存储桶:

    vserver object-store-server bucket create -vserver <svm> -bucket <bucket_name> -type nas -nas-path <flexcache_junction_path>
  8. 创建存储桶策略:

    vserver object-store-server bucket policy add-statement -vserver <svm> -bucket <bucket_name> -effect allow
  9. 创建 S3 用户:

    vserver object-store-server user create -user <user> -comment ""

    输出示例:

        Vserver: <svm>>
           User: <user>>
     Access Key: WCOT7...Y7D6U
     Secret Key: 6143s...pd__P
        Warning: The secret key won't be displayed again. Save this key for future use.
  10. 为 root 用户重新生成密钥:

    vserver object-store-server user regenerate-keys -vserver <svm> -user root

    输出示例:

        Vserver: <svm>>
           User: root
     Access Key: US791...2F1RB
     Secret Key: tgYmn...8_3o2
        Warning: The secret key won't be displayed again. Save this key for future use.

步骤 3:设置客户端

有许多 S3 客户端可用。AWS CLI 是一个很好的起点。有关详细信息,请参见 "安装 AWS CLI"