opensuse
[Arriba] [Todas las Listas]

Re: [opensuse] REDADA de software vs REDADA de BIOS

To: SUSE Linux <opensuse@xxxxxxxxxxxx>
Subject: Re: [opensuse] REDADA de software vs REDADA de BIOS
From: "Brian K. White" <brian@xxxxxxxxx>
Date: Thu, 15 Sep 2011 11:54:44 -0400
Delivered-to: opensuse@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 15 Sep 2011 11:55:06 -0400
Envelope-to: traductor@xxxxxxxxxxx
In-reply-to: <4E71CE83.8030702@rogers.com>
List-archive: <http://lists.opensuse.org/opensuse/>
List-help: <mailto:opensuse+help@opensuse.org>
List-owner: <mailto:opensuse+owner@opensuse.org>
List-post: <mailto:opensuse@opensuse.org>
List-subscribe: <mailto:opensuse+subscribe@opensuse.org>
List-unsubscribe: <mailto:opensuse+unsubscribe@opensuse.org>
Mailing-list: contact opensuse+help@xxxxxxxxxxxx; run by mlmmj
Organization: Aljex Software Inc.
References: <4E6FFFBE.102@gmail.com> <4E70011E.5010101@gmail.com> <j4phqn$qpp$2@saturn.local.net> <4E71CE83.8030702@rogers.com>
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2
En 9/15/2011 6:08 AM, James *Knott escribió:
Por *Jessen escribió:
John *Andersen escribió:

En uno cronometra había un problema habiendo /bota en redada, y su sido un
mientras desde entonces tuve que *reconfigure una caja fresca, así que no sé si esto
es todavía el caso.
Con *lilo lo trabaja bien, pero no sé sobre *grub.



No trabaja con *grub. Con REDADA y también *LVM, /la bota tiene que ser en
una partición regular. Yo recientemente montado un *server con cuatro 1 TB paseos,
con *LVM en REDADA 4. Creé una 2 partición de GB para aguantar /bota y utilizado
el otro 3 2 GB particiones para *swap. Todo más es en el *LVM en
REDADA. Aquel sistema  pronto también tiene el dato respaldado hasta otro
ordenador en un país diferente.

Trabaja bien, justo tiene que ser redada1.

Yo normalmente no de hecho hacer esto más sencillamente porque no es valor el descalabro, pero justo para referencia, es perfectamente *doable y trabajos bien. En unos cuantos casos donde para cualquier razón no puedo instalar un *usb paseo de pulgar para chutar de todavía hago esto.

* Haces una partición de bota pequeña en un paseo,
* *fdisk tipo "*fd" *linux redada *autodetect,
* marca él *bootable,
* clon la mesa de partición a todos otros paseos,
* crear una redada1 variedad utilizando toda la partición-1,
* bota puesta en aquella variedad en *yast,

Y eres bastante mucho hecho. Cuándo el *bios botas, elige uno de los paseos, chuta *grub de que conduce *mbr o de que conduce *bootable partición, *grub lee es archivos justo bien de cualquier paseo el *bios pasado para elegir como el paseo de bota, *grub no sabe o coche que el *filesystem está leyendo es normalmente un miembro de una redada1 variedad. En tiempo de bota es justo un sencillo *filesystem en una partición sencilla. Los factores importantes son:

* El *mdadm redada *metadata no modifica el individual *filesystems que está manteniendo copias de. Cada copia es todavía un válido libre-estando *filesystem como si nunca fue parte de una variedad. Esto no es necesariamente cierto para otras implementaciones de redada pero él es ciertos para *linux *mdraid. Esto significa que cuándo el *bios botas *grub u otra bota *loader, el *bootloader no tiene que incluir un conductor de redada para leer la partición o el *filesystem, puede leer cualquier redada individual1 volumen como sencillo *filesystem en una partición sencilla en un disco sencillo.

* El *bootloader en la mayoría de casos es puramente leído-sólo. No modifica un *byte del dato en el volumen de redada está leyendo, y tan unos cuantos segundos más tarde cuándo el *kernel cargas arriba de y empieza mirar alrededor para variedades de redada para reunir, todos los volúmenes de la redada1 variedad es todavía compatible. La redada1 variedad reúne justo multar cada tiempo. Una vez el *kernel ha hecho que todo más allá escribe hasta poder-fuera es escrito a la variedad no paseo muy solo así que ningún problema. (Suponiendo el OS *bootloader herramientas de director son configuradas correctamente para escribir a /*dev/*md0 no /*dev/*sd* como por mi otro correo)


Algunas órdenes reales para un ejemplo caja de 8 paseos:

Inicio un fresco instalar y cualquier cambio a otra pantalla para una consola local normal instala, o para un modo de texto remoto instala, uso *ssh y no empieza *yast en primer lugar cuándo tú primero *log dentro. Cualquier manera, consigue a un pelar después del instalar el entorno es cargado arriba pero antes de que *yast ha ido pasado la primera pantalla o dos.

Uso *fdisk o *sfdisk o separado a partición un paseo /*dev/*sda con decir #uno 512*M o 1*G /partición de bota. No puedes crecer este más tardío y puedes acabar arriba de necesitar para almacenar varias versiones diferentes de *kernels y acompañando grande *initrd, no para mencionar #varios otra bota posible a archivos les gusta quizás un *knoppix o *puppy *linux sistema entero en *ram imagen, y no quieres *kernel actualiza para fallar en unos años de par porque es fuera de habitación. Puedes querer hacer /la bota incluso dice 5*G. Pero sin duda 512*M al menos justo para dejar habitación normal para *kernels y *initrd si tú nunca vuelta en versiones múltiples para probar *kotd *etc. Y uno grande todo-más partición. Golpe tú fuera de hacer más particiones si quieres para /casa /*var *swap *etc... Aquello justo punto fuera de incluso más por qué no para hacer esto separa a mano en *yast durante instalar. Mark la /bota un activo (*bootable), les marca #ambos tipo "*fd" *linux redada *autodetect, no escribir 83 *linux.

Entonces clon *sda a *sdb:
# *sfdisk -*d /*dev/*sda |*sfdisk /*dev/*sdb

Entonces utilizar el pelar historia para repetir la orden para el resto de los paseos. Arriba-flecha, edita último carácter, introduce, repite 6 tiempo, estrépito de estrépito del estrépito hecho.
# *sfdisk -*d /*dev/*sda |*sfdisk /*dev/*sdc
# *sfdisk -*d /*dev/*sda |*sfdisk /*dev/*sdd
# *sfdisk -*d /*dev/*sda |*sfdisk /*dev/*sde
# *sfdisk -*d /*dev/*sda |*sfdisk /*dev/*sdf
# *sfdisk -*d /*dev/*sda |*sfdisk /*dev/*sdg
# *sfdisk -*d /*dev/*sda |*sfdisk /*dev/*sdh

Esto es para *MSDOS mesas de partición que son todavía la norma.
Desafortunadamente último tiempo miraba (no demasiado recientemente) había ninguna manera igualmente eficaz a clon *GUID mesas de partición con separado o cualquier cosa más.

Pero afortunadamente el GPT es todavía no la norma y generalmente no necesario y el guapo *sfdisk la manera es disponible.

Entonces marca seguro los módulos de redada necesitarás es cargado, normalmente redada 0, 1, y 456 es cargado por *default, y esta redada de días10 es presente en el instalar entorno pero no cargado por *default. Si quieres redada10 y quieres utilizar la redada guapa10 módulo que es un poco más *sophisticated y un *heck de mucho más fácil que a mano utilizando redada0 y redada1 arriba de cada cual otro, justo "*modprobe redada10"

Entonces crear la redada1 /variedad de bota:
# *mdadm -*C -*l1 -*n8 /*dev/*md0 /*dev/*sd#det,*b,*c,*d,*e,*f,*g,*h}1

Entonces crear la / variedad, deja dice redada5 así que no te tienes que preocupar sobre el *modprobe asunto:
# *mdadm -*C -*l5 -*n8 /*dev/*md1 /*dev/*sd#det,*b,*c,*d,*e,*f,*g,*h}2

Aquellos son literales válido pelar *syntax y hay unas cuantas razones a de hecho escribirlo justo que manera.
* Más fácil y más rápido que /*dev/*sda1 /*dev/*sdb1 /*dev/*sdc1...
* Menos error-*prone, puedes no accidentalmente olvidar uno del 2 o *mistakenly lo hace #uno 1 porque tú *imperfectly editado la orden anterior con todo 1 * el más pequeño *syntax /*dev/*sd[un-*h]2 trabajos únicos para gamas consecutivas contiguas que no pueden ser el caso, y no trabaja en los instaladores menos característica-rico pelar, posiblemente no la emergencia pela en el *initrd durante un intento de bota fallado tampoco.

Entonces cualquier regreso al *yast pantalla si ya está corriendo o corrido *yast ahora, y las variedades *md0 y *md1 aparecerá y ser *selectable en *yast. Bota puesta en *md0 y / en *md1.

Puedes hacer todo que a mano completamente de dentro de *yast pero es *sooo muchos clics y pasos e introduciendo valores a mano, correctamente, repetidamente, a campos. Es muy error *prone y tedioso. Pero puesto que sólo unos cuantos paseos y sólo una máquina un tiempo, quizás es más sencillo que yendo al pelar si vuestro no utilizado a él.

--
*bkw
--
A *unsubscribe, *e-correo: *opensuse+unsubscribe@xxxxxxxxxxxx
Puesto que órdenes adicionales, *e-correo: *opensuse+help@xxxxxxxxxxxx


On 9/15/2011 6:08 AM, James Knott wrote:
Per Jessen wrote:
John Andersen wrote:

At one time there was a problem having /boot on raid, and its been a
while since I had to reconfigure a fresh box, so I don't know if this
is still the case.
With lilo it works fine, but I don't know about grub.



It doesn't work with grub. With RAID and also LVM, /boot has to be on a
regular partition. I recently set up a server with four 1 TB drives,
with LVM on RAID 4. I created a 2 GB partition to hold /boot and used
the other 3 2 GB partitions for swap. Everything else is in the LVM on
RAID. That system will soon also have the data backed up to another
computer in a different country.

It works fine, it just has to be raid1.

I usually don't actually do this any more simply because it's not worth the fuss, but just for reference, it's perfectly doable and works fine. In a few cases where for whatever reason I can't install a usb thumb drive to boot from I do still do this.

* You make a small boot partition on one drive,
* fdisk type "fd" linux raid autodetect,
* mark it bootable,
* clone the partition table to all other drives,
* create a raid1 array using all the partition-1's,
* put /boot on that array in yast,

And you're pretty much done. When the bios boots, it picks one of the drives, boots grub from that drives mbr or from that drives bootable partition, grub reads it's files just fine from whatever drive the bios happened to pick as the boot drive, grub does not know or car that the filesystem it's reading is normally a member of a raid1 array. At boot time it's just a plain filesystem on a plain partition. The important factors are:

* The mdadm raid metadata does not modify the individual filesystems that it's maintaining copies of. Each copy is still a valid free-standing filesystem as if it were never part of an array. This is not necessarily true for other raid implementations but it is true for linux mdraid. This means that when the bios boots grub or other boot loader, the bootloader does not have to include a raid driver to read the partition or the filesystem, it can read any individual raid1 volume as a plain filesystem on a plain partition on a plain disk.

* The bootloader in most cases is purely read-only. It does not modify one byte of the data in the raid volume it's reading, and so a few seconds later when the kernel loads up and starts looking around for raid arrays to assemble, all the volumes of the raid1 array are still consistent. The raid1 array assembles just fine every time. Once the kernel has done that all further writes until power-off are written to the array not any single drive so no problem. (assuming the OS bootloader manager tools are configured correctly to write to /dev/md0 not /dev/sd* as per my other post)


Some actual commands for an example 8-drive box:

Start a fresh install and either switch to another screen for a normal local console install, or for a remote text mode install, use ssh and don't start yast in the first place when you first log in. Either way, get to a shell after the install environment is loaded up but before yast has gone past the first screen or two.

Use fdisk or sfdisk or parted to partition one drive /dev/sda with say a 512M or 1G /boot partition. You can't grow this later and you may end up needing to store several different versions of kernels and accompanying large initrd's, not to mention various other possible boot files like maybe a knoppix or puppy linux whole system in ram image, and you don't want kernel updates to fail in a couple years because it's out of room. You may want to make /boot even say 5G. But definitely 512M at least just to allow normal room for kernels and initrd's if you ever turn on multiple versions for testing kotd etc. And one big everything-else partition. Knock yourself out making more partitions if you want for /home /var swap etc... that would just point out even more why not to do this part manually in yast during install. Mark the /boot one active (bootable), mark them both type "fd" linux raid autodetect, not type 83 linux.

Then clone sda to sdb:
# sfdisk -d /dev/sda |sfdisk /dev/sdb

Then use the shell history to repeat the command for the rest of the drives. Up-arrow, edit last character, enter, repeat 6 times, bang bang bang done.
# sfdisk -d /dev/sda |sfdisk /dev/sdc
# sfdisk -d /dev/sda |sfdisk /dev/sdd
# sfdisk -d /dev/sda |sfdisk /dev/sde
# sfdisk -d /dev/sda |sfdisk /dev/sdf
# sfdisk -d /dev/sda |sfdisk /dev/sdg
# sfdisk -d /dev/sda |sfdisk /dev/sdh

This is for MSDOS partition tables which are still the norm.
Unfortunately last time I looked (not too recently) there was no equally efficient way to clone GUID partition tables with parted or anything else.

But luckily GPT are still not the norm and generally not necessary and the nice sfdisk way is available.

Then make sure the raid modules you will need are loaded, usually raid 0, 1, and 456 are loaded by default, and these days raid10 is present in the install environment but not loaded by default. If you want raid10 and you want to use the nice raid10 module which is a bit more sophisticated and a heck of a lot easier than manually using raid0 and raid1 on top of each other, just "modprobe raid10"

Then create the raid1 /boot array:
# mdadm -C -l1 -n8 /dev/md0 /dev/sd{a,b,c,d,e,f,g,h}1

Then create the / array, lets say raid5 so you don't have to worry about the modprobe issue:
# mdadm -C -l5 -n8 /dev/md1 /dev/sd{a,b,c,d,e,f,g,h}2

Those are literal valid shell syntax and there are a few reasons to actually type it just that way.
* easier and faster than /dev/sda1 /dev/sdb1 /dev/sdc1...
* less error-prone, you can't accidentally forget one of the 2's or mistakenly make it a 1 because you imperfectly edited the previous command with all 1's * the smaller syntax /dev/sd[a-h]2 only works for contiguous consecutive ranges which may not be the case, and doesn't work in the installers less feature-rich shell, possibly not the emergency shell in the initrd during a failed boot attempt either.

Then either return to the yast screen if it's already running or run yast now, and the arrays md0 and md1 will appear and be selectable in yast. Put /boot on md0 and / on md1.

You _can_ do all that manually completely from within yast but it's sooo many clicks and steps and entering values manually, correctly, repeatedly, into fields. It's very error prone and tedious. But for only a few drives and only one machine one time, maybe it's simpler than going to the shell if your not used to it.

--
bkw
--
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse+help@xxxxxxxxxxxx


<Anterior por Tema] Tema Actual [Siguiente por Tema>