[Day7] 第七課 Azure 儲存體-1(Azure Storage) [基礎] & [Day8] 第八課 Azure 儲存體-2(Azure Storage) [基礎]

 News from: IT邦幫忙

[Day7] 第七課 Azure 儲存體-1(Azure Storage) [基礎]

今天想要談的是Azure儲存體服務,Azure儲存體最常被使用的應用場景就是雲端備份,不管從最簡單的nas整合,到進階的AzCopy方式,都可以輕鬆的將地端資料,儲存第二份或是第三份資料上雲

資料上雲有一個很大的好處,可以避免病毒的攻擊,尤其是勒索病毒猖狂肆虐的今天,一不小心點開一個執行檔,開啟一個doc文件都有可能中獎,導致寶貴的資料損失. 因此今天想要教大家怎麼使用Azure儲存體中的blob service

針對blob的官方說明


也可以參照微軟網頁,而我在這邊就教大家怎麼做nas雲端備份
https://docs.microsoft.com/zh-tw/azure/storage/blobs/storage-blobs-introduction

為什麼要使用雲端備份,我想到三個理由

  • 資料321原則,三份檔案、兩個媒介、一個異地。
  • 地端受到災難性的損壞時(硬體故障、勒索病毒),可以立即復原,轉移資料遺失風險
  • 初始成本低,無須投入硬體建置、用多少付多少。

讓我們開始吧,這邊以群暉的nas作為雲端備份示範案例
首先我們先建立儲存體帳戶


依序填入
資源群組:原先建立的20200919
儲存體帳戶名稱:nasbackup200922
位置:東南亞
效能:標準
帳戶種類:StorageV2
Blob存取層:經常性
如下圖


點選檢閱+建立


點選建立,接著點入資源,選擇容器(blob)


勾選新增容器,填入azurebackup後建立


點選存取金鑰


這時候開啟synology nas介面,打開hyper backup套件,點選新增備份
選Microsoft Azure,依序輸入儲存體帳戶名稱、金鑰、Container、目錄



選擇資料備份的目錄,以及做一些調整,我把設定的截圖都附上提供參考
這邊是設定保留近30天的資料




當備份完成就會顯示這樣的畫面,


這時候如果我來到這個目錄把檔案砍光,


這時候有Azure備份,我就可以透由該備份還原檔案





經過還原作業,檔案都成功復原了

[Day8] 第八課 Azure 儲存體-2(Azure Storage) [基礎]

昨天談到使用NAS內建的工具備份到Azure blob空間,今天要介紹一下還有哪些
工具可用,而其中最常使用的是Azcopy這個工具
https://docs.microsoft.com/zh-tw/azure/storage/common/storage-use-azcopy-v10

Azcopy的使用情境大概分為下列幾種

  1. 需要將大型檔案搬進Azure環境,透過blob進行傳輸交換,地端先傳送檔案至blob,
    再從blob下載至Azure VM等其他地方
  2. 傳送客製化映像檔,印象檔大約在30GB~127GB不等,大型檔案傳輸用Azcopy會比
    瀏覽器上傳穩定很多
  3. 定期排程上傳

首先我們先在昨天nasbackup200922儲存體中建立一個容器,命名為Azcopy



與nas所需的金鑰不一樣,azcopy需要的是sas權杖(sas token)
所以我們要點到共用存取簽章
將允許的資源類型中的「服務、容器、物件」打勾,點選產生sas與連接字串


這時候我們會拿到SAS權杖


接著我們下載Azcopy v10版本
https://aka.ms/downloadazcopy-v10-windows
將azcopy.exe解壓縮放在e:\azcopy目錄下


Azcopy的語法介紹網頁如下,我擷取幾個常用的
https://docs.microsoft.com/zh-tw/azure/storage/common/storage-use-azcopy-blobs?toc=/azure/storage/blobs/toc.json

上傳檔案語法(實際使用單引號要換程雙引號)
azcopy copy '<local-file-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-name>'

範例
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'

上傳目錄語法azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive

範例
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive

使用本機檔案系統的變更來更新容器語法
azcopy sync '<local-directory-path>' 'https://<storage-account-name>.blob.core.windows.net/<container-name>' --recursive

範例
azcopy sync 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive

所以我們現在來測試一下上傳整個目錄,回到Azcopy這個contanier確認一下路徑為
https://nasbackup200922.blob.core.windows.net/azcopy


我們需要使用 SAS 權杖來授與 blob 資料的存取權,所以要將該權杖附加至每個
AzCopy 命令中的資源 URL

例如:
'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'

Azcopy的語法

上傳目錄語法
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>?<sas_token>' –recursive

所以語法會長的像下面這個樣子

azcopy copy “E:\azcopy\200923” “https://nasbackup200922.blob.core.windows.net/azcopy?sv=2019-12-12&ss=bfqt&srt=sco&sp=rwdlacupx&se=2020-09-23T23:29:26Z&st=2020-09-23T15:29:26Z&spr=https&sig=Rsc2vLk109TCvX4r3bRRH4WHGiA0BPnXXXXXXX%3D” --recursive

我們實際用azcopy跑跑看


結果如下


那如果我更新了一個Day7.docx後,再跑一次azcopy呢?
結果是會把所有的檔案再覆蓋掉一次


所以我們再放入新的檔案day8.docx再微調一下語法,從copy改成sync
最後實際上傳更新只有一個檔案,而非全數覆蓋



以上就是今天分享的全部內容了,明天會講file的服務,如何比azcopy再更簡單的操作方式,可以掛載雲端檔案儲存空間









留言

熱門文章