如何解決Windows Azure Storage的共享存儲(chǔ)問(wèn)題
我們?cè)趥鹘y(tǒng)IDC托管環(huán)境運(yùn)維網(wǎng)站的時(shí)候,經(jīng)常會(huì)遇到多臺(tái)Web服務(wù)器實(shí)現(xiàn)負(fù)載均衡的時(shí)候,后面使用同一個(gè)網(wǎng)絡(luò)存儲(chǔ)(SAN)。通過(guò)這種方式,可以解決文件同步的問(wèn)題。
服務(wù)器部署圖,如下圖所示:
在Windows Azure公有云環(huán)境,想實(shí)現(xiàn)上面的架構(gòu)會(huì)比較困難,主要原因有:
1.Azure公有云不允許用戶把網(wǎng)絡(luò)存儲(chǔ)(SAN)放置在Azure數(shù)據(jù)中心
2.如果使用單獨(dú)一臺(tái)Azure Virtual Machine模擬網(wǎng)絡(luò)存儲(chǔ),則這一臺(tái)Azure VM會(huì)出現(xiàn)單點(diǎn)故障。
需要手動(dòng)創(chuàng)建一臺(tái)Active Azure VM和一臺(tái)StandBy Azure VM。當(dāng)Active VM宕機(jī)的時(shí)候,由StandBy VM進(jìn)行托管。
在Azure File出現(xiàn)之前,對(duì)于這種共享存儲(chǔ)的方案可以提供的解決方案是,讓用戶基于Azure Storage進(jìn)行二次開(kāi)發(fā),將需要共享的文件保存在Azure Storage中。但是這樣的開(kāi)發(fā)代價(jià)太大了,非常不方便。
現(xiàn)在可以使用Azure File來(lái)實(shí)現(xiàn)共享文件夾的功能,讓多臺(tái)Azure Virtual Machine使用同一個(gè)Azure File,如下圖:
Azure File特點(diǎn)如下:
1.是一個(gè)PaaS服務(wù),提供99.9% SLA,不會(huì)出現(xiàn)單點(diǎn)故障
2.可以同時(shí)被多臺(tái)Azure VM共享,解決文件共享的問(wèn)題
3.基于SMB2.1協(xié)議,可以被Windows和Linux同時(shí)使用。
4.可以通過(guò)REST API訪問(wèn)
#p#
接下來(lái),筆者做一個(gè)簡(jiǎn)單的DEMO,給各位簡(jiǎn)單介紹一下Azure File。工作內(nèi)容主要分為以下幾步:
一.準(zhǔn)備工作
二.使用PowerShell創(chuàng)建文件共享
三.在Azure Virtual Machine裝載Azure File
一.準(zhǔn)備工作:確認(rèn)Azure Storage是否可以使用Azure File功能
1.Azure File功能目前是Preview階段,如果我們之前創(chuàng)建的老的Azure Storage Account,是無(wú)法查看到Azure File的。比如筆者很久以前在香港數(shù)據(jù)中心(East Asia)創(chuàng)建的Azure Storage Account為leivms,是沒(méi)有Azure File功能的,如下圖:
為了演示相關(guān)的功能,筆者創(chuàng)建了新的存儲(chǔ)賬號(hào),命名為leifiledemo,創(chuàng)建在香港數(shù)據(jù)中心(East Asia),如下圖:
可以看到,上圖中已經(jīng)出現(xiàn)了Files,我們可以使用這個(gè)命名空間,來(lái)創(chuàng)建Azure File。
2.接下來(lái),我們需要準(zhǔn)備以下環(huán)境:
-創(chuàng)建一個(gè)新的虛擬網(wǎng)絡(luò)LeiVNet
-創(chuàng)建2臺(tái)Windows VM,命名為L(zhǎng)eiZhangVMOne和LeiZhangVMTwo
-這2臺(tái)VM使用通過(guò)一個(gè)Cloud Service Name:LeiZhangVM
-這2臺(tái)VM設(shè)置高可用集:LeiAvbSet
-這2臺(tái)VM保存在我們之前創(chuàng)建的存儲(chǔ)賬號(hào)leivms,注意這個(gè)存儲(chǔ)賬號(hào)和我們之前創(chuàng)建的leifiledemo不同
-注意:我們Azure VM所在的存儲(chǔ)賬號(hào),和Azure File所在存儲(chǔ)賬號(hào),必須在同一個(gè)數(shù)據(jù)中心。這里筆者使用的都是香港數(shù)據(jù)中心(East Asia)
二.使用PowerShell創(chuàng)建文件共享
1.為存儲(chǔ)賬戶和密鑰創(chuàng)建上下文
執(zhí)行以下命令:
- $ctx=New-AzureStorageContext account-name account-key
比如筆者在步驟一中創(chuàng)建的Azure File名稱為leifiledemo,則執(zhí)行以下命令
- $ctx=New-AzureStorageContext leifiledemo [存儲(chǔ)賬號(hào)的密鑰]
2.創(chuàng)建新的文件共享,這里我們創(chuàng)建名為sampleshare的新共享
執(zhí)行以下命令:
- $s = New-AzureStorageShare sampleshare -Context $ctx
#p#
三.在Azure Virtual Machine裝載Azure File
1.我們通過(guò)Remote Desktop,登陸之前創(chuàng)建的Azure VM LeiZhangVMOne
2.打開(kāi)Azure VM的PowerShell
3.保存虛擬機(jī)的存儲(chǔ)賬戶憑據(jù)
為了保證Azure VM在重啟時(shí),允許Windows自動(dòng)連接到文件共享,我們需要執(zhí)行以下命令:
- cmdkey /add:.file.core.windows.net /user: /pass:
筆者的環(huán)境中,我們執(zhí)行以下命令:
- cmdkey /add:leifiledemo.file.core.windows.net /user:leifiledemo /pass:[存儲(chǔ)賬號(hào)的密鑰]
在LeiZhangVMOne這臺(tái)VM上執(zhí)行的截圖如下:
4.裝載Azure File
我們可以使用net use命令,將Azure File裝載為本地共享存儲(chǔ)
- net use z: \\.file.core.windows.net\
在筆者的環(huán)境中,我們執(zhí)行以下命令
- net use z: \\leifiledemo.file.core.windows.net\sampleshare
我們可以查看到掛載成功的共享存儲(chǔ),如下圖:
重復(fù)執(zhí)行步驟三的命令,我們可以同時(shí)在兩臺(tái)Azure VM上掛載共享存儲(chǔ),如下圖:
當(dāng)筆者在***臺(tái)VM新建文件的時(shí)候,在第二臺(tái)VM上也可以同時(shí)看到,如下圖:
默認(rèn)情況下,Azure File容量為5TB,存儲(chǔ)在Azure File里的單個(gè)文件***容量為1TB。
以下是Azure File與Blob的比較
以下是Azure File與Disk的比較