磁盤分區(qū)對齊和windows的系統(tǒng)
在Windows NT,2000,2003系統(tǒng)中,分區(qū)軟件diskpar.exe,作為WRK(Windows Resource Kit)的一部分,可以用來設(shè)定分區(qū)位移的開始。你必須要在數(shù)據(jù)寫入LUN之前做這件事,因?yàn)閐iskpar 會重新寫分區(qū)表:所有在LUN上出現(xiàn)的數(shù)據(jù)都會丟失掉。
對于隨機(jī)訪問操作或者是metaLUN,在diskpart中設(shè)定起始位移的大小,跟對被用來Bind LUN的stripe element size的大小一致(一般128blocks)。對于高帶寬要求的應(yīng)用,設(shè)定起始位移的大小跟LUNstripe size的大小一致。
開始,用Disk Manager來獲得磁盤的數(shù)目。在命令行中,使用diskpar加上-i的選項(xiàng):diskpar -i x
(新的大小是磁盤個數(shù))來檢查已經(jīng)存在的位移:
C:>diskpar -i 0
—-Drive 0 Geometry Information —- —-Drive Partition 0 Information —- StatringOffset = 32256 PartitionLength = 40007729664 HiddenSectors = 63 …… …… 注意 HiddenSectors的值。這就是分區(qū)的位移的數(shù)值 1. 假如磁盤X有數(shù)據(jù)你不想丟失,那么備份那個數(shù)據(jù) 2. 假如磁盤X是一個Raw Drive,跳到第四部。 3. 刪掉在磁盤X上所有的分區(qū),使之成為一個Raw Disk。 4. 在命令行中使用diskpar -s X (X是磁盤個數(shù)) 5. 輸入新的起始位移(單位sectors)和分區(qū)長度(單位MB)。這一步驟寫入為那個磁盤寫入新的MBR和創(chuàng)建新的分區(qū)。在你輸入起始位移和分區(qū)大小,MBR就被修改了,而新的分區(qū)信息出現(xiàn)了。 6. 在command prompt輸入diskpar -i x (x為磁盤個數(shù))來復(fù)查新近創(chuàng)立的分區(qū)上的信息。 64位windows系統(tǒng) 在64位的windows系統(tǒng)里面,如果按照默認(rèn)創(chuàng)建,MBR類型的磁盤是對齊的;GPT分區(qū)也是按默認(rèn)對齊,盡管他們有一個小的保留區(qū)域(32MB)是沒有對齊的。 在linux系統(tǒng)中的磁盤分區(qū)調(diào)整 在linux中,在數(shù)據(jù)寫入LUN之前對齊分區(qū)表(table),因?yàn)榉謪^(qū)影射(map)會被重寫,所有在LUN上的數(shù)據(jù)都會毀壞。在接下來的例子里,LUN被影射到/dev/emcpowerah,而且LUN stripe element size是128block。fdisk軟件工具的使用方式如下所示: fdisk /dev/emcpowerah x # expert mode b # adjust starting block number 1 # choose partition 1 128 # set it to 128, our stripe element size w # write the new partition 對于那些會使用snapshot,clone,MirrowView的鏡像構(gòu)成的LUN來說,這個方法比 LUN對齊位移方法更加適用。這對SAN Copy中的sources和targets是一樣適用的 對于VMWare的磁盤分區(qū)調(diào)整 VMware會更加復(fù)雜,因?yàn)闀袃煞N情況存在。 當(dāng)對齊raw disk或者Raw Device Mapping(RDM)卷,實(shí)在虛擬主機(jī)(VM)層次上來實(shí)現(xiàn)對齊的。例如,在windows的虛擬主機(jī)上使用diskpar來實(shí)現(xiàn)對齊。 對于VMFS卷,會在ESX Server的層次上使用fdisk來實(shí)現(xiàn)對齊,正如diskpar在VM層次。這是因?yàn)椴还苁荅SX Server還是客戶端都會把MBR放到LUN上面去。ESX必須對齊VMFS卷,而客戶系統(tǒng)必需對其他們的虛擬磁盤。 對齊ESX Server: On service console, execute “fdisk /dev/sd Type “n” to create a new partition Type “p” to create a primary partition Type “n” to create partition #1 Select the defaults to use the complete disk Type “x” to get into expert mode Type “b” to specify the starting block for partitions Type “1” to select partition #1 Type “128” to make partition #1 to align on 64KB boundary Type “r” to return to main menu Type “t” to change partition type Type “fb” to set type to fb (VMFS volume) Type “w” to write label and the partition information to disk 通過把分區(qū)類型聲明為fb,ESX Server會將這個分區(qū)認(rèn)為一個沒有被格式化的VMFS卷。你應(yīng)該能夠使用MUI或者vmkfstools,把一個VMFS文件系統(tǒng)放上去。對于Linux的虛擬主機(jī),按照上面列出的程序步驟來做。對于windows的虛擬主機(jī),也是按照上面的程序步驟來做。 Linux的I/O fragementing 對于linux來說,避免對一個LUN上的多個大文件的并發(fā)訪問是很重要的。否則,這回造成來自不同的線程的許多個訪問,使用不同的虛假設(shè)備來訪問同一個潛在的設(shè)備。這種沖突減少了寫操作的coalescing。 最好還是使用很多個小的LUN,每一個有一個單一的大的文件。 動態(tài)LUN的融合和偏移 如果你使用一個基于主機(jī)的分區(qū)工具來對齊數(shù)據(jù),在你融合幾個LUN的時候,這個對齊也會被保留。這是假設(shè)所有LUN的LUN stripe size是一致的。假如Navisphere Bind Offset被融合的源LUN所使用,那么目標(biāo)LUN,在bound用來調(diào)整stripe對齊的時候,必須要使用Bind Offset。 <未完待續(xù)>
相關(guān)推薦