Skip to main content
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

設定AWS後端的CVS

貢獻者

瞭Cloud Volumes Service 解如何使用所提供的範例組態、將AWS的NetApp功能(CVS)設定為Astra Trident安裝的後端。

註 AWS適用的支援磁碟區容量不低於100 GB。Cloud Volumes Service如果要求較小的磁碟區、Trident會自動建立100-GB磁碟區。
您需要的產品

以設定及使用 "AWS 適用的 Cloud Volumes Service" 後端、您需要下列項目:

  • 使用NetApp CVS設定的AWS帳戶

  • CVS帳戶的API區域、URL和金鑰

後端組態選項

如需後端組態選項、請參閱下表:

參數 說明 預設

「分度」

永遠為1

「torageDriverName」

儲存驅動程式名稱

「AWs-CVS」

「後端名稱」

自訂名稱或儲存後端

驅動程式名稱+「_」+ API金鑰的一部分

《apiRegion》

CVS帳戶區域。您可以在CVS入口網站的「帳戶設定/API存取」中找到該值。

"apiURL"

CVS帳戶API URL。您可以在CVS入口網站的「帳戶設定/API存取」中找到該值。

「apiKey」

CVS帳戶API金鑰。您可以在CVS入口網站的「帳戶設定/API存取」中找到該值。

「ecretKey」

CVS帳戶秘密金鑰。您可以在CVS入口網站的「帳戶設定/API存取」中找到該值。

"proxyurl"

Proxy URL(如果需要代理伺服器才能連線至CVS帳戶)。Proxy伺服器可以是HTTP Proxy或HTTPS Proxy。對於HTTPS Proxy、會跳過憑證驗證、以允許在Proxy伺服器中使用自我簽署的憑證。不支援已啟用驗證的Proxy伺服器。

「nfsMountOptions」

精細控制NFS掛載選項。

"nfsves=3"

《限制Volume大小》

如果要求的磁碟區大小高於此值、則資源配置失敗

""(預設不強制執行)

《服務層級》

新磁碟區的CVS服務層級。這些值包括「標準」、「高級」和「極端」。

"標準"

「DebugTraceFlags」

疑難排解時要使用的偵錯旗標。例如:「\{"API":fals,"method":true}」。除非您正在進行疑難排解並需要詳細的記錄傾印、否則請勿使用此功能。

null

註 每個"apiRegion(每個地區)"都有獨特的"apiURL"。例如、us-west-2的「apiRegion」就有 https://cv.us-west-2.netapp.com:8080/v1/ "apiURL"。同樣地、美東區(us-east-1)的「每個地區」也有 https://cds-aws-bundles.netapp.com:8080/v1/ "apiURL"。請務必查看CVS儀表板、以瞭解後端組態的正確「apiRegion」和「apiURL」參數。

每個後端都會在單一AWS區域中配置磁碟區。若要在其他區域建立磁碟區、您可以定義其他後端。

您可以在組態檔的特殊區段中指定下列選項、以控制預設的每個Volume佈建方式。請參閱下列組態範例。

參數 說明 預設

「匯出規則」

新磁碟區的匯出規則

「0.00.0.0/0」

「napshotDir

控制「.snapshot」目錄的可見度

"假"

「快照保留區」

保留給快照的磁碟區百分比

""(接受CVS預設值為0)

《大小》

新磁碟區的大小

100公克

「匯出規則」值必須是以逗號分隔的清單、以CIDR表示法列出所有的IPv4位址或IPv4子網路組合。

註 對於在CVS AWS後端上建立的所有磁碟區、Astra Trident會將儲存資源池上的所有標籤複製到資源配置時的儲存磁碟區。儲存管理員可以定義每個儲存資源池的標籤、並將儲存資源池中建立的所有磁碟區分組。這是根據後端組態中提供的一組可自訂標籤、方便區分磁碟區的方法。

範例1:最低組態

這是絕對最低的後端組態。

當您剛開始使用CVS AWS並試用資料時、這種組態是理想的選擇、但實際上您想要為您所配置的磁碟區提供額外的範圍。

{
    "version": 1,
    "storageDriverName": "aws-cvs",
    "apiRegion": "us-east-1",
    "apiURL": "https://cds-aws-bundles.netapp.com:8080/v1",
    "apiKey": "znHczZsrrtHisIsAbOguSaPIKeyAZNchRAGzlzZE",
    "secretKey": "rR0rUmWXfNioN1KhtHisiSAnoTherboGuskey6pU"
}

範例2:單一服務層級組態

此範例顯示後端檔案、可將相同層面套用至AWS use-east-1區域中所有由Astra Trident建立的儲存設備。此範例也顯示後端檔案中使用「proxyURL」的情形。

{
    "version": 1,
    "storageDriverName": "aws-cvs",
    "backendName": "cvs-aws-us-east",
    "apiRegion": "us-east-1",
    "apiURL": "https://cds-aws-bundles.netapp.com:8080/v1",
    "apiKey": "znHczZsrrtHisIsAbOguSaPIKeyAZNchRAGzlzZE",
    "secretKey": "rR0rUmWXfNioN1KhtHisiSAnoTherboGuskey6pU",
    "proxyURL": "http://proxy-server-hostname/",
    "nfsMountOptions": "vers=3,proto=tcp,timeo=600",
    "limitVolumeSize": "50Gi",
    "serviceLevel": "premium",
    "defaults": {
        "snapshotDir": "true",
        "snapshotReserve": "5",
        "exportRule": "10.0.0.0/24,10.0.1.0/24,10.0.2.100",
        "size": "200Gi"
    }
}

範例3:虛擬儲存池組態

此範例顯示使用虛擬儲存資源池設定的後端定義檔案、以及參照回溯的StorageClass。

在下圖所示的範例後端定義檔中、會針對所有儲存資源池設定特定的預設值、將「快照保留」設為5%、將「匯出規則」設為0.00.0/0。虛擬儲存資源池是在「儲存區」區段中定義的。在此範例中、每個個別的儲存資源池都會設定自己的「服務層級」、有些資源池則會覆寫預設值。

{
    "version": 1,
    "storageDriverName": "aws-cvs",
    "apiRegion": "us-east-1",
    "apiURL": "https://cds-aws-bundles.netapp.com:8080/v1",
    "apiKey": "EnterYourAPIKeyHere***********************",
    "secretKey": "EnterYourSecretKeyHere******************",
    "nfsMountOptions": "vers=3,proto=tcp,timeo=600",

    "defaults": {
        "snapshotReserve": "5",
        "exportRule": "0.0.0.0/0"
    },

    "labels": {
        "cloud": "aws"
    },
    "region": "us-east-1",

    "storage": [
        {
            "labels": {
                "performance": "extreme",
                "protection": "extra"
            },
            "serviceLevel": "extreme",
            "defaults": {
                "snapshotDir": "true",
                "snapshotReserve": "10",
                "exportRule": "10.0.0.0/24"
            }
        },
        {
            "labels": {
                "performance": "extreme",
                "protection": "standard"
            },
            "serviceLevel": "extreme"
        },
        {
            "labels": {
                "performance": "premium",
                "protection": "extra"
            },
            "serviceLevel": "premium",
            "defaults": {
                "snapshotDir": "true",
                "snapshotReserve": "10"
            }
        },

        {
            "labels": {
                "performance": "premium",
                "protection": "standard"
            },
            "serviceLevel": "premium"
        },

        {
            "labels": {
                "performance": "standard"
            },
            "serviceLevel": "standard"
        }
    ]
}

下列StorageClass定義係指上述儲存資源池。您可以使用「parameters.selector`」欄位、為每個StorageClass指定用於裝載磁碟區的虛擬集區。該磁碟區會在所選的資源池中定義各個層面。

第一個StorageClass(「CVS極致額外保護」)會對應至第一個虛擬儲存資源池。這是唯一提供極致效能、快照保留率為10%的資源池。最後一個StorageClass(「CVS額外保護」)會呼叫提供快照保留10%的任何儲存資源池。Astra Trident決定選取哪個虛擬儲存池、並確保符合快照保留需求。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cvs-extreme-extra-protection
provisioner: netapp.io/trident
parameters:
  selector: "performance=extreme; protection=extra"
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cvs-extreme-standard-protection
provisioner: netapp.io/trident
parameters:
  selector: "performance=extreme; protection=standard"
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cvs-premium-extra-protection
provisioner: netapp.io/trident
parameters:
  selector: "performance=premium; protection=extra"
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cvs-premium
provisioner: netapp.io/trident
parameters:
  selector: "performance=premium; protection=standard"
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cvs-standard
provisioner: netapp.io/trident
parameters:
  selector: "performance=standard"
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cvs-extra-protection
provisioner: netapp.io/trident
parameters:
  selector: "protection=extra"
allowVolumeExpansion: true

接下來呢?

建立後端組態檔之後、請執行下列命令:

tridentctl create backend -f <backend-file>

如果後端建立失敗、表示後端組態有問題。您可以執行下列命令來檢視記錄、以判斷原因:

tridentctl logs

識別並修正組態檔的問題之後、您可以再次執行create命令。