aboutsummaryrefslogtreecommitdiff
path: root/es_ES.ISO8859-1/books/handbook/geom/chapter.xml
blob: fa47c574552a84c967c47630793bd01cc6c68b4e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
<?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 &mdash;sectores de
      arranque maestros (MBR), etiquetas <acronym>BSD</acronym>, etc&mdash; por
      medio del uso de proveedores, o de los ficheros especiales de
      <filename role="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
        role="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 role="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>&gt;&gt; /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"' &gt;&gt; /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 role="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 role="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 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 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 &amp;&amp; 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" &gt; /boot.config</userinput></screen>

    <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /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"' &gt;&gt; /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>