- Add GEOM chapter.

This commit is contained in:
Jesus Rodriguez Cuesta 2005-11-12 20:45:30 +00:00
parent bdcd5c7663
commit cdf90e95d3
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=26327
4 changed files with 445 additions and 0 deletions
es_ES.ISO8859-1/books/handbook

View file

@ -41,6 +41,7 @@ IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps
IMAGES_EN+= advanced-networking/natd.eps
IMAGES_EN+= advanced-networking/net-routing.pic
IMAGES_EN+= advanced-networking/static-routes.pic
IMAGES_EN+= geom/striping.pic
IMAGES_EN+= install/adduser1.scr
IMAGES_EN+= install/adduser2.scr
IMAGES_EN+= install/adduser3.scr
@ -159,6 +160,7 @@ SRCS+= config/chapter.sgml
SRCS+= cutting-edge/chapter.sgml
SRCS+= disks/chapter.sgml
SRCS+= eresources/chapter.sgml
SRCS+= geom/chapter.sgml
SRCS+= install/chapter.sgml
SRCS+= introduction/chapter.sgml
SRCS+= kernelconfig/chapter.sgml

View file

@ -43,6 +43,7 @@
<!ENTITY % chap.printing "IGNORE">
<!ENTITY % chap.disks "IGNORE">
<!ENTITY % chap.vinum "IGNORE">
<!ENTITY % chap.geom "IGNORE">
<!ENTITY % chap.x11 "IGNORE">
<!ENTITY % chap.l10n "IGNORE">
<!ENTITY % chap.multimedia "IGNORE">
@ -280,6 +281,7 @@
<![ %chap.security; [ &chap.security; ]]>
<![ %chap.mac; [ &chap.mac; ]]>
<![ %chap.disks; [ &chap.disks; ]]>
<![ %chap.geom; [ &chap.geom; ]]>
<![ %chap.vinum; [ &chap.vinum; ]]>
<![ %chap.l10n; [ &chap.l10n; ]]>
<![ %chap.cutting-edge; [ &chap.cutting-edge; ]]>

View file

@ -38,6 +38,7 @@
<!ENTITY chap.security SYSTEM "security/chapter.sgml">
<!ENTITY chap.mac SYSTEM "mac/chapter.sgml">
<!ENTITY chap.disks SYSTEM "disks/chapter.sgml">
<!ENTITY chap.geom SYSTEM "geom/chapter.sgml">
<!ENTITY chap.vinum SYSTEM "vinum/chapter.sgml">
<!ENTITY chap.l10n SYSTEM "l10n/chapter.sgml">
<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml">

View file

@ -0,0 +1,440 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="GEOM">
<chapterinfo>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Escrito por </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>GEOM: Infraestructura modular de trasformaci&oacute;n de
disco</title>
<sect1 id="GEOM-synopsis">
<title>Sinopsis</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>GEOM Disk Framework</primary>
<see>GEOM</see>
</indexterm>
<para>Este cap&iacute;tulo cubre el uso de discos bajo la
infraestructura GEOM en &os;. Esto incluye las mayores
utilidades de control <acronym
role="Redundant Array of Inexpensive Disks">RAID</acronym>
las cuales utilizan la infraestructura para su
configuraci&oacute;n. Este cap&iacute;tulo no entrar&aacute;
en una discusi&oacute;n detallada sobre como GEOM maneja
o controla E/S, el subsistema subyacente o el c&oacute;digo.
Esta informaci&oacute;n se da a trav&eacute;s de la
p&aacute;gina de manual &man.geom.4; y en sus varias
referencias. Este cap&iacute;tulo no es una gu&iacute;a
definitiva de configuraciones <acronym>RAID</acronym>. Solo
las clasificaciones de <acronym>RAID</acronym> soportadas
por GEOM ser&aacute;n discutidas.</para>
<para>Despues de leer este cap&iacute;tulo, usted sabr&aacute;:</para>
<itemizedlist>
<listitem>
<para>Que tipo de soporte para <acronym>RAID</acronym> est&aacute;
disponible a trav&eacute;s de GEOM.</para>
</listitem>
<listitem>
<para>Como utilizar las utilidades base para configurar,
mantener y manipular los varios niveles de
<acronym>RAID</acronym>.</para>
</listitem>
<listitem>
<para>Como hacer un espejo, unir (stripe), encriptar y conectar
remotamente dispositivos de disco a trav&eacute;s de GEOM.</para>
</listitem>
<listitem>
<para>Como determinar errores de discos conectados
a la infraestructura GEOM.</para>
</listitem>
</itemizedlist>
<para>Antes de leer este cap&iacute;tulo, usted debe:</para>
<itemizedlist>
<listitem>
<para>Entender como &os; trata los dispositivos
de disco (<xref linkend="disks">).</para>
<listitem>
<para>Saber como configurar e instalar un nuevo kernel
&os; (<xref linkend="kernelconfig">).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="GEOM-intro">
<title>Introducci&oacute;n a GEOM</title>
<para>GEOM permite acceso y control a clases &mdash; registros
maestros de arranque, etiquetas (labels) <acronym>BSD</acronym>,
etc &mdash; a trav&eacute;s del uso de proveedores, o de los
archivos especiales en <filename role="directory">/dev</filename>.
Soportando varias configuraciones de <acronym>RAID</acronym> por
software, GEOM brindar&aacute; acceso transparente al sistema
operativo y a las utilidades del sistema operativo.</para>
</sect1>
<sect1 id="GEOM-striping">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Escrito por </contrib>
</author>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
</author>
</authorgroup>
</sect1info>
<title>RAID0 - Uni&oacute;n (Striping)</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Stripping</primary>
</indexterm>
<para>La uni&oacute;n es un m&eacute;todo utilizado para combinar
varias unidades de disco en un solo volumen. En muchos casos, esto
es realizado a trav&eacute;s del uso de controladores de hardware.
El subsistema de discos GEOM brinda soporte por software para
<acronym>RAID</acronym>0, tambi&eacute;n conocido como
striping de disco.</para>
<para>En un sistema <acronym>RAID</acronym>0, los datos son
divididos en bloques que son escritos a lo largo de todas
las unidades en el arreglo. En lugar de tener que esperar
que el sistema escriba 256k a un disco, un sistema
<acronym>RAID</acronym>0 puede escribir simultaneamente 64k
a cada uno de los cuatro discos diferentes, ofreciendo
un desempe&ntilde;o superior de E/S. Este desempe&ntilde;o
puede ser mejorado utilizando diferentes controladores de
disco.</para>
<para>Cada disco en una uni&oacute;n <acronym>RAID</acronym>0
debe ser del mismo tama&ntilde;o, ya que las peticiones E/S
son intercaladas para leer o escribir a discos m&uacute;ltiples
en paralelo.</para>
<mediaobject>
<imageobject>
<imagedata fileref="geom/striping" align="center">
</imageobject>
<textobject>
<phrase>Disk Striping Illustration</phrase>
</textobject>
</mediaobject>
<procedure>
<title>Creando una uni&oacute;n de discos ATA no formateados</title>
<step><para>Cargue el m&oacute;dulo <filename>geom_stripe</filename>:</para>
<screen>&prompt.root; <userinput>kldload geom_stripe.ko</userinput></screen>
</step>
<step><para>Aseg&uacute;rese que existe un punto de montaje adecuado.
Si este volumen se convertir&aacute; en una partici&oacute;n
ra&iacute;z, entonces utilice temporalmente otro punto de
montaje como <filename role="directory">/mnt</filename>.</para>
<screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
</step>
<step><para>Determine los nombres de dispositivo para los
discos que ser&aacute;n unidos, y proceda a crear el nuevo
dispositivo de uni&oacute;n. Por ejemplo, el siguiente comando
puede ser utilizado para unir dos discos <acronym>ATA</acronym>
no particionados:
<filename>/dev/ad2</filename> y
<filename>/dev/ad3</filename>.</para>
<screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput></screen>
<!--
<para>A message should be returned explaining that meta data has
been stored on the devices.
XXX: What message? Put it inside the screen output above.
-->
</step>
<step><para>Si este volumen ser&aacute; utilizado como un
dispositivo ra&iacute;z para arrancar el sistema, entonces
el siguiente comando debe ser ejecutado antes de crear
los sistemas de archivo:</para>
<screen>&prompt.root; <userinput>fdisk -vBI /dev/stripe/st0</userinput></screen>
</step>
<step><para>Una tabla de partici&oacute;n debe ser creada en el
nuevo volumen con el siguiente comando:</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>
</step>
<step><para>Este proceso debe hacer creado otros dos dispositivos
en el directorio <filename role="directory">/dev/stripe</filename>
adem&aacute;s del dispositivo <filename>st0</filename>.
Estos incluyen a <filename>st0a</filename> y
<filename>st0c</filename>. Ahora debe ser creado un sistema de
archivos en el dispositivo <filename>st0a</filename> utilizando
el siguiente comando <command>newfs</command>:</para>
<screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen>
<para>Muchos n&uacute;meros aparecer&aacute;n en la pantalla, y
despues de unos cuantos segundos, el proceso se completar&aacute;.
El volumen ha sido creado y est&aacute; listo para montarse:</para>
</step>
</procedure>
<para>El siguiente comando puede ser utilizado para montar
manualmente una uni&oacute;n reci&eacute;n creada:</para>
<screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>
<para>Para montar esta uni&oacute;n de sistemas de archivos durante
el proceso de arranque, coloque la informaci&oacute;n del volumen
en el archivo <filename>/etc/fstab</filename>:</para>
<screen>&prompt.root; <userinput>echo "/dev/stripe/st0a /mnt ufs rw 2 2" \</userinput>
<userinput>&gt;&gt; /etc/fstab</userinput></screen>
<para>El m&oacute;dulo geom tambi&eacute;n debe ser cargado
automaticamente durante la inicializaci&oacute;n del
sistema, agregando una l&iacute;nea a
<filename>/boot/loader.conf</filename>:</para>
<screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
</sect1>
<sect1 id="GEOM-mirror">
<title>RAID1 - Espejando</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Espejando discos</primary>
</indexterm>
<para>El espejado es una tecnolog&iacute;a utilizada por muchas
corporaciones y usuarios caseros para respaldar datos sin
interrupci&oacute;n. Cuando existe un espejo, simplemente
significa que discoB replica a discoA. O, quiz&aacute;s discoC+D
replica a discoA+B. Sin importar la configuraci&oacute;n de disco,
el aspecto importante es que la informaci&oacute;n en un disco
o partici&oacute;n est&aacute; siendo replicada. Despues, esa
informaci&oacute;n puede ser m&aacute;s facilmente restaurada,
respaldada sin provocar interrupci&oacute;n de los servicios
o accesos, e incluso ser almacenada fisicamente en una caja de
seguridad para datos.</para>
<para>Para empezar, aseg&uacute;rese que el sistema tiene dos discos
de igual tama&ntilde;o, este ejercicio asume que son discos
<acronym>SCSI</acronym> con acceso directo (&man.da.4;).</para>
<para>Empiece instalando &os; en el primer disco con solo dos
particiones. Una debe ser la partici&oacute;n swap, el doble
del tama&ntilde;o de la <acronym>RAM</acronym> y todo el
espacio restante para el sistema de archivos ra&iacute;z
(<filename role="directory">/</filename>). Es posible tener
particiones separadas para otros puntos de montaje; sin
embargo, esto incrementar&aacute; el nivel de dificultad
debido a la alteraci&oacute;n manual de las configuraciones
de &man.bsdlabel.8; y &man.fdisk.8;.</para>
<para>Reinicie y espere a que el sistema inicialice completamente.
Una vez que este proceso se ha completado, entre como el usuario
<username>root</username>.</para>
<para>Cr&eacute;e el dispositivo <filename>/dev/mirror/gm</filename>
y enl&aacute;celo a <filename>/dev/da1</filename>:</para>
<screen>&prompt.root; <userinput>gmirror label -vnb round-robin gm0 /dev/da1</userinput></screen>
<note>
<para>Este comando deber&iacute;a haber creado los nodos de dispositivo
<filename>gm0</filename>, <filename>gm0s1</filename>,
<filename>gm0s1a</filename> y <filename>gm0s1c</filename>
en el directorio <filename role="directory">/dev/mirror</filename>.</para>
</note>
<para>Inicialize GEOM; esto cargar&aacute; el m&oacute;dulo
del kernel <filename>/boot/kernel/geom_mirror.ko</filename>:</para>
<screen>&prompt.root; <userinput>geom load</userinput></screen>
<para>Instale una etiqueta <command>fdisk</command> gen&eacute;rica
y c&oacute;digo de arranque para el dispositivo reci&eacute;n
creado <filename>gm0</filename>:</para>
<screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen>
<para>Ahora instale informaci&oacute;n <command>bsdlabel</command>
gen&eacute;rica:</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/mirror/gm0s1</userinput></screen>
<note>
<para>Si existen porciones y particiones m&uacute;ltiples, las
banderas para los dos comandos previos necesitar&aacute;n una
alteraci&oacute;n. Deben ser igual al tama&ntilde;o de la
porci&oacute;n y de la partici&oacute;n del otro disco.</para>
</note>
<para>Use la utilidad &man.newfs.8; para crear un sistema de
archivos por omisi&oacute;n en el nodo de dispositivo
<filename>gm0s1a</filename>:</para>
<screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen>
<para>Esto debe haber causado que el sistema escupa alguna
informaci&oacute;n y varios n&uacute;meros. Esto es bueno.
Examine la pantalla por cualquier error y monte el dispositivo
en el punto de montaje <filename role="directory">/mnt</filename>:</para>
<screen>&prompt.root <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>
<para>Ahora mueva todos los datos del disco de arranque hacia
este nuevo sistema de archivos. Este ejemplo utiliza los
comandos &man.dump.8; y &man.restore.8;; de todas maneras,
&man.dd.1; tambien funcionar&iacute;a en este escenario.
Evitamos utilizar &man.tar.1; porque no copiar&aacute; el
c&oacute;digo de arranque. De esa manera, el fallo estar&iacute;a
garantizado.</para>
<screen>&prompt.root; <userinput>dump -L -0 -f- / |(cd /mnt && restore -r -v -f-)</userinput></screen>
<para>Esto debe realizarse para cada sistema de archivos.
Simplemente coloque el sistema de archivos apropiado en la
localidad correcta al ejecutar el mencionado comando.</para>
<para>Ahora edite el archivo replicado <filename>/mnt/etc/fstab</filename>
y elimine o comente el archivo swap. Cambie la informaci&oacute;n
de los otros sistemas de archivos para que utilicen el nuevo
disco. Vea el siguiente ejemplo:</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
#/dev/da0s2b none swap sw 0 0
/dev/mirror/gm0sa1 / ufs rw 1 1</programlisting>
<para>Ahora cr&eacute;e un archivo <filename>boot.conf</filename>
en la partici&oacute;n ra&iacute;z actual y tambi&eacute;n en
la nueva partici&oacute;n ra&iacute;z. Este archivo
<quote>ayudar&aacute;</quote> al <acronym>BIOS</acronym> del
sistema a arrancar la unidad correcta:</para>
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /boot.config</userinput></screen>
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /mnt/boot.config</userinput></screen>
<note>
<para>La hemos colocado en ambas particiones ra&iacute;z para
asegurar el arranque correcto. Si por alguna raz&oacute;n
el sistema no puede leer desde la nueva partici&oacute;n
ra&iacute;z, un respaldo est&aacute; disponible.</para>
</note>
<para>Ahora agregue la siguiente l&iacute;nea a
<filename>/boot/loader.conf</filename>:</para>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
<para>Esto le instruir&aacute; a la utilidad &man.loader.8;
que cargue <filename>geom_mirror.ko</filename> durante la
inicializaci&oacute;n del sistema.</para>
<para>Reinicie el sistema:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>Si todo ha ido bien, el sistema debe haber arrancado desde el
dispositivo <filename>gm0s1a</filename> y un prompt de
<command>login</command> debe estar esperando. Si algo estuvo
mal, revise la siguiente secci&oacute;n de determinaci&oacute;n
de errores. Ahora agregue el disco <filename>da0</filename> al
dispositivo <filename>gm0</filename>:</para>
<screen>&prompt.root; <userinput>gmirror configure -a gm0</userinput>
&prompt.root; <userinput>gmirror insert gm0 /dev/da0</userinput></screen>
<para>La bandera <option>-a</option> le dice a &man.gmirror.8;
que utilice sincronizaci&oacute;n autom&aacute;tica; ej.,
espejar las escrituras a disco automaticamente. La p&aacute;gina
de manual explica como reconstruir y reemplazar discos,
aunque utiliza <filename>data</filename> en lugar de
<filename>gm0</filename>.</para>
<sect2>
<title>Determinando errores</title>
<sect3>
<title>El sistema se niega a arrancar</title>
<para>Si el sistema arranca y se queda en un prompt similar a:</para>
<programlisting>ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot></programlisting>
<para>Reinicie la m&aacute;quina utilizando el bot&oacute;n
de power o reset. En el menu de arranque seleccione la
opci&oacute;n seis (6). Esto mandar&aacute; al sistema a
un prompt de &man.loader.8;. Cargue el m&oacute;dulo del
kernel manualmente:</para>
<screen>OK? <userinput>load geom_mirror.ko</userinput>
OK? <userinput>boot</userinput></screen>
<para>Si esto funciona, entonces por alg&uacute;n motivo el
m&oacute;dulo no esta siendo cargado apropiadamente.
Coloque:</para>
<programlisting>options GEOM_MIRROR</programlisting>
<para>en el archivo de configuraci&oacute;n del kernel, reconstruya
y reinstale. Eso debe remediar este asunto.</para>
</sect3>
</sect2>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->