您好,登錄后才能下訂單哦!
????AzCopy使用的場景其實非常多,也能幫助我們解決很多問題,這次就來分享兩個不同場景下,AzCopy是如何幫我們解決問題的
????首先先來看下兩個場景分別是什么
????1.需要下載存儲在Azure Global上的blob
????2.需要在Azure Global和Azure China之間同步blob數據
????這兩個都是實際的案例,首先來看第一個
????背景是在Azure Global的storage上有一個60T的vhd文件,這個文件是第三方廠商公開分享的,任何人都可以直接下載,而不需要經過身份驗證,而我們需要做的就是要把這個放在Global的vhd文件遷移到中國區,然后再進行部署
????我們嘗試了很多種方法????
????1.直接下載 -- 速度維持在kB級別,極不穩定
????2.使用各大網盤和下載工具離線下載 -- 根本下不動
????3.使用不可描述的工具科學下載 -- 開始時速度很客觀,但一段時間后速度變為0? ?
????4.直接在Global Azure創建一臺VM進行下載 -- 速度位置在MB級別,穩定性尚可,但等待一段時間后,下載中斷
????以上幾種方法最終都被認定為不可行,最終還是使用AzCopy解決了這個問題
????
????首先我們先安裝好azcopy,然后在中國區建一個storage和container,以存放拷貝來的數據
????以上這些都屬于前期準備工作
????之后我們就來看如何進行數據的拷貝,首先在源端和目標端都是azure blob的時候,azcopy會有一些限制
????必須向每個源 URL 追加一個 SAS 令牌。?
????如果使用 Azure Active Directory (AD)提供授權憑據,則只能從目標 URL 中省略 SAS 令牌。
????所以,我們的源端必須是用SAS進行認證的,而我們的情況是源端是直接開放的,所以也不需要SAS了
????而目標端我們就需要使用Azure AD進行身份驗證了
????Azure AD進行身份驗證我們已經說了很多次了,具體如何操作呢,azcopy v10是可以讓用戶進行login的,所以這也就說明我們可以用我們的azure賬戶進行登錄,而azure 用戶現在是可以被直接賦予對blob的讀寫權限的,相關的role主要有以下幾個
Storage Blob Data Reader
Storage Blob Data Owner
Storage Blob Data Contributor
? ? 概念和常規的role有點類似吧,我們這里是需要寫入文件的,所以肯定不能用reader,我們直接assign一個owner的權限
????
????
????
? ? 之后我們就開始進行遷移,首先先登錄目標端環境
????azcopy login --aad-endpoint https://login.partner.microsoftonline.cn
?? ?在瀏覽器訪問這個標紅的url,然后輸入code,整個過程和cli以及linux下的powershell其實是一樣的
????
????
????
????登錄完成,我們嘗試list下container里的內容,可以看到已經能列出相應的內容了
????azcopy list https://mxy.blob.core.chinacloudapi.cn/test
????
????之后我們直接使用copy命令將在Global的vhd文件copy到container里
????azcopy copy https://xxxxx.blob.core.windows.net/release/xxxxx.vhd https://.blob.core.chinacloudapi.cn/sms/sms-connector.vhd
????
????整個過程半小時就完成了,平均速度能達到400-500Mbps
????
????
????速度之所以可以達到這么快,是因為AzCopy 使用服務器到服務器 api,因此直接在存儲服務器之間復制數據。 這些復制操作不會使用計算機的網絡帶寬。
????
????再來看第二種場景:
????在blob之間同步數據,因為這種同步很可能并不止是一次性同步,很可能之后要定期運行,所以源端和目標端我們都用SAS做身份驗證
????
????關于SAS,這里篇幅有限就不多贅述了,我們直接生成一個storage級別的SAS
????
????
????之后使用azcopy sync命令進行同步? ?
????azcopy sync 'https://mxxxc.blob.core.windows.net/$web?sv=2019-02-02&ss=bfqt&srt=sco&sp=rwdlacuxxxxxx&st=2020-02-10T03:42:25Z&spr=https,http&sigxxxxxxc%3D' 'https://xxx.blob.core.chinacloudapi.cn/global?sv=2019-02-02&ss=bfqt&srt=sco&xxxxx5:59Z&st=2020-02-10T04:35:59Z&spr=https,http&sigxxxxxx3D' --recursive --s2s-preserve-access-tier=false
????
????可以在目標端看到數據已經過來了
????
????之后我們在源端上傳一個新文件
????
????再次運行命令,可以看到這次只同步了一個文件
????
????通過這種方法,很快就可以把gloabl的數據同步到中國區,并且安全性也可以得到保障
????以上就是azcopy使用的兩個案例
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。