管理 Azure 儲存體 Mover 端點
本文內容
雖然端點一詞 通常用於網路功能,但在 儲存體 Mover 服務的內容中會使用它來描述具有高階詳細數據的記憶體位置。
記憶體行動器端點是包含來源或目的地位置路徑和其他相關信息的資源。 端點用於建立作業定義,以定義特定複製作業的來源和目標位置。 只有特定類型的端點可以分別做為來源或目標。 例如,NFS(網路檔案系統)檔案共用端點中包含的數據只能複製到 Blob 記憶體容器。 同樣地,使用SMB型 (伺服器消息塊) 檔案共用目標的複製作業只能遷移至 Azure 檔案共用,
本文會引導您建立和管理 Azure 儲存體Mover端點。 若要遵循這些範例,您需要最上層記憶體行動器資源。 如果您尚未建立,請遵循建立 儲存體 Mover 資源文章中的 步驟,再繼續進行。
完成本文中的步驟之後,您將能夠使用 Azure 入口網站 和 Azure PowerShell 來建立和管理端點。
端點資源概觀
在 Azure 儲存體Mover資源階層中,移轉專案可用來將移轉作業組織成邏輯工作或元件。 移轉項目接著包含至少一個作業定義,其中描述移轉專案的來源和目標位置。 瞭解 儲存體Mover資源階層 一文包含 儲存體Mover、其端點和專案之間關聯性的詳細資訊。
因為移轉需要定義完善的來源和目標,因此端點會父代至最上層記憶體移動器資源。 此放置可讓您跨任意數目的作業定義重複使用端點。 雖然只有單一端點資源存在,但每個個別端點的屬性可能會根據其類型而有所不同。 例如,NFS(網路文件系統)共用、SMB 共用和 Azure 儲存體 Blob 容器端點都需要基本不同的資訊。
目前 Azure 儲存體 Mover 版本支援特定來源目標組組合的完整精確度移轉。 請一律使用最新的代理程式版本,以受益於這些支援的來源和目的地:
來源通訊協定
Target
註解
SMB 2.x 掛接
Azure 檔案共用 (SMB)
目前不支援 SMB 1.x 來源和 NFS Azure 檔案共用。
NFS 3 和 4 掛接
Azure Blob 記憶體容器
支援已啟用「階層命名空間服務(HNS)」功能的容器,並使用ADLS Gen2 REST API 集合進行移轉。
SMB 端點
SMB 使用 ACL (存取清單) 概念和使用者型驗證,為選取的使用者提供共用檔案的存取權。 為了維護安全性,儲存體Mover依賴 Azure 金鑰保存庫整合,安全地儲存並嚴格控制使用者認證和其他秘密的存取。 在移轉期間,記憶體移動器代理程序資源會使用 金鑰保存庫 秘密連線到 SMB 端點,而不是使用不安全的硬式編碼認證。 這種方法可大幅減少秘密可能會意外洩漏的機會。
設定本機檔案共享來源之後,請將使用者名稱和密碼的秘密新增至您的 金鑰保存庫。 您必須提供 金鑰保存庫 的名稱或統一資源識別碼(URI),以及建立 SMB 端點時認證密碼的名稱或 URI。
代理程式可透過 Azure RBAC(角色型存取控制)授權系統來控制對 金鑰保存庫和目標記憶體資源的存取。 此系統可讓您根據與受控識別、安全性主體和資源相關聯的屬性來定義存取權。 請務必注意,在 Azure 入口網站 內建立SMB端點時,會自動套用必要的 RBAC 角色指派。 不過,以程式設計方式建立的任何端點都需要您手動進行下列指派:
角色
資源
金鑰保存庫 秘密使用者
用來儲存 SMB 來源認證的 金鑰保存庫 資源
儲存體 檔案數據特殊許可權參與者
您的目標檔案共享資源
有許多使用案例需要保留元數據值,例如檔案和文件夾時間戳、ACL和檔案屬性。 儲存體 Mover 支援與基礎 Azure 檔案共用相同的檔案精確度層級。 Azure 檔案儲存體 接著支援NTFS檔案屬性 的 子集。 下表代表已移轉的一般元數據:
元數據屬性
結果
目錄結構
來源的原始目錄結構會保留在目標共用上。
訪問許可權
來源檔案或目錄的許可權會保留在目標共用上。
符號連結
來源上的符號連結會保留並對應至目標共用。
建立時間戳
原始來源檔案的建立時間戳會保留在目標共用上。
變更時間戳
來源檔案的原始變更時間戳會保留在目標共用上。
修改後的時間戳
來源檔案的原始修改時間戳會保留在目標共用上。
上次存取時間戳
目標共用上的檔案或目錄不支援此上次存取時間戳。
其他元數據
如果目標共用支援來源專案,則會保留來源專案的其他元數據。
NFS 端點
使用 NFS 通訊協定,您可以在執行 Windows 的電腦與其他非 Windows 作業系統之間傳輸檔案,例如 Linux 或 UNIX。 目前 Azure 儲存體 Mover 版本僅支援從網路內 NAS 或伺服器裝置上的 NFS 共用移轉至 Azure Blob 容器。
不同於SMB,NFS不會使用 ACL 概念或使用者型驗證。 這項差異可讓 NFS 端點在沒有 Azure 金鑰保存庫 整合的情況下存取。 此外,儲存體Mover會以不同的方式處理NFS掛接來源及其 Blob 容器目標對應專案的元數據。 下表會識別移轉期間所遇到的常見元數據結果:
元數據屬性
結果
目錄結構
Blob 容器沒有傳統的文件系統,而是支援「虛擬資料夾」。資料夾內檔案的路徑會放在檔名前面,並放在 Blob 容器內的一般清單中。 空白資料夾會以目標容器中的空白 Blob 表示。 和檔案一樣,源資料夾的元數據會保存在此 Blob 的自定義元數據欄位中。
訪問許可權
來源檔案的許可權會保留在自定義 Blob 元數據中,但無法像在來源中一樣運作。
符號連結
如果可以解析目標檔案的符號連結,則會移轉目標檔案。 無法解析的符號連結會記錄為失敗的檔案。
建立時間戳
來源檔案的原始時間戳會保留為自定義 Blob 元數據。 Blob 原生時間戳會反映移轉檔案的時間。
變更時間戳
來源檔案的原始時間戳會保留為自定義 Blob 元數據。 沒有此類型的 Blob 原生時間戳。
修改後的時間戳
來源檔案的原始時間戳會保留為自定義 Blob 元數據。 Blob 原生時間戳會反映移轉檔案的時間。
上次存取的時間戳
如果時間戳存在於來源檔案上,此時間戳會保留為自定義 Blob 元數據。 沒有此類型的 Blob 原生時間戳。
其他元數據
如果目標 Blob 存在於來源專案上,其他元數據會保存在目標 Blob 的自定義元數據欄位中。 只能儲存 4 KiB 的元數據。 不會移轉較大大小的元數據。
建立端點
您必須先為來源和目標數據源建立端點,才能建立作業定義。
重要
如果您尚未使用資源提供者部署 儲存體 Mover 資源,您必須先建立最上層資源,再嘗試此範例中的步驟。
Azure 儲存體 Mover 支援使用 NFS 和 SMB 通訊協定的移轉案例。 建立這兩個端點的步驟很類似。 建立已啟用 NFS 和 SMB 的端點之間的主要區別在於使用 Azure 金鑰保存庫 來儲存 SMB 資源的共用認證。 執行移轉作業時,代理程式會使用儲存在 金鑰保存庫 內的共享認證。 金鑰保存庫 秘密的存取權是藉由將 RBAC 角色指派授與代理程式的受控識別來管理。
建立來源端點
來源端點會識別數據從中移轉的位置。 來源端點可用來定義移轉專案內指定的數據來源。 Azure 儲存體Mover會以檔案共用的形式處理來源位置。 這些位置可能位於網路連接 儲存體(NAS)、伺服器,甚至是工作站上。 檔案共用的常見通訊協定是SMB(伺服器消息塊)和NFS(網路檔案系統)。
下列步驟說明建立來源端點的程式。
在 Azure 入口網站 中,流覽至 儲存體 移動器 資源頁面。 從瀏覽窗格中選取 儲存體 端點 ,以存取您的端點。
在 [儲存體 端點 ] 頁面上,預設 儲存體 端點檢視會顯示任何已布建來源端點 的名稱及其相關聯屬性的摘要。 您可以選取 [目標端點 ] 來檢視對應的目的地端點。 您也可以選取 [通訊協定版本 ] 或 [主機 篩選] 並選取適當的選項,進一步篩選結果。
選取 [建立端點] 展開 [端點 類型 ] 功能表。 選取 [建立來源端點 ] 以開啟 [ 建立來源端點 ] 窗格,如下圖所示。
在 [ 建立來源端點 ] 窗格中,提供必要 主機名或IP 和 共用名稱 值的值。 主機名或IP位址值必須是IPv4位址或完整網域或主機名。
重要
根據您的 DNS 組態,您可能需要使用完整功能變數名稱(FQDN), 而不是主機名。
您也可以新增長度最多 1024 個字元的選擇性 Description 值。 接下來,選取 [ 通訊協定版本 ] 以展開通訊協定選取功能表,然後為您的來源目標選取適當的選項。
儲存體 mover 代理程式會使用儲存在 金鑰保存庫 內的秘密來連線到 SMB 端點。 當您建立SMB來源端點時,必須同時提供包含秘密和秘密本身名稱的 金鑰保存庫名稱。
首先,選取 [金鑰保存庫 ] 展開功能表,然後選取包含您秘密 金鑰保存庫 的名稱。 您可以視需要提供值來篩選 金鑰保存庫 清單。
選取適當的 金鑰保存庫 之後,您可以提供必要 [選取使用者名稱 的秘密] 和 [選取密碼 ] 字段的值。 這些值可以藉由提供 URI 給秘密,或從清單中選取秘密來提供。 選取 [ 選取秘密 ] 按鈕以啟用功能表,然後選取使用者名稱和密碼值。 或者,您可以啟用 [從 URI 輸入密碼] 選項,並將適當的 URI 提供給使用者名稱和密碼密碼。
主機和共用名稱的值會串連以形成完整的移轉來源路徑。 路徑值會顯示在 [完整來源路徑 ] 字段中。 複製提供的路徑,並確認您可以在認可變更之前存取它。 最後,確認所有值都正確且您可以存取來源路徑之後,請選取 [建立 ] 以新增您的新端點。
您的新端點已部署,現在會出現在來源端點清單中,如下列範例影像所示。
New-AzStorageMoverSmbEndpoint
和 New-AzStorageMoverNfsEndpoint
Cmdlet 可用來在您先前部署的記憶體行動器資源 內建立新的端點。
如果您尚未安裝 Az.StorageMover
模組:
## Ensure you are running the latest version of PowerShell 7
$PSVersionTable.PSVersion
## Your local execution policy must be set to at least remote signed or less restrictive
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
## If you don't have the general Az PowerShell module, install it first
Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force
## Lastly, the Az.StorageMover module is not installed by default and must be manually requested.
Install-Module -Name Az.StorageMover -Scope CurrentUser -Repository PSGallery -Force
如需安裝 Azure PowerShell 的詳細資訊,請參閱安裝 Azure PowerShell 一文。
警告
不支援重新命名端點資源。 建議您確定您已適當地命名項目,因為您將無法在布建項目之後變更大部分的端點名稱。 不過,您可以選擇建立具有相同屬性和不同名稱的新端點,如稍後章節所示。 請參閱資源命名慣例 ,以選擇支持的名稱。
建立和使用變數來儲存冗長或可能複雜的字元串,一律是個好主意。
重要
根據您的 DNS 組態,您可能需要使用完整功能變數名稱(FQDN), 而不是主機名。
複製範例程式代碼區塊,並提供必要參數的值。 參數-Description
是選擇性的,會在檢視和編輯端點的屬性區段中新增 。
## Set variables
$subscriptionID = "[Subscription GUID]"
$resourceGroupName = "[Resource group name]"
$storageMoverName = "[Storage mover resource's name]"
$sourceHost = "[Source share's host name or IP address]"
$sourceShare = "[Source share's name]"
$targetResourceID = "/subscriptions/[GUID]/resourceGroups/demoResrouceGroup/"
$targetResourceID += "providers/Microsoft.Storage/storageAccounts/demoAccount"
## For SMB endpoints
$smbFileshare = "[Target fileshare name]"
$usernameURI = "https://demo.vault.azure.net/secrets/demoUser"
$passwordURI = "https://demo.vault.azure.net/secrets/demoPassword"
## For NFS endpoints
$nfsContainer = "[Blob container target]"
使用 Connect-AzAccount
Cmdlet 連線 至您的 Azure 帳戶。 提供 參數的值 -Subscription
,如範例所示,指定訂用帳戶的標識碼。
Connect-AzAccount -Subscription $subscriptionID
成功連線之後,您可以建立新的來源端點資源。 根據您的需求,您可以使用 New-AzStorageMoverSmbEndpoint
Cmdlet 來建立 SMB 端點,如下列範例所示。
New-AzStorageMoverSmbEndpoint `
-Name "smbSourceEndpoint"
-ResourceGroupName $resourceGroupName `
-StorageMoverName $storageMoverName `
-Host $sourceHost `
-ShareName $sourceShare `
-CredentialsUsernameUri $usernameURI `
-CredentialsPasswordUri $passwordURI
或者,您可以使用 Cmdlet 建立新的 NFS 來源端點 New-AzStorageMoverNfsEndpoint
,如下所示。
New-AzStorageMoverNfsEndpoint `
-Name "nfsSourceEndpoint" `
-ResourceGroupName $resourceGroupName `
-StorageMoverName $storageMoverName `
-Host $sourceHost `
-Export $sourceShare `
下列範例回應包含 ProvisioningState
屬性,表示已成功建立端點。
Id : /subscriptions/<GUID>/resourceGroups/
demoResourceGroup/providers/Microsoft.StorageMover/
storageMovers/demoMover/endpoints/smbTargetEndpoint
Name : demoTarget
Property : {
"endpointType": "AzureStorageSmbFileShare",
"description": "",
"provisioningState": "Succeeded",
"storageAccountResourceId": "/subscriptions/[GUID]/
resourceGroups/demoResourceGroup/providers/Microsoft.Storage/
storageAccounts/contosoeuap",
"fileShareName": "demoFileshare"
}
SystemDataCreatedAt : 6/22/2023 1:19:00 AM
SystemDataCreatedBy : user@contoso.com
SystemDataCreatedByType : User
SystemDataLastModifiedAt : 6/22/2023 1:19:00 AM
SystemDataLastModifiedBy : user@contoso.com
SystemDataLastModifiedByType : User
Type : microsoft.storagemover/storagemovers/endpoints
建立目標端點
目標端點會識別數據遷移的位置。 Azure 提供各種類型的雲端記憶體。 檔案移轉至 Azure 的基本層面是判斷哪一個 Azure 記憶體選項適合您的數據。 檔案和資料夾數目、其目錄結構、存取通訊協議、檔案逼真度和其他層面是完整雲端解決方案設計的重要輸入。
如果您需要為雲端解決方案設計選擇正確 Azure 目標記憶體的協助,請參閱 雲端移轉基本概念 一文。
下列步驟說明建立目標端點的程式。
在 Azure 入口網站 中,流覽至 儲存體 移動器 資源頁面。 從瀏覽窗格中選取 儲存體 端點 ,以存取您的端點。
在 [儲存體 端點 ] 頁面上,預設 儲存體 端點檢視會顯示任何已布建來源端點 的名稱及其相關聯屬性的摘要。 選取 [目標端點 ] 以檢視現有的目的地端點。 您可以選取 儲存體 帳戶 篩選和適當的選項,進一步篩選結果。
選取 [建立端點] 展開 [端點 類型 ] 功能表。 選取 [建立目標端點 ] 以開啟 [ 建立目標端點 ] 窗格,如下圖所示。
在 [建立目標端點 ] 窗格中,分別從 [訂 用帳戶] 和 [儲存體 帳戶] 列表中選取您的訂用帳戶和目的地記憶體帳戶 。 接下來,選取對應至目標端點的適當 [目標類型 ] 選項。
目前 Azure 儲存體 Mover 版本支援特定來源目標組組合的完整精確度移轉。 請一律使用最新的代理程式版本,以受益於這些支援的來源和目的地:
來源通訊協定
Target
註解
SMB 2.x 掛接
Azure 檔案共用 (SMB)
目前不支援 SMB 1.x 來源和 NFS Azure 檔案共用。
NFS 3 和 4 掛接
Azure Blob 記憶體容器
支援已啟用「階層命名空間服務(HNS)」功能的容器,並使用ADLS Gen2 REST API 集合進行移轉。
根據您選擇的目標類型,從對應的下拉式清單中選取您的 Blob 容器 或檔案 共用 。 最後,您可以為長度最多 1024 個字元的目標新增選擇性 的 Description 值,然後選取 [建立 ] 以部署端點。
您的新端點已部署,現在會出現在端點清單中,如下列範例影像所示。
若要建立新的 SMB 檔案共用,請使用 New-AzStorageMoverAzStorageSmbFileShareEndpoint
Cmdlet,如下列範例所示。
New-AzStorageMoverAzStorageSmbFileShareEndpoint `
-Name "smbTargetEndpoint" `
-ResourceGroupName $resourceGroupName `
-StorageMoverName $storageMoverName `
-StorageAccountResourceId $targetResourceID `
-FileShareName $targetFileshare
New-AzStorageMoverAzStorageContainerEndpoint
使用 PowerShell Cmdlet 來建立新的 NFS Blob 容器。 下列範例提供布建指引。
New-AzStorageMoverAzStorageContainerEndpoint `
-Name "nfsTargetEndpoint" `
-ResourceGroupName $resourceGroupName `
-StorageMoverName $storageMoverName `
-BlobContainerName $targetEpContainer `
-StorageAccountResourceId $targetResourceID `
下列範例回應包含 ProvisioningState
屬性,表示已成功建立端點。
Id : /subscriptions/<GUID>/resourceGroups/
demoResourceGroup/providers/Microsoft.StorageMover/
storageMovers/demoMover/endpoints/smbTargetEndpoint
Name : demoTarget
Property : {
"endpointType": "AzureStorageSmbFileShare",
"description": "",
"provisioningState": "Succeeded",
"storageAccountResourceId": "/subscriptions/[GUID]/
resourceGroups/demoResourceGroup/providers/Microsoft.Storage/
storageAccounts/contosoeuap",
"fileShareName": "demoFileshare"
}
SystemDataCreatedAt : 6/22/2023 1:19:00 AM
SystemDataCreatedBy : user@contoso.com
SystemDataCreatedByType : User
SystemDataLastModifiedAt : 6/22/2023 1:19:00 AM
SystemDataLastModifiedBy : user@contoso.com
SystemDataLastModifiedByType : User
Type : microsoft.storagemover/storagemovers/endpoints
檢視和編輯端點的屬性
根據您的使用案例,您可能需要擷取特定端點或所有端點資源的完整清單。 您可能也需要新增或編輯端點的描述。
請遵循本節中的步驟,檢視 儲存體 Mover 資源可存取的端點。
若要使用 [巡覽至 Azure 入口網站 建立端點,請流覽至 儲存體 mover 資源頁面。 從瀏覽窗格中選取 儲存體 端點 ,以存取您的端點,如範例影像所示。
在 [儲存體 端點 ] 頁面上,預設 儲存體 端點檢視會顯示任何已布建來源端點 的名稱及其相關聯屬性的摘要。 若要檢視布建的目的地端點,請選取 [ 目標端點 ]。 您可以選取 [通訊協定] 或 [ 主機 篩選] 和相關選項,進一步篩選結果。
目前,Azure 入口網站 不支援直接修改布建的端點。 不過,您可以遵循 此範例 ,使用 Azure PowerShell 來修改端點的描述。 應刪除並重新建立需要更新 Azure 入口網站 內的端點資源。
Get-AzStorageMoverEndpoint
使用 Cmdlet 來擷取端點資源清單。 您可以選擇性地提供 -Name
參數值來擷取特定資源。 呼叫不含選擇性參數的 Cmdlet 會傳回與記憶體行動器資源相關聯的所有布建端點清單。
下列範例會藉由指定 demoTarget 名稱值來擷取特定的項目資源。
Get-AzStorageMoverEndpoint `
-ResourceGroupName $resourceGroupName `
-StorageMoverName $storageMoverName `
-Name "demoTarget"
範例回應包含指定的項目屬性,包括空白 Description
屬性。
Id : /subscriptions/<GUID>/resourceGroups/
demoResourceGroup/providers/Microsoft.StorageMover/
storageMovers/demoMover/endpoints/smbTargetEndpoint
Name : demoTarget
Property : {
"endpointType": "AzureStorageSmbFileShare",
"description": "",
"provisioningState": "Succeeded",
"storageAccountResourceId": "/subscriptions/[GUID]/
resourceGroups/demoResourceGroup/providers/Microsoft.Storage/
storageAccounts/contosoeuap",
"fileShareName": "demoFileshare"
}
SystemDataCreatedAt : 6/22/2023 1:19:00 AM
SystemDataCreatedBy : user@contoso.com
SystemDataCreatedByType : User
SystemDataLastModifiedAt : 6/22/2023 1:19:00 AM
SystemDataLastModifiedBy : user@contoso.com
SystemDataLastModifiedByType : User
Type : microsoft.storagemover/storagemovers/endpoints
您可以將遺漏的描述新增至上一個範例中傳回的端點,方法是包含管線運算符和 Update-AzStorageMoverAzStorageSmbFileShareEndpoint
Cmdlet。 下列範例提供遺漏 的SMB檔案共用端點 值與 -Description
參數。
Get-AzStorageMoverEndpoint `
-ResourceGroupName $resourceGroupName `
-StorageMoverName $storageMoverName `
-Name "demoTarget" | `
Update-AzStorageMoverAzStorageSmbFileShareEndpoint `
-Description "SMB fileshare endpoint"
回應現在包含更新 Description
的屬性值。
Id : /subscriptions/<GUID>/resourceGroups/
demoResourceGroup/providers/Microsoft.StorageMover/
storageMovers/demoMover/endpoints/smbTargetEndpoint
Name : demoTarget
Property : {
"endpointType": "AzureStorageSmbFileShare",
"description": "SMB fileshare endpoint",
"provisioningState": "Succeeded",
"storageAccountResourceId": "/subscriptions/[GUID]/
resourceGroups/demoResourceGroup/providers/Microsoft.Storage/
storageAccounts/contosoeuap",
"fileShareName": "demoFileshare"
}
SystemDataCreatedAt : 6/22/2023 1:19:00 AM
SystemDataCreatedBy : user@contoso.com
SystemDataCreatedByType : User
SystemDataLastModifiedAt : 6/22/2023 1:19:00 AM
SystemDataLastModifiedBy : user@contoso.com
SystemDataLastModifiedByType : User
Type : microsoft.storagemover/storagemovers/endpoints
刪除端點
拿掉端點資源在生產環境中應該相對罕見,不過有時候可能會有所説明。 若要刪除 儲存體Mover端點資源,請遵循提供的範例。
警告
刪除端點是永久動作,無法復原。 建議您確定您已準備好刪除端點,因為您稍後將無法還原端點。
若要使用 Azure 入口網站 刪除端點,請流覽至 儲存體 mover 資源頁面。 從瀏覽窗格中選取 儲存體 端點,以存取您的端點 ,如下圖所示。
預設 的 [來源端點 ] 檢視會顯示任何布建來源端點的名稱,以及其相關聯數據的摘要。 您可以選取 [ 目的地端點 ] 篩選條件,以檢視對應的目的地端點。
找出您要刪除的端點名稱,然後選取對應的複選框。 確認您已選取適當的端點之後,請選取 [ 刪除 ],如下圖所示。
您的新端點已刪除,且不再出現在您的端點清單中,如下列範例影像所示。
Remove-AzStorageMoverEndpoint
使用 來永久刪除端點資源。 使用 -Name
參數提供端點的名稱,以及分別具有 -ResourceGroupName
和 -StorageMoverName
參數的資源群組和記憶體行動器資源名稱。
Remove-AzStorageMoverEndpoint `
-ResourceGroupName $resourceGroupName `
-StorageMoverName $storageMoverName `
-Name "demoTarget"
下一步
建立專案,以整理需要一起移轉的不同來源共用。