indows 做NAS真有那么好?這是很多人的疑問,為什么有那么多現(xiàn)成的NAS系統(tǒng),還得勞動Windows的大駕呢?
這件事情就得從我們使用NAS的一個核心需求來說了。NAS作為網(wǎng)絡(luò)中存儲文件的一個服務(wù),首先要達(dá)到的一個目標(biāo)就是對存儲的管理。
存儲的概念在傳統(tǒng)的意義上來說就是我們要把數(shù)據(jù)存儲到存儲器中,現(xiàn)在用的最多的存儲器就是硬盤了。
不過,由于技術(shù)的發(fā)展,在大家傳統(tǒng)認(rèn)知之下,把文件存儲到磁盤這件事已經(jīng)被不知不覺的復(fù)雜化了。
現(xiàn)在的文件存儲并不是直接按照文件分配表將文件存儲到磁盤的扇區(qū)中,其中還有很多不為普通用戶所知道的秘密。
同時,各種新的文件管理系統(tǒng)(FS)也廣泛出現(xiàn),已經(jīng)并不是我們常說的FAT、NTFS的年代了。
這一切的始作俑者都是虛擬化技術(shù)帶來的存儲變革。
先了解下背景信息,然后iN再說說在Windows上要怎么做。
在DOS時代,我們依靠文件分配表(FAT)來存儲文件,這時候我們只有兩個和存儲相關(guān)的概念:磁盤、分區(qū)。
通常我們給一個物理磁盤進(jìn)行分區(qū),然后給分區(qū)分配一個盤符,我們就可以通過C:D:E:……這些盤符來訪問到我們的磁盤了。當(dāng)然了iN一直推薦都2000年代了,硬盤沒必要分區(qū),就一個C盤足矣。
例如新裝的這個Windows Server 2025如果打開資源管理器一看,還的確就只有一個C盤。
但事情是這么簡單么?進(jìn)入命令行,利用diskpart看一下這張盤:
你會發(fā)現(xiàn)除了C盤(主要)之外還有另外的2個分區(qū)并沒有顯示出來,它們沒有被系統(tǒng)賦予盤符處在不可訪問的狀態(tài)上。
再深究一下,我們還可以通過windows的磁盤管理看到iN的這臺機器的硬盤還有沒有劃分分區(qū)的情況:
這僅僅是從軟件層面來看,其實現(xiàn)在在用的機器還有一個陣列卡,可以把一些硬盤在陣列卡中合并虛擬成不同的驅(qū)動器。
軟件公司這樣做的概念就是讓你看到的那個驅(qū)動器盤符并不一定是代表了某塊硬盤
這樣做是有好處的!
將多個硬盤合并虛擬成一個或多個驅(qū)動器盤符的做法有幾個好處:
而這一切實際上是依靠“池化(POOL)”來完成的。
Windows Server和普通的NAS系統(tǒng)不同的是擁有一個存儲池(Storage Pool)
“池化”的概念源于虛擬化,將相同的資源進(jìn)行匯總統(tǒng)一調(diào)用。我們在研究存儲池的時候,我們會發(fā)現(xiàn)存儲池的存儲架構(gòu)中將存儲進(jìn)行了分層化,如果細(xì)致的劃分層次就是從物理磁盤-Raid層-存儲池-存儲空間-虛擬磁盤-卷-文件空間這樣的一個存儲層次結(jié)構(gòu)。
所以,從本質(zhì)的意義上來說Windows 存儲池并不是一個軟RAID,這就和群暉這樣的RAID是有那么一點點區(qū)別的。
當(dāng)然了,如果真心的想做RAID,在存儲池中有和軟RAID相等價的處理方式。但Raid這件事吧,iN的建議還是通過Raid卡來實現(xiàn)是更加靠譜的路線。
基礎(chǔ)的概念講完了,我們來實際操一下:
實際上從GPT(GUID Partition Table,Guid分區(qū)表)分區(qū)建立之后,Windows 系統(tǒng)就將存儲池的概念貼合到默認(rèn)設(shè)置中,即便在windows系統(tǒng)中未建立一個真正意義上的存儲池,硬盤也是依靠存儲池的概念進(jìn)行劃分的。所以在windows服務(wù)器管理器中如果查看卷的時候會顯示\?\volume{……}這樣的標(biāo)識,將我們的硬盤分區(qū)標(biāo)識出來。
實際上“C:”這個分區(qū)本身也有自己的GUID,只不過為了兼容前期的系統(tǒng)軟件被轉(zhuǎn)寫成了“C:”。
既然是從底層虛擬化了,我們是可以通過磁盤管理我們可以直接創(chuàng)建一個虛擬硬盤掛載到Windows系統(tǒng)中。例如:
1.在計算機管理/磁盤管理中選擇創(chuàng)建VHD:
2.設(shè)定VHD(虛擬磁盤)參數(shù):
這時候,在磁盤管理器中就可以出現(xiàn)一個未初始化的磁盤:
這個磁盤在Windows中使用和物理硬盤沒有任何區(qū)別。我們可以在這個虛擬磁盤上繼續(xù)建立卷。
這時候,一個新建立的盤符就在Windows中出現(xiàn)了。
但是這并不是Windows 系統(tǒng)真正推薦的一個使用方法。還記得前面iN說都2000年代了還要分區(qū)嗎?
Windows真正推薦的方法是根據(jù)功能將磁盤掛載到合適的目錄中去。例如我們在C:盤下建立一個ISO目錄用來存儲安裝虛擬機所需要的ISO文件。我們可以看到C盤的容量還有10個G的空間,是不是看似很小?這就可以利用到目錄掛載的功能將一個磁盤的存儲空間直接掛載到一個空白目錄中。
這時候你再到C盤中去看,你發(fā)現(xiàn)出現(xiàn)了一個叫做ISO的磁盤標(biāo)記,這個硬盤驅(qū)動器在Windows中已經(jīng)被當(dāng)作一個目錄來使用。
我們可以通過這個特性使用超級靈活的方式對一個單一驅(qū)動器的存儲結(jié)構(gòu)進(jìn)行規(guī)劃,例如,當(dāng)這個ISO(容量1GB)存滿了怎么辦?
替換一個新的目錄驅(qū)動器即可——再建立一個更大的isonew文件夾
將iso內(nèi)的文件拷貝到新的isonew中
然后把老的ISO文件夾改個名,再將新的ISONEW改成iso,這樣一來系統(tǒng)從應(yīng)用層面是無法感知到ISO這個目錄是被換了磁盤的。
而老的ISO目錄直接刪除掉就可以了,于是:
和替換前是沒有任何差別的——至少你看和程序看都是一模一樣的。
刪除掉的ISO驅(qū)動器在哪里了呢?——回收站!
如果我們再去磁盤管理器中去查看原始的ISO的磁盤分區(qū)的話,它的影卷副本中是有一個回收站的記錄的:
這個記錄實際上也暴露出了磁盤分區(qū)的GUID標(biāo)識。當(dāng)清空回收站后:
這條標(biāo)識就被永久刪除掉了:
和“c:\iso\”一樣歸納為“已禁用”狀態(tài)。我們可以從磁盤管理器中刪除掉這個虛擬磁盤。
看到這里,是不是覺得一個為了一個目錄大小這么破費周章太麻煩了吧?——iN也是這樣覺得的。原因并不在于方法,而是在于Windows server真正的存儲池咱們還沒有用到呢!
現(xiàn)在,我們引入存儲池來把剛剛的操作做一次。
為什么叫“池”而不叫“庫”或者“倉庫”,也不叫“陣列”什么奇怪的名字。其原因就在于人們總是可以將任何東西扔到池子里面去。這是“池”和其他容器不一樣的地方。
現(xiàn)在我們向存儲池內(nèi)丟一塊硬盤進(jìn)去:
首先新建立一個存儲池:
這里有一個忠告,建立IT基礎(chǔ)設(shè)施的時候,應(yīng)該有一個基礎(chǔ)的命名規(guī)范,在名字中盡量詳盡的包括基本信息,例如范例里面使用的名字就包括了類型、時間和地點。
選擇一塊硬盤丟到池子里:
這時候點下一步后創(chuàng)建,我們就建立了一個存儲池。
在存儲池的摘要窗口中我們可以看到存儲池中有一個磁盤和1.8T的容量。
但是在虛擬磁盤的位置我們還看不到任何驅(qū)動器。
點這里開啟創(chuàng)建虛擬驅(qū)動器向?qū)?/p>
這時候,我們就可以在選擇存儲池的窗口中看到我們剛剛建立的存儲池。雖然存儲池內(nèi)只有一塊硬盤,但是這塊硬盤的確是和我們有一個存儲池的隔離層了。
給這塊虛擬磁盤定義一個名字,還是參考之前的命名規(guī)則。
這里彈出一個機箱感知的窗口,如果有多個磁盤盤柜,這個選項會啟動,最大限度的來保證數(shù)據(jù)安全。
在這塊虛擬磁盤中我們可以建立鏡像和校驗,不過這些選項在只有一塊磁盤的存儲池中是做不到的,所以,我們就只能選擇Simple。
Simple在做的就是簡單的存儲,并不做額外的數(shù)據(jù)校驗以及其他的糾錯。
存儲池內(nèi)的虛擬硬盤可以自行增加容量或選擇固定容量,iN建議是給虛擬磁盤一個固定的大小,自行增長的磁盤開始設(shè)置會方便一些,但是在后期管理起來并不簡單。
設(shè)置虛擬硬盤的大小為20GB
從摘要上我們可以得到這次設(shè)置的基本信息,直接創(chuàng)建就可以創(chuàng)建出虛擬磁盤。
在虛擬磁盤建立完畢后,會彈出卷設(shè)置向?qū)В@時候我們就可以設(shè)置驅(qū)動器了
通過卷向?qū)нx擇剛剛建立的虛擬磁盤
現(xiàn)在看到有一個很好的名字標(biāo)簽的重要性了吧?
指定卷的大小
設(shè)置驅(qū)動器號或文件夾,我們還是和之前一樣指向到c:\iso。
設(shè)置這個卷的標(biāo)識。
生成卷。
這里是處理摘要。
到C盤去看,我們就會發(fā)現(xiàn)iso又出現(xiàn)在了C盤的根目錄。
而在存儲池中也標(biāo)記了一個新的虛擬硬盤:
這個虛擬盤用起來就和目錄一樣了,存儲一些文件什么的和普通磁盤沒有區(qū)別。
往iso目錄中拷貝一些文件,這時候iso的驅(qū)動器就立刻要被填滿……
我們?nèi)绻獢U大iso的文件夾還需要像之前一樣再建立一個虛擬盤來倒騰嗎?答案是否定的。
需要擴大容量的時候,我們回到存儲池:
在虛擬磁盤上選擇擴展虛擬磁盤。
給定一個新的容量。這時候虛擬磁盤的容量就被擴大。但是現(xiàn)在如果去看c:\iso的容量,你會發(fā)現(xiàn)還是20GB,這是因為我們擴大的是虛擬硬盤的大小,而c:\iso是虛擬硬盤上的一個“卷”。所以回到服務(wù)器管理器的卷的管理中:
這時候卷的大小還是20GB,而卷所屬的虛擬硬盤大小則變成了40GB。我們再擴展一下卷。
選擇擴展卷,我們把卷擴展到30GB。(這里玩?zhèn)€花樣,讓你知道存儲池和虛擬硬盤有多強悍)
在將c:\iso擴展到30GB后,順手又建立了一個5GB的卷。這時候你看磁盤的分區(qū)分布:
這個虛擬硬盤前部是一個30GB的分區(qū),中間是一個5GB的分區(qū),后面還有5GB的分區(qū)沒有利用到。
這時候我們再擴展c:\iso呢?會不會被ajoker這個分區(qū)阻擋呢?
答案是肯定的:
擴展出來的這部分分區(qū)被ajoke所阻擋,導(dǎo)致擴展失敗。道理就是這樣,磁盤分區(qū)無論是虛擬盤還是物理盤都是以偏移量為基準(zhǔn)的,在一個分區(qū)后面如果建立了一個新的分區(qū),那么這個分區(qū)就不能繼續(xù)擴展了。
所以目前我們看到的c:\iso是30GB
但是如果非得擴展呢???倒也不是不可能……
我們只需要把這個虛擬磁盤轉(zhuǎn)換成動態(tài)磁盤,這樣一來,GPT的結(jié)構(gòu)就會發(fā)生變化使用動態(tài)的分區(qū)表進(jìn)行空間劃分。
不過,關(guān)于基本盤和動態(tài)盤之間的區(qū)別講起來有點多,咱們就找時間繼續(xù)講。
好了,讓我們把視線繼續(xù)拉回存儲池,存儲池顧名思義就是一臺服務(wù)器上所有存儲器的一個資源池。在Windows Server中存儲池可以說是“生冷不忌”。我們可以不斷的向一個存儲池內(nèi)增加存儲資源,也就是加硬盤。
加入的硬盤的容量在Windows Server的調(diào)度下統(tǒng)一管理。例如我們可以繼續(xù)向存儲池內(nèi)增加各種容量和規(guī)格的硬盤:
SAS接口SATA接口都可以增加,容量不一致也可以增加。最終在存儲池內(nèi)會形成一個統(tǒng)一的存儲空間,如果在存儲池內(nèi)增加了多塊硬盤,那么在設(shè)立新的虛擬磁盤的時候我們也可以有多種不同的選擇。
當(dāng)然了大家看:
最早安裝系統(tǒng)的時候,一塊240G的硬盤劃分出來40GB用作系統(tǒng)盤,這不,還剩下183.46G的剩余空間沒有劃分,那么……這半塊硬盤能不能放入存儲池呢?
答案是——可以!
看到了硬盤直接加入即可,半塊硬盤也不會被浪費掉。
這時候我們看到的存儲池內(nèi)就比較亂了,不僅僅有SATA的機械硬盤,還有SAS的機械硬盤,甚至還有SATA的固態(tài)硬盤。
其實現(xiàn)在給大家演示的Windows機器上面還有一個“磁盤5”
這是iN家里的SAN盤柜里面的一塊硬盤。利用ISCSI和這臺Windows服務(wù)器進(jìn)行連接。
SAN的部分我們也會找時間來展開細(xì)講一下。
在這臺機器上外掛一個ISCSI硬盤的作用是用作重要數(shù)據(jù)熱備份。
和建立其他虛擬磁盤一樣,先在存儲池中建立一個DB20240404的虛擬硬盤:
關(guān)閉隨后彈出的新建卷向?qū)В氐接嬎銠C的磁盤管理,這時候我們看到虛擬盤已經(jīng)掛載:
選擇“新建鏡像卷”
把iscsi上的磁盤選入:
這時候我們就可以建立一個60GB的帶有本地校驗機制并且和遠(yuǎn)端磁盤同步鏡像的卷
這樣一來,當(dāng)我們向本地的MASTERDATA目錄內(nèi)寫入內(nèi)容的時候,遠(yuǎn)端的SAN上也可以接收到相同的數(shù)據(jù)鏡像。
對于重要數(shù)據(jù)來說,如果本地計算機發(fā)生嚴(yán)重故障,實際上,我們還是可以借助這份存儲在遠(yuǎn)端SAN上的數(shù)據(jù)進(jìn)行恢復(fù)。
————————分割線————————
沒剎住車,今天講的案例有點多。實際上如果真的要玩存儲,目前Windows Server的存儲池是可以吊打一眾的NAS的,畢竟成熟的商用系統(tǒng)和家用系統(tǒng)比較本身就是有那么一點欺負(fù)人的意思。
但隨著Windows Server將要在今年夏天有那么一點許可證上的銷售變化,大家提前了解一下,或許會發(fā)現(xiàn)Windows Server其實也會挺香的。
當(dāng)然了,今天講的不少,但是對于存儲池的靈活運用還僅僅是講了一個皮毛,有更多的“黑科技”可以以后陸續(xù)做專題的。
大家要注意的一點是——在虛擬化的大環(huán)境內(nèi),“池”是很重要的概念,無論是處理器、內(nèi)存、存儲、GPU現(xiàn)在都可以池化。玩轉(zhuǎn)虛擬化,并不是什么網(wǎng)卡直通或者顯卡直通、而是要玩轉(zhuǎn)“池”。
用Windows這么多年,你真的了解 Windows 磁盤管理 工具?
Windows操作系統(tǒng)的磁盤管理時列出了在Windows中進(jìn)行磁盤管理的基本步驟:
打開磁盤管理工具
打開“此電腦”或者“計算機”窗口
右鍵點擊“管理”,選擇“磁盤管理”
查看磁盤和分區(qū)信息
在磁盤管理界面,可以看到所有的磁盤和它們的分區(qū)情況
可以查看每個磁盤的狀態(tài)、分區(qū)類型、已分配空間等信息
創(chuàng)建新的分區(qū)
右鍵點擊未分配的空間,選擇“新建簡單卷”
按照向?qū)е鸩酵瓿尚路謪^(qū)的創(chuàng)建,包括分配空間大小、分配驅(qū)動器號碼、文件系統(tǒng)格式化等
調(diào)整分區(qū)大小
可以右鍵點擊已有分區(qū),選擇“收縮卷”來減小分區(qū)大小
也可以右鍵點擊其他分區(qū)或未分配空間,選擇“擴展卷”來增加分區(qū)大小
格式化分區(qū)
右鍵點擊新創(chuàng)建的分區(qū)或者未格式化的分區(qū),選擇“格式化”
選擇文件系統(tǒng)(如NTFS、FAT32等)和標(biāo)簽,并進(jìn)行格式化
更改驅(qū)動器號碼
右鍵點擊分區(qū),選擇“更改驅(qū)動器號碼和路徑”
在彈出的窗口中可以更改驅(qū)動器的符號
刪除分區(qū)
右鍵點擊要刪除的分區(qū),選擇“刪除卷”
轉(zhuǎn)換磁盤類型
在磁盤管理界面,可以右鍵點擊磁盤,選擇“轉(zhuǎn)換為動態(tài)磁盤”或者“轉(zhuǎn)換為基本磁盤”,從而改變磁盤的類型。
創(chuàng)建虛擬磁盤
在Windows 10中,可以使用“磁盤管理”創(chuàng)建和掛載VHD(虛擬硬盤)或者VHDX(Hyper-V虛擬硬盤)。
檢查磁盤狀態(tài)
在磁盤管理界面,可以查看磁盤的狀態(tài),包括正常、故障、未初始化等狀態(tài),以便及時進(jìn)行維護(hù)和修復(fù)。
管理磁盤陣列
如果系統(tǒng)支持RAID技術(shù),可以在磁盤管理中對磁盤陣列進(jìn)行管理,包括創(chuàng)建RAID卷、添加熱備份等操作。
管理磁盤屬性
可以通過右鍵點擊磁盤或分區(qū),選擇“屬性”來查看磁盤的詳細(xì)屬性信息,包括容量、用量、文件系統(tǒng)類型等。
分配驅(qū)動器號碼
對于已經(jīng)分配了驅(qū)動器號碼的分區(qū),可以右鍵點擊分區(qū),選擇“更改驅(qū)動器號碼和路徑”,然后進(jìn)行分配或更改驅(qū)動器號碼。
禁用或啟用分區(qū)
可以右鍵點擊分區(qū),選擇“禁用卷”或“啟用卷”,用于禁用或啟用指定的分區(qū)。
標(biāo)記分區(qū)為活動分區(qū)
可以右鍵點擊分區(qū),選擇“設(shè)為活動分區(qū)”,將選定的分區(qū)標(biāo)記為活動分區(qū),這在引導(dǎo)操作系統(tǒng)時很重要。
設(shè)置分區(qū)字母
可以右鍵點擊分區(qū),選擇“更改驅(qū)動器號碼和路徑”,然后分配或更改分區(qū)的字母。
轉(zhuǎn)換分區(qū)格式
可以右鍵點擊分區(qū),選擇“轉(zhuǎn)換為GPT磁盤”或“轉(zhuǎn)換為MBR磁盤”,從而改變分區(qū)的格式。
檢查和修復(fù)分區(qū)
可以右鍵點擊分區(qū),選擇“屬性”,然后切換到“工具”選項卡,點擊“檢查”來檢查并修復(fù)分區(qū)上的錯誤。
擴展卷組
可以在磁盤管理中創(chuàng)建和管理卷組,以便將多個磁盤合并為一個邏輯卷。
備份和還原分區(qū)
可以使用第三方軟件或Windows自帶的備份工具對分區(qū)進(jìn)行備份和還原操作,以保護(hù)數(shù)據(jù)的安全性。