發佈日期:
探討由Microsoft Azure File Storage的資料夾/檔案轉移到Microsoft Teams SharePoint Site遇上問題
01. 近來,公司又要將儲存於Microsoft Azure File Storage的資料夾/檔案轉移到Microsoft Teams SharePoint Site。先不理背後的動機,是否為了製造就業機會,而IT作為一個檔案轉移工作者,趁機會作一個記錄。
02. 先比較一下價錢,以Azure File Storage 1TB容量,每月有500GB輸出流量計算,每月費用約USD22。當然,你不可以只有Azure File Storage,更加需要一隻Microsoft VM Server及Microsoft Azure AD帳戶,以VM Server A1 Instance (1 core, 1.75GB RAM, 70GB Storage),連Windows License每月約要USD66。以100個Azure AD帳戶每個USD6計算,每月便要USD600。即以Azure File Storage方式儲存檔案,每月約要USD688。換轉為Microsoft Teams SharePoint Site,用戶需要以Microsoft O365帳戶登入,而O365 Business Basic Plan每個用戶每月為USD$6,100用戶便是USD600,而Teams SharePoint Site每GB為USD0.2。而因O365帳戶已包括Microsoft Azure AD在內,所以不需要另外建設AD或伺服器,所以總價格約每月USD620,所以比較2者分別其實不大,只是Microsoft Azure File Storage方案,需要一隻VM伺服器。
03. 對於方便性,Azure File Storage可以用Windows Explorer直接存取檔案,權限會以AD同Security Group來控制,唯一就是沒有Web介面。而Teams SharePoint Site,一樣可以用Windows Explorer直接存取檔案,但要利用OneDrive裡面的Sync功能,當OneDrive有問題,Windows Explorer便有可能存取一過期檔案,而在本機更新後,當然也不會更新到Teams SharePoint Site內容,但好處是擁有Web介面,可以直接更新檔案內容。
04. 廢話講完,開始討論將檔案由Azure File Storage的檔案轉移到Teams SharePoint Site遇到的問題。
05. 如果只是簡單幾個資料夾/檔案,只要登入Teams SharePoint Site Web版,直接用『上載』按鈕,就可以將檔案由Azure File Storage上傳到Teams SharePoint Site。
06. 當然要求不會那麼簡單,實際在Azure File Storage資料夾/檔案,係數以10萬計。所以IT改用了『SharePoint移轉工具 (SharePoint Migration Tool)』將資料夾/檔案由Azure File Storage轉移到Teams SharePoint Site。
07. 要用到『SharePoint移轉工具』,你需要擁有Teams SharePoint Site管理員權限。否則執行程式時,會看不到Teams SharePoint Site。而另一樣需要的,就是Azure File Storage資料夾/檔案的存取權。要知道放在Azure File Storage的資料夾/檔案,只不過是幾個月前由另一個Domain轉過來,資料夾/檔案的權限,已經不知由幾多人手上攪過,設定早已是亂七八遭。要成功存取,就要先用takeown及icacls命令,重設資料夾/檔案的權限。
08. 基本上,按照上面的步驟,已經將Azure File Storage大部份的資料夾/檔案,成功轉移到Teams SharePoint Site上。
09. 但來到一些敏感性資料夾/檔案,人類懷疑既天性就不其然走出來。一方面又想IT幫手做轉移,一方面又怕IT偷看檔案內容。大哥,這不是IT問題,而是誠信及遵守規則問題呀。與有關同事解釋詳情,要不IT來做,耍不你自己來做。來到這刻,人類懶惰及卸膊性格又返來了。反正IT一直有權限存取Azure File Storage敏感性資料夾/檔案(否則天知要怎樣為其他用戶設定權限),那工作還不是IT來做最好。
10. 解決第一個非IT問題,在Teams SharePoint Site設定又出現其他問題。因為資料夾/檔案敏感性關係,所以會在Teams SharePoint Site中,加入了一個『私人子頻道(private sub-channel)』,一來可以完全分割上一層標準頻道,二來可以限制只有特定幾個人士,才有權限存取檔案。
11. 『標準頻道(standard channel)與私人頻道(private channel)分別』,在於標準頻道會為此Teams channel所有成員開放,而其他人可搜尋任何張貼的專案。標準頻道無法轉換為私人頻道,反之亦然。而私人頻道,不會開放給此Teams channel所有成員,必須受邀加入,才能檢視內容。私人頻道無法轉換為標準頻道,建立私人頻道時,該頻道會連結至上層成員,且無法移至其他團隊。
12. 由於私人頻道的限制,在『SharePoint移轉工具』根本看不到頻道的存在,變相不能使用此工具作出轉移。老細建議,可不可以先將資料夾/檔案上傳到Teams channel,再將資料夾/檔案轉移到私人子頻道(但那些可是高度敏感性資料夾/檔案來呢!)。方法是可行的,也可以用SharePoint移轉工具,以一般方法加到Teams channel內,但當在Teams SharePoint Web版中,將資料夾/檔案移動到私人子頻道,卻出現因檔案太多而不成功(不愧是Microsoft做出來的東西)。
13. 退一步,將OneDrive直接安裝在Azure File Storage的Windows伺服器上。想法是登入OneDrive後,將私人子頻道先Sync到Windows Explorer內的一個資料夾,再將檔案複製到此資料夾,經OneDrive上載到私人子頻道。完美的想法,在伺服器上登入OneDrive是沒有問題,但在將私人子頻道Sync到Windows Explorer時,卻因為O365帳戶因Windows Server設定,而不能成功取得權限而失敗。
14. 再退多步,設置一部電腦,登入OneDrive後,將私人子頻道先Sync到Windows Explorer內的一個資料夾。再人手用FastCopy,將Azure File Storage那個敏感性資料夾/檔案複製到私人子頻道的資料夾內,即是一方面由Azure File Storage下載資料夾/檔案,另一方面又由OneDrive將資料夾/檔案上傳到Teams SharePoint Site內。更完美的想法,換來就是一個混亂的失敗。Azure File Storage下載資料夾/檔案時,不時出現網絡錯誤,而經OneDrive將資料夾/檔案上傳到Teams SharePoint Site,又出現多個檔案不能合併等錯誤。
15. 再被迫退到崖邊,依然是那部電腦,登入OneDrive後,將私人子頻道先Sync到Windows Explorer內的一個資料夾。再人手用FastCopy,將Azure File Storage那個敏感性資料夾/檔案複製到一個本機資料夾。完成後,將這個本機資料夾內容,移動到OneDrive先前Sync的那個私人子頻道資料夾內,以便資料夾/檔案能上傳到Teams SharePoint Site內。即是將下載及上傳分開進行。今次終於算是成功了,為甚麼?可能因為是下載及上傳分開進行,對於網絡要求降低了。但在下載時,用戶仍然會在Azure File Storage中更改/加入檔案,變相應該是有些檔案放到Teams SharePoint Site時,可能已經過期,或根本不會存在。解決方法,就是當完成整個Azure File Storage轉移到Teams SharePoint Site項目後,會用硬碟將整個Azure File Storage內容備份一次,以防有需要時,仍可找到需要內容‧‧‧但真的有人能在10萬個資料夾/檔案中,知道有資料夾/檔案是過期或不見了嗎?這可是一間一年內走了10人以上既70人公司呢!
發佈留言