443 lines
17 KiB
XML
443 lines
17 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!--
|
|
The FreeBSD Spanish Documentation Project
|
|
|
|
The FreeBSD Spanish Documentation Project
|
|
|
|
|
|
%SOURCE% en_US.ISO8859-1/books/handbook/geom/chapter.xml
|
|
%SRCID% 1.15
|
|
|
|
$FreeBSD$
|
|
|
|
$FreeBSDes$
|
|
|
|
Original revision: 1.15
|
|
|
|
-->
|
|
|
|
<chapter id="GEOM">
|
|
<chapterinfo>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Tom</firstname>
|
|
<surname>Rhodes</surname>
|
|
<contrib>Escrito por </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</chapterinfo>
|
|
|
|
<title>GEOM: Marco de trabajo modular de transformación de discos</title>
|
|
&trans.es.quique;
|
|
|
|
<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ítulo explica el uso de discos bajo el marco de
|
|
trabajo GEOM en &os;. Esto incluye las principales utilidades de control
|
|
de <acronym role="Redundant Array of Inexpensive Disks -
|
|
Agrupación Redundante de Discos Económicos">RAID</acronym>
|
|
que usan el marco de trabajo para su configuración.
|
|
Este capítulo no se adentrará en un examen en profundidad
|
|
de como GEOM maneja o controla la E/S, el subsistema subyacente, o el
|
|
código.
|
|
Esta información se proporciona en la página de manual
|
|
&man.geom.4; y sus diversas referencias VEA TAMBIÉN.
|
|
Este capítulo tampoco es una guía definitiva de
|
|
configuraciones <acronym>RAID</acronym>. Sólo se examinan las
|
|
clasificaciones de <acronym>RAID</acronym> que puede usar GEOM.</para>
|
|
|
|
<para>Tras leer este capítulo, sabrá:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Que tipo de soporte para <acronym>RAID</acronym> está
|
|
disponible a través de GEOM.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Como utilizar las utilidades base para configurar, mantener,
|
|
y manipular los diversos niveles de <acronym>RAID</acronym>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Como replicar, unir, cifrar, y conectar remotamente dispositivos
|
|
de disco por medio de GEOM.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Como solucionar problemas con los discos adscritos al marco de
|
|
trabajo GEOM.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Antes de leer este capítulo, debería:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Entender como trata &os; a los dispositivos de disco
|
|
(<xref linkend="disks"/>).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Saber como configurar e instalar un nuevo núcleo de &os;
|
|
(<xref linkend="kernelconfig"/>).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
<sect1 id="GEOM-intro">
|
|
<title>Introducción a GEOM</title>
|
|
|
|
<para>GEOM permite el acceso y control de clases —sectores de
|
|
arranque maestros (MBR), etiquetas <acronym>BSD</acronym>, etc— por
|
|
medio del uso de proveedores, o de los ficheros especiales de
|
|
<filename class="directory">/dev</filename>.
|
|
Capaz de trabajar con varias configuraciones de <acronym>RAID</acronym>
|
|
por software, GEOM proporcionará transparentemente acceso al
|
|
sistema operativo y las utilidades del mismo.</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 - Distribución por bandas</title>
|
|
|
|
<indexterm>
|
|
<primary>GEOM</primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>Striping</primary>
|
|
</indexterm>
|
|
|
|
<para>La distribución por bandas (striping) es un método que
|
|
se usa para combinar varias unidades de disco en un único volumen.
|
|
En muchos casos, esto se hace usando controladoras por hardware. El
|
|
subsistema de discos GEOM proporciona soporte por software para
|
|
<acronym>RAID</acronym>0, también conocido como discos
|
|
configurados en bandas.</para>
|
|
|
|
<para>En un sistema <acronym>RAID</acronym>0, los datos se dividen en
|
|
bloques que son escritos por todas las unidades de la agrupación.
|
|
En lugar de tener que esperar a que el sistema escriba 256 kB en un
|
|
disco, un sistema <acronym>RAID</acronym>0 puede escribir simultáneamente
|
|
64 kB en cada uno de los cuatro discos, ofreciendo un superior
|
|
rendimiento de E/S. Este rendimiento se puede mejorar aún
|
|
más usando varias controladoras de disco.</para>
|
|
|
|
<para>Cada uno de los discos de una banda <acronym>RAID</acronym>0 debe ser
|
|
del mismo tamaño, pues las peticiones de E/S están
|
|
intercaladas para leer o escribir en varios discos en paralelo.</para>
|
|
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="geom/striping" align="center"/>
|
|
</imageobject>
|
|
|
|
<textobject>
|
|
<phrase>Ilustració de la distribución por bandas de
|
|
los discos</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
|
|
<procedure>
|
|
<title>Creación de una banda de discos ATA sin formatear</title>
|
|
|
|
<step><para>Cargue el módulo <filename>geom_stripe</filename>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>kldload geom_stripe.ko</userinput></screen>
|
|
</step>
|
|
|
|
<step><para>Asegúrese de que existe un punto de montaje adecuado.
|
|
Si este volumen se convertirá en una partición raíz,
|
|
utilice temporalmente otro punto de montaje, como <filename
|
|
class="directory">/mnt</filename>.</para>
|
|
|
|
<screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
|
|
</step>
|
|
|
|
<step><para>Determine los nombres de dispositivo de los discos que
|
|
serán configurados en bandas, y cree el nuevo dispositivo de
|
|
banda. Por ejemplo, podría utilizar la siguiente orden para configurar
|
|
en bandas dos discos <acronym>ATA</acronym> sin usar ni particionar:
|
|
<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 se va a usar este volumen como dispositivo raíz
|
|
para arrancar el sistema, debe ejecutar la siguiente orden antes de
|
|
crear el sistema de ficheros:</para>
|
|
|
|
<screen>&prompt.root; <userinput>fdisk -vBI /dev/stripe/st0</userinput></screen>
|
|
</step>
|
|
|
|
<step><para>Se debe crear una tabla de particiones en el nuevo volumen con la
|
|
siguiente orden:</para>
|
|
|
|
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>
|
|
|
|
</step>
|
|
|
|
<step><para>Aademás del dispositivo <filename>st0</filename>,
|
|
este proceso debería haber creado otros dos
|
|
dispositivos en el directorio
|
|
<filename class="directory">/dev/stripe</filename>, incluyendo
|
|
<filename>st0a</filename> y <filename>st0c</filename>.
|
|
Ahora se debe crear un sistema de ficheros en el dispositivo
|
|
<filename>st0a</filename> usando la siguiente orden
|
|
<command>newfs</command>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen>
|
|
|
|
<para>Por la pantalla se deslizarán muchos números, y al
|
|
cabo de unos pocos segundos, el proceso habrá finalizado. El
|
|
volumen ha sido creado y está preparado para ser montado:</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Se puede usar la siguiente orden para montar manualmente una banda de
|
|
discos recién creada:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>
|
|
|
|
<para>Para montar automáticamente este sistema de ficheros distribuido
|
|
por bandas durante el proceso de arranque, ponga la información
|
|
del volumen en el fichero <filename>/etc/fstab</filename>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>echo "/dev/stripe/st0a /mnt ufs rw 2 2" \</userinput>
|
|
<userinput>>> /etc/fstab</userinput></screen>
|
|
|
|
<para>También se debe cargar automáticamente durante la
|
|
inicialización del sistema el módulo geom, añadiendo
|
|
una línea a <filename>/boot/loader.conf</filename>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' >> /boot/loader.conf</userinput></screen>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="GEOM-mirror">
|
|
<title>RAID1 - Replicación</title>
|
|
|
|
<indexterm>
|
|
<primary>GEOM</primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>Disk Mirroring</primary>
|
|
</indexterm>
|
|
|
|
<para>La replicación es una tecnologín que usan muchas
|
|
empresas y usuarios para hacer copias de respaldo de sus datos sin
|
|
interrupciones. Cuando hay una réplica, simplemente
|
|
significa que el discoB replica al discoA. O, quizá el discoC+D
|
|
replica al discoA+B. Al margen de la configuración de los discos,
|
|
lo importante es que la información de un disco o
|
|
partición está siendo replicada. Más adelante se
|
|
podría restaurar esa información más
|
|
fácilmente, hacerse una copia de respaldo sin provocar
|
|
intrrupciones de servicio o acceso, e incluso almacenarla
|
|
físicamente en una caja fuerte para datos.</para>
|
|
|
|
<para>Para empezar, asegúrese de que el sistema tiene dos unidades
|
|
de disco del mismo tamaño, eb este ejercicio se supone que son discos
|
|
<acronym>SCSI</acronym> de acceso directo (&man.da.4;).</para>
|
|
|
|
<para>Comience por instalar &os; en el primer disco con sólo dos
|
|
particiones. Una debería ser una partición de intercambio,
|
|
de dos veces el tamaño de la <acronym>RAM</acronym>, y todo el
|
|
espacio restante se dedicará al sistema de ficheros raíz
|
|
(<filename class="directory">/</filename>).
|
|
Es posible tener particiones aparte para otros puntos de montajes; sin
|
|
embargo, esto multiplicará por diez el nivel de dificultad, debido
|
|
a la alteración manual de las opciones de &man.bsdlabel.8; y
|
|
&man.fdisk.8;.</para>
|
|
|
|
<para>Reinicie y espere a que el sistema se inicie por completo. Una vez
|
|
haya finalizado este proceso, ingrese como usuario
|
|
<username>root</username>.</para>
|
|
|
|
<para>Cree el dispositivo <filename>/dev/mirror/gm</filename> y
|
|
enlácelo a <filename>/dev/da1</filename>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>gmirror label -vnb round-robin gm0 /dev/da1</userinput></screen>
|
|
|
|
<para>El sistema debería responder con:</para>
|
|
<screen>
|
|
Metadata value stored on /dev/da1.
|
|
Done.</screen>
|
|
|
|
<para>Inicialice GEOM, esto cargará el módulo del
|
|
núcleo <filename>/boot/kernel/geom_mirror.ko</filename>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>gmirror load</userinput></screen>
|
|
|
|
<note>
|
|
<para>Esta orden debería haber creado en el directorio
|
|
<filename class="directory">/dev/mirror</filename> los nodos de
|
|
dispositivo <filename>gm0</filename>, <filename>gm0s1</filename>,
|
|
<filename>gm0s1a</filename>, y <filename>gm0s1c</filename>.</para>
|
|
</note>
|
|
|
|
<para>Instale una etiqueta genérica <command>fdisk</command> y
|
|
el código de arranque en el recién creado dispositivo
|
|
<filename>gm0</filename>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen>
|
|
|
|
<para>Ahora instale la información <command>bsdlabel</command>
|
|
genérica:</para>
|
|
|
|
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/mirror/gm0s1</userinput></screen>
|
|
|
|
<note>
|
|
<para>Si hay varias slices (rodajas) y particiones, necesitará
|
|
modificar las opciones de las dos órdenes anteriores. Deben
|
|
coincidir con la slice y tamaño de partición del otro
|
|
disco.</para>
|
|
</note>
|
|
|
|
<para>Utilice la utilidad &man.newfs.8; para crear un sistema de ficheros
|
|
predefinido en nodo de dispositivo <filename>gm0s1a</filename>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen>
|
|
|
|
<para>Esto debería haber hecho que el sistema mostrara alguna
|
|
información y un puñado de números. Esto es bueno.
|
|
Examine la pantalla por si hay algún mensaje de error y monte el
|
|
dispositivo en el punto de montaje
|
|
<filename class="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 a este nuevo
|
|
sistema de ficheros. Este ejemplo usa las órdenes &man.dump.8;
|
|
y &man.restore.8;; aunque, &man.dd.1; también debería
|
|
funcionar en este escenario. Evitamos utilizar &man.tar.1; porque no
|
|
copiará el código de arranque. De ese modo, el fallo
|
|
estaría garantizado.</para>
|
|
|
|
<screen>&prompt.root; <userinput>dump -L -0 -f- / |(cd /mnt && restore -r -v -f-)</userinput></screen>
|
|
|
|
<para>Se debe hacer esto para cada sistema de ficheros. Simplemente
|
|
ponga el sistema de ficheros adecuado en la ubicación correcta
|
|
al ejecutar la orden mencionada.</para>
|
|
|
|
<para>Ahora edite el fichero replicado <filename>/mnt/etc/fstab</filename>
|
|
y elimine o comente el fichero swap
|
|
<footnote>
|
|
<para>Debe advertirse que comentar la entrada del fichero swap en
|
|
<filename>fstab</filename> probablemente le obligará a
|
|
reestablecer una manera diferente de habilitar el espacio de
|
|
intercambio. Consulte <xref linkend="adding-swap-space"/> para
|
|
más información.</para>
|
|
</footnote>. Cambie la información del otro sistema de ficheros
|
|
para que utilice el nuevo disco. Vea el siguiente ejemplo:</para>
|
|
|
|
<programlisting># Device Mountpoint FStype Options Dump Pass#
|
|
#/dev/da0s2b none swap sw 0 0
|
|
/dev/mirror/gm0s1a / ufs rw 1 1</programlisting>
|
|
|
|
<para>Ahora cree un fichero <filename>boot.conf</filename> tanto en la
|
|
partición actual como en la nueva partición raíz.
|
|
Este fichero <quote>ayudará</quote> al <acronym>BIOS</acronym>
|
|
del sistema a arrancar la unidad correcta:</para>
|
|
|
|
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" > /boot.config</userinput></screen>
|
|
|
|
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" > /mnt/boot.config</userinput></screen>
|
|
|
|
<note>
|
|
<para>Lo hemos colcoado en ambas particiones raíz para asegurar un
|
|
arranque correcto. Si por alguna razón el sistema no pudiera
|
|
leer en la nueva partición raíz, está disponible
|
|
un arranque a prueba de fallos.</para>
|
|
</note>
|
|
|
|
<para>Ahora agregue la siguiente línea al nuevo
|
|
<filename>/boot/loader.conf</filename>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf</userinput></screen>
|
|
|
|
<para>Esto le dice a la utilidad &man.loader.8; que cargue el
|
|
<filename>geom_mirror.ko</filename> durante la inicializació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 debería haber arrancado desde
|
|
el dispositivo <filename>gm0s1a</filename>, y un prompt
|
|
<command>login</command> debería estar a la espera. Si algo fue
|
|
mal, consulte la sección posterior de resolución de
|
|
problemas. 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 opción <option>-a</option> le dice a &man.gmirror.8; que
|
|
use sincronización automática; por ejemplo, que replique
|
|
las escrituras en disco automáticamente. La página de
|
|
manual explica como reconstruir y reemplazar discos, aunque utiliza
|
|
<filename>data</filename> en vez de <filename>gm0</filename>.</para>
|
|
|
|
<sect2>
|
|
<title>Resolución de problemas</title>
|
|
|
|
<sect3>
|
|
<title>El sistema se niega a arrancar</title>
|
|
|
|
<para>Si el sistema arranca hasta un prompt similar a:</para>
|
|
|
|
<programlisting>ffs_mountroot: can't find rootvp
|
|
Root mount failed: 6
|
|
mountroot></programlisting>
|
|
|
|
<para>Reinicie la máquina utilizando el botón de
|
|
encendido o el de reset. En el menú de arranque, seleccione
|
|
la opción seis (6). Esto llevará al sistema a un
|
|
prompt de &man.loader.8;. Cargue el módulo del núcleo
|
|
manualmente:</para>
|
|
|
|
<screen>OK? <userinput>load geom_mirror.ko</userinput>
|
|
OK? <userinput>boot</userinput></screen>
|
|
|
|
<para>Si esto funciona, es que por alguna razón el módulo
|
|
no se cargaba correctamente. Ponga:</para>
|
|
|
|
<programlisting>options GEOM_MIRROR</programlisting>
|
|
|
|
<para>en el fichero de configuración del núcleo,
|
|
recompile y reinstale. Esto debería solucionar el problema.</para>
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>
|