You are on page 1of 7

Alineacin de Disco Windows Server 2003

Facultad de Ingeniera de Sistemas


P g i n a | 1
Alineacin de Disco Windows Server 2003
Son mucos los !actores "ue entran en #uego$ a la ora de conseguir %uenos
rendimientos$ en la entrada & salida de los discos' !actores como el n(mero$
tama)o & velocidad de los discos$ tama)o de la unidad$ si los discos estn
dedicados$ com*artidos$ o son virtuales$ los niveles de +AID$ la velocidad del
%us$ almacenamiento ,SA-. as como las con/guracin de ada*tadores ,01A.$
versiones de los controladores$ carga de tra%a#o $etc2 3n *unto im*ortante "ue
!recuentemente se *asa *or alto es la alineacin en las *articiones de disco2
4a mala o errnea con/guracin del almacenamiento$ *ara el so!tware de
5icroso!t S64 Server$ *roduce *enali7acin en los tiem*os de I89 ,entradas &
salidas en disco.2 :l no reali7ar una alineacin de *articin correcta *uede
causar una degradacin del rendimiento2 4a alineacin de la *articin del disco
es un re"uisito *ara las *articiones8discos8vol(menes "ue e;igen un alto
rendimiento$ *ara los "ue se crearon dis*ositivos de disco en +AID en versiones
anteriores a Windows Server 200<$ donde era necesario a*licar dico
alineamiento2 0o& da$ gracias a Windows Server 200<$ se crea un
des*la7amiento inicial en las *articiones con un tama)o su/ciente ,=02>?%.
*ara "ue "ueden alineados$ casi con toda *ro%a%ilidad2
4os sistemas de almacenamiento modernos son lo su/cientemente com*le#os
como *ara "ue el vie#o modelos *ara re*resentar a los discos %asado en
@ilindros$ @a%e7as & Sectores ,@0S.$ o el es"uema 41A *ara direccionar la
in!ormacin "ue almacenan$ se *uedan considerar una mera sim*li/cacin
conce*tual2 Sin em%argo$ estos tres !actores tienen es*ecial relevancia en el
!enmeno del alineamiento8des alineamiento de las *articiones de un arra& de
discos2
Partition ofset: :sta ci!ra re*resenta el sector del disco a *artir del
cual em*ie7a la *articin & es la *rinci*al res*onsa%le de todo este #aleo2
:l 5aster 1oot +ecord ,51+.$ "ue ocu*a siem*re el *rimer sector del
disco ,A=2 B1.$ al%erga la ta%la de *articiones "ue locali7an la u%icacin
!sica de los di!erentes vol(menes$ la !amosa C/rmaD del disco & el
cdigo m"uina "ue se encarga de reci%ir el control de la 1I9S tras el
P9SE e invoca el cdigo del 1oot Sector de la *articin "ue estF activa$
"ue ser "uien comience a cargar los %inarios del sistema o*erativo2 4a
*rimera *articin no comien7a inmediatamente des*uFs$ en el segundo
sector$ sino "ue se des*la7a un cierto n(mero de ello2 :sto es as *or"ue
istricamente mucos sistemas o*erativos$ entre ellos Windows$
P g i n a | 2
o%liga%an a "ue las *articiones em*e7aran en el *rinci*io de un cilindro$
*or lo "ue el 51+ aca "ue u%iese "ue descartar la *rimera *ista del
disco ,*2e$ G3 sectores H G3 ; A=2 1 H 3=$A B1.
Stripe Unit Size: :n los sistemas en los "ue un volumen com*rende
ms de un disco !sico$ las controladoras de/nen un cierto tama)o *or
de!ecto *ara cada una de las %andas "ue se usarn *ara almacenar
datos & *aridades en los sistemas +AID2 :stas %andas suelen
com*render un cierto n(mero de sectores de cada disco & *or tanto su
tama)o ser un m(lti*lo del tama)o de sector2 Por lo general este es un
valor con/gura%le "ue de%e ser cuidadosamente elegido teniendo en
cuenta cmo la carga de tra%a#o va a reali7ar las o*eraciones de
lectura8escritura so%re el almacenamiento2 :l Windows Iolume 5anager
de/ne un valor de G> B1 *ara la Stri*e 3nit Si7e$ & las di!erentes
soluciones ardware *ueden es*eci/car valores "ue van desde > B1
asta = 51$ e incluso ms2
Allocation Unit' Eam%iFn llamado C@lusterD$ este valor re*resenta el
menor tama)o *osi%le "ue *uede ocu*ar un /cero2 Su valor *or de!ecto
de*ende del tama)o del volumen$ aun"ue se *uede es*eci/car
e;*lcitamente a la ora de !ormatear2 :n -EFS$ & *ara vol(menes de
ms de 2 J1$ es de > B1 & *uede tener un valor m;imo de G> B12 So%re
el *a*el$ *or cuestiones de a*rovecamiento de es*acio su valor de%e
a*ro;imarse al tama)o medio de /cero$ & *or ra7ones de rendimiento
al del Caverage dis? trans!er si7eD2
El alineamiento de las particiones se basa en buscar una buena
combinacin de los tres parmetros anteriores, de manera que una
cierta operacin de lectura/escritura no suponga tener que ir a buscar
los datos a ms de un disco de los que conforman el volumen. Si *ara
ciertas *eticiones tenemos "ue aca%ar le&endo o escri%iendo en di!erentes
discos$ la acumulacin de las mismas *uede conllevar una *Frdida de
rendimiento mu& signi/cativa2 Para evitar esto$ es im*ortante "ue las
siguientes relaciones den como resultado un n(mero entero'
Partition 9Kset 8 Stri*e Si7e 3nit
Stri*e Si7e 3nit 8 Allocation 3nit
P g i n a | 3
:sto se entiende mu& %ien con un el siguiente gr/co2 :n el vamos a su*oner
"ue la Stri*e Si7e 3nit es G> B1 & anali7aremos cinco casos en los "ue
usaremos di!erentes Partition 9Ksets & tama)os de cluster2 4amenta%lemente
no se *uede *intar %ien a escala$ *or lo "ue los guioncillos intermedios
re*resentan "ue la gr/ca se CestiraD *or ellos2 @ada sector re*resenta A=2
1&tes2
=2 Particin CdesalineadaD con un oKset de G3 sectores H G3 ; A=2 1 H
322AG 1 H 3=$A B1$ & con un tama)o de cluster de > B1' :n este caso$
el noveno %lo"ue de > B1 cae entre dos discos ,recordemos "ue el
di%u#o no est a escala & "ue ,G>L3=$A.8>H<$=.2 Desa!ortunadamente
este oKset es un valor *or de!ecto %astante com(n en el *asado2
22 Particin CcuasiLalineadaD con un oKset de G> sectores H G> ; A=2 1 H
32MG< 1 H 32 B1$ & con un tama)o de cluster de > B1' A"u nos ca%en
< %lo"ues e;actos de > B1 en la *rimera %anda & =G en las siguientes$
*ero ning(n cluster se e;*ande a ms de un disco2 @omo se *uede
o%servar$ la divisin del Partiton 9Kset & la Stri*e Si7e 3nit no da un
n(mero entero$ *or lo "ue no nos *odramos /ar2 @omo veremos en el
cuarto e#em*lo$ una variacin del tama)o de cluster *odra estro*ear
las cosas2
32 Particin CalineadaD con un oKset de =2< sectores H =2< ; A=2 1 H
GAA3G 1 H G> B1$ & con un tama)o de cluster de > B1' :n este caso$ el
oKset coincide e;actamente con el Stri*e Set 3nit2 Por consiguiente$
cual"uier situacin en la "ue este valor sea m(lti*lo del tama)o de
cluster de#a la *articin alineada2
>2 Particin CdesalineadaD con un oKset de G3 sectores H G3 ; A=2 1 H
322AG 1 H 3=$A B1$ & con un tama)o de cluster de G> B1' A"u emos
aumentado el tama)o del cluster al valor m;imo *ermitido en -EFS
,G> B1.$ "ue se recomienda *or e#em*lo *ara los vol(menes "ue va&an
a almacenar %ases de datos de :;cange o S642 :sta es la *eor
situacin *osi%le$ *or"ue cada o*eracin so%re un cluster siem*re nos
va a su*oner una do%le lectura o escritura en dos discos di!erentes2
P g i n a | 4
0emos usado G3 sectores como oKset$ *ero lo mismo u%iera dado
cual"uier valor "ue no sea =2< sectores$ "ue es #usto el (ltimo e#em*lo2
A2 Particin CalineadaD con un oKset de =2< sectores H =2< ; A=2 1 H
GAA3G 1 H G> B1$ & con un tama)o de cluster de G> B1' Aora emos
elegido el mismo valor ,G> B1. tanto *ara el Partition 9Kset$ el Stri*e
Si7e 3nit & la Allocation 3nit$ lo cual nos da de !orma inmediata una
*articin alineada2
4a %uena noticia es "ue el des alineamiento es !cil de detectar$ & tam%iFn es
!cil crear *articiones alineadas2 4a mala es "ue corregir la situacin a
*osteriori su*one re*articionar & !ormatear de nuevo2
@om*ro%ando si las *articiones estn o no alineadas
0a%ida cuenta de "ue conocemos el Stri*e Set 3nit "ue utili7a nuestro
almacenamiento$ el Partition 9Kset & el tama)o de cluster los *odemos
o%tener as'
wmic partition get BlockSize, StartingOset, !ame, "nde#$ De
a"u sacamos el 9Kset de cada *articin en %&tes2 1loc?Si7e se re/ere al
tama)o de sector2
wmic volume get %rive&etter, BlockSize, %evice"d$ :n este caso el
valor de 1loc?Si7e re*resenta la Allocation 3nit o tama)o de cluster del
sistema de arcivos2 Puede utili7arse tam%iFn el comando !sutil !sin!o
nt!sin!o Nletra unidad'O
P g i n a |
:l comando DISBPA+E tam%iFn muestra el 9Kset de las *articiones$ sin
em%argo no es de /ar$ *or"ue lo da en B1 & redondea2 :n el *rimer e#em*lo de
la gr/ca anterior nos u%iera enga)ado misera%lemente mostrando 32 B12
Si nos salen las cuentas$ estu*endos2 Si no$ nos es*era la tediosa tarea de
reacer nuestras *articiones$ con lo "ue eso su*one en lo tocante al
salvaguardado de los datos & su dis*oni%ilidad durante el *roceso2
!enerando particiones alineadas
@uando creamos una *articin so%re una 43- con Windows Server 200<$
Windows Iista o *osteriores$ &a se inclu&e *or de!ecto un oKset de = 51
,=0><AMG %&tes.2 :sto *roduce un alineamiento automtico *ara casi todos los
Stri*e Si7es *resentes en los sistemas de almacenamiento$ &a "ue = 51 es un
m(lti*lo de G> B1$ =2< B1$ 2AG B1 & A=2 B12 -o o%stante siem*re es *osi%le
a/nar o incrementar dico valor e;actamente igual "ue lo aremos en
Windows Server 2003$ o incluso de una manera ms elegante2 P@on/gurndolo
en el registroQ
"n Windows Server 2000 # Windows Server 2003 $sare%os las
&erra%ientas D'S(PA) # D'S(PA)*
3na ve7 creada la *articin$ la !ormatearemos usando el tama)o de cluster
deseado$ *ero recordando "ue la relacin Stri*e 3nit8Allocation 3nit de%e dar
tam%iFn un entero2 Sin em%argo es mu& im*ro%a%le "ue esto no sea as2
"li+iendo sa,ia%ente los valores de la Stripe Set Unit # Allocation Unit
antes de ponerse %anos a la o,ra
P g i n a | -
Desa!ortunadamente$ a"u no *odemos a%lar de la e;istencia de una regla
general2 :stos valores de%en ser elegidos en !uncin de la naturale7a de la
carga de tra%a#o$ teniendo en cuenta el %alance entre lecturas & escritoras$ si
sern secuenciales o aleatorias$ en %lo"ues de "uF tama)o se escri%ir8leer la
in!ormacin$ etc2$ & tam%iFn de cmo se com*ortan las cacFs & cada
almacenamiento en *articular2 Por eso es mu& !recuente encontrar guas
es*ec/cas de cada !a%ricante *ara las cargas de tra%a#o ms !recuentes2

You might also like