Buscador

martes, 28 de diciembre de 2010

Creacion Cluster Suse Comandos

Vamos a crear un ejemplo sencillo de lo que seria una cluster de dos servidores con 2 recursos, un recurso cada uno. Los recursos van a ser: un apache y un directorio por nfs. Vamos a fijar unos prioridades....


  •  demonio -> /etc/init.d/heartbeat
  • Archivos importantes ->
/var/lib/heartbeat -> hb_generation hb_uuid hostcache
 /var/lib/heartbeat/crm -> cib.xml



  • entorno grafico -> hb_gui 
  • status comandos -> crm_mon


Suse10-cluster1:/var/lib/heartbeat/crm #

cat /etc/ha.d/ha.cf
autojoin any
#!! Cualquier máina se puede conectar
crm true
#!! Activamos el CRM que es el sistema principal del cluster
bcast eth0
#!! Tarjeta para realizar el heartbeat
node Suse10-cluster1
node Suse10-cluster2
respawn root /sbin/evmsd
#!! en caso de morir el evms (opciones avanzadas) lo relanza
apiauth evms uid=hacluster,root
#!! Usuario que puede autenticarse

Suse10-cluster1:/var/lib/heartbeat/crm #
cat /etc/ha.d/authkeys
auth 1
1 md5 prueba

  • Nos logamos como usuario hacluster:

  • Creamos dos grupos de recursos, uno asociado a cada uno, dentro de cada uno creamos el recurso.



  • Por ultimo, generamos las prioridades. Tb si queremos indicarles algun tipo de orden.

  • Movemos el recurso de apache a la maquina2.
crm_resource -M -r resource_apache -H suse10-cluster2
Suse10-cluster1:/var/lib/heartbeat/crm # crm_resource -W -r resource_apache
resource resource_apache is running on: suse10-cluster2

  • Información de los comandos:
Suse10-cluster1:/var/lib/heartbeat/crm # crm_resource
usage: unknown [-?VS] -(L|Q|W|D|C|P|p) [options]
--help (-?) : this help message
--verbose (-V) : turn on debug info. additional instances increase verbosity
--quiet (-Q) : Print only the value on stdout (for use with -W)

Commands
--list (-L) : List all resources
--query-xml (-x) : Query a resource
Requires: -r
--locate (-W) : Locate a resource
Requires: -r
--migrate (-M) : Migrate a resource from it current location. Use -H to specify a destination
If -H is not specified, we will force the resource to move by creating a rule for the current location and a score of -INFINITY
NOTE: This will prevent the resource from running on this node until the constraint is removed with -U
Requires: -r, Optional: -H, -f, --lifetime
--un-migrate (-U) : Remove all constraints created by -M
Requires: -r
--delete (-D) : Delete a resource from the CIB
Requires: -r, -t
--cleanup (-C) : Delete a resource from the LRM
Requires: -r. Optional: -H
--reprobe (-P) : Recheck for resources started outside of the CRM
Optional: -H
--refresh (-R) : Refresh the CIB from the LRM
Optional: -H
--set-parameter (-p) : Set the named parameter for a resource
Requires: -r, -v. Optional: -i, -s, --meta
--get-parameter (-g) : Get the named parameter for a resource
Requires: -r. Optional: -i, -s, --meta
--delete-parameter (-d) : Delete the named parameter for a resource
Requires: -r. Optional: -i, --meta

Options
--resource (-r) : Resource ID
--resource-type (-t) : Resource type (primitive, clone, group, ...)
--property-value (-v) : Property value
--host-uname (-H) : Host name
--meta : Modify a resource's configuration option rather than one which is passed to the resource agent script.
For use with -p, -g, -d
--lifetime (-u) : Lifespan of migration constraints
--force (-f) : Force the resource to move by creating a rule for the current location and a score of -INFINITY
This should be used if the resource's stickiness and constraint scores total more than INFINITY (Currently 100,000)
NOTE: This will prevent the resource from running on this node until the constraint is removed with -U or the --lifetime duration expires
-s : (Advanced Use Only) ID of the instance_attributes object to change
-i : (Advanced Use Only) ID of the nvpair object to change/delete

  • Documento pdf para crear un cluster de Suse con dos recursos, cada uno en un servidor. Para ello definimos prioridades.





  • Más comandos:



http://www.scribd.com/doc/46251784/Cganen1-6-CLuster

Curso de Jommla

Curso De LINUX

Este es el temario del curso que realizé para mi empresa.  Curso linux operación
View more presentations from jomarequena.

jueves, 23 de diciembre de 2010

Aprendiendo Zfs Solaris

Este post no pretende ser un manual de ZFS, solo una sencilla guía rápida que permita a los neófitos en la materia, disponer de un punto de inicio que les sirva de trampolín, para poder profundizar en ZFS. Por esta razón, el post solo cuenta con 12 sencillos pasos, los cuales describen a grandes rasgos las operaciones básica que alguien que empieza debe aprender.
ZFS dispone de 2 comandos zpool y zfs.

Paso 1:Crear un pool

La primera operación cuando se comienza con ZFS es la creación de un pool de discos.
root # zpool create -f pool_prueba c2t500A098286584110d1 c2t500A098286584110d2
Se crea un pool llamado pool_prueba utilizando los discos c2t500A098286584110d1 y c2t500A098286584110d2.
Con el zpool list podemos ver la lista de pooles que están configurados en nuestro sistema.
root # zpool list
NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
pool_prueba            19.9G     90K   19.9G     0%  ONLINE     -
root #
root # df -h | grep pool
pool_prueba             20G    24K    20G     1%    /pool_prueba
root #

Paso 2:Crear FS ZFS

Una vez creado el pool de disco, podemos crear los sistemas de ficheros, para ello utilizaremos el comando zfs.
root # zfs create pool_prueba/fs1
root # zfs create pool_prueba/fs2
Se han creado los FS en el pool pool_prueba llamados fs1 y fs2.
root # df -k | grep pool
pool_prueba          20514816      27 20514668     1%    /pool_prueba
pool_prueba/fs1      20514816      24 20514668     1%    /pool_prueba/fs1
pool_prueba/fs2      20514816      24 20514668     1%    /pool_prueba/fs2
root #
root # zfs list
NAME              USED  AVAIL  REFER  MOUNTPOINT
pool_prueba       148K  19.6G  27.5K  /pool_prueba
pool_prueba/fs1  24.5K  19.6G  24.5K  /pool_prueba/fs1
pool_prueba/fs2  24.5K  19.6G  24.5K  /pool_prueba/fs2
root #
Como podemos ver con el comando df y con zfs list, los nuevos FS se han creado y montado por defecto sobre el directorio /pool_prueba

Paso 3:Cambio del punto de montaje

Podemos cambiar los puntos de montaje de los nuevos sistemas de ficheros creados en el paso anterior, con el comando zfs set
root # zfs set mountpoint=/fs1 pool_prueba/fs1
root #
root # zfs set mountpoint=/fs2 pool_prueba/fs2
root #
Se cambia el punto de montaje del FS pool_prueba/fs1 para que sea el directorio /fs1, lo mismo hacemos con el FS pool_prueba/fs2
root # df -k | grep pool
pool_prueba          30772224      24 30771987     1%    /pool_prueba
pool_prueba/fs2      30772224      24 30771987     1%    /fs2
pool_prueba/fs1      30772224      28 30771987     1%    /fs1

Paso 4:Añadir discos al pool

Esta operación nos pemite añadir nuevos disco a nuestro pool. Utilizaremos el comando zpool add.
root # zpool add -f pool_prueba c2t500A098286584110d3
root # zfs list
NAME              USED  AVAIL  REFER  MOUNTPOINT
pool_prueba      97.9M  29.3G  24.5K  /pool_prueba
pool_prueba/fs1  97.8M  29.3G  97.8M  /fs1
pool_prueba/fs2  24.5K  29.3G  24.5K  /fs2
root #

Paso 5:Atributos de un FS

Podemos ver los atributos definidos en un FS determinado, empleando el comando zfs get
root # zfs get all pool_prueba/fs1
NAME             PROPERTY       VALUE                  SOURCE
pool_prueba/fs1  type           filesystem             -
pool_prueba/fs1  creation       Wed Dec 10 18:38 2008  -
pool_prueba/fs1  used           51K                    -
pool_prueba/fs1  available      29.3G                  -
pool_prueba/fs1  referenced     28.5K                  -
pool_prueba/fs1  compressratio  1.00x                  -
pool_prueba/fs1  mounted        yes                    -
pool_prueba/fs1  quota          none                   default
pool_prueba/fs1  reservation    none                   default
pool_prueba/fs1  recordsize     128K                   default
pool_prueba/fs1  mountpoint     /fs1                   local
pool_prueba/fs1  sharenfs       off                    default
pool_prueba/fs1  checksum       on                     default
pool_prueba/fs1  compression    off                    default
pool_prueba/fs1  atime          on                     default
pool_prueba/fs1  devices        on                     default
pool_prueba/fs1  exec           on                     default
pool_prueba/fs1  setuid         on                     default
pool_prueba/fs1  readonly       off                    default
pool_prueba/fs1  zoned          off                    default
pool_prueba/fs1  snapdir        hidden                 default
pool_prueba/fs1  aclmode        groupmask              default
pool_prueba/fs1  aclinherit     secure                 default
pool_prueba/fs1  canmount       on                     default
pool_prueba/fs1  shareiscsi     off                    default
pool_prueba/fs1  xattr          on                     default
root #

Paso 6:Estado del pool

Para chequear el estado de un pool, debemos utilizar el comando zpool status.
root # zpool status
  pool: pool_prueba
 state: ONLINE
 scrub: none requested
config:
 
        NAME                     STATE     READ WRITE CKSUM
        pool_prueba              ONLINE       0     0     0
          c2t500A098286584110d1  ONLINE       0     0     0
          c2t500A098196584110d2  ONLINE       0     0     0
          c2t500A098286584110d3  ONLINE       0     0     0
 
errors: No known data errors
root #

Paso 7: Crear Snapshots

Un snapshot es una imagen de un FS en un momento determinado, esta imagen de solamente de lectura y nos permite disponer de los datos de un FS en un momento concreto.
rroot # zfs list
NAME              USED  AVAIL  REFER  MOUNTPOINT
pool_prueba       200K  29.3G  24.5K  /pool_prueba
pool_prueba/fs1  28.5K  29.3G  28.5K  /fs1
pool_prueba/fs2  24.5K  29.3G  24.5K  /fs2
root #
Para crear un snapshot debemos emplear el comando zfs snapshot y facilitar el nombre del FS del que queremos hacer el snapshot seguido por una @ y el nombre del snapshot que queremos crear. Para nuestro ejemplo se ha creado el snapshot pool_prueba/fs1@snap1
root # zfs snapshot pool_prueba/fs1@snap1
root #
root # cd /fs1
root # ls -lisa
total 17
         3    3 drwxr-xr-x   2 root     sys            8 Dec 10 18:39 .
         3    2 drwxr-xr-x  31 root     root        1024 Dec 10 18:42 ..
         4    2 -rw-r--r--   1 root     root           8 Dec 10 18:37 prueba1
         5    2 -rw-r--r--   1 root     root          16 Dec 10 18:37 prueba2
         6    2 -rw-r--r--   1 root     root          24 Dec 10 18:37 prueba3
         7    2 -rw-r--r--   1 root     root          32 Dec 10 18:39 prueba4
         8    2 -rw-r--r--   1 root     root          40 Dec 10 18:39 prueba5
         9    2 -rw-r--r--   1 root     root          48 Dec 10 18:39 prueba6
root #
En el FS, se ha creado un directorio oculto .zfs, el cual contiene un subdirectorio por cada snapshot que se cree en el FS.
root # cd .zfs
root # ls
snapshot
root # ls snapshot/
snap1
root # ls
snapshot
root # cd snapshot/snap1/
root # ls
prueba1  prueba2  prueba3  prueba4  prueba5  prueba6
root # ls -lrt
total 12
-rw-r--r--   1 root     root           8 Dec 10 18:37 prueba1
-rw-r--r--   1 root     root          16 Dec 10 18:37 prueba2
-rw-r--r--   1 root     root          24 Dec 10 18:37 prueba3
-rw-r--r--   1 root     root          32 Dec 10 18:39 prueba4
-rw-r--r--   1 root     root          40 Dec 10 18:39 prueba5
-rw-r--r--   1 root     root          48 Dec 10 18:39 prueba6
root # ls > prueba10
bash: prueba10: Read-only file system
Podemos comprobar que el snapshot es un FS de solo lectura.
root # pwd
/fs1/.zfs/snapshot/snap1
root # cd /
root # ls -l /fs1/.zfs/snapshot/snap1
total 12
-rw-r--r--   1 root     root           8 Dec 10 18:37 prueba1
-rw-r--r--   1 root     root          16 Dec 10 18:37 prueba2
-rw-r--r--   1 root     root          24 Dec 10 18:37 prueba3
-rw-r--r--   1 root     root          32 Dec 10 18:39 prueba4
-rw-r--r--   1 root     root          40 Dec 10 18:39 prueba5
-rw-r--r--   1 root     root          48 Dec 10 18:39 prueba6
root # cd /fs1
root # ls
prueba1  prueba2  prueba3  prueba4  prueba5  prueba6
root # ls > prueba10
root # ls > prueba11
root # ls > prueba12
Hemos modifcado el FS pool_prueba/fs1 y vamos a crear un nuevo snapshot
root # pwd
/fs1
root # cd ..
root # zfs snapshot pool_prueba/fs1@snap2
root # zfs list
NAME                    USED  AVAIL  REFER  MOUNTPOINT
pool_prueba             240K  29.3G  24.5K  /pool_prueba
pool_prueba/fs1        54.5K  29.3G    31K  /fs1
pool_prueba/fs1@snap1  23.5K      -  28.5K  -
pool_prueba/fs1@snap2      0      -    31K  -
pool_prueba/fs2        24.5K  29.3G  24.5K  /fs2
root #
root # ls -l /fs1/.zfs/snapshot/snap*
/fs1/.zfs/snapshot/snap1:
total 12
-rw-r–r–   1 root     root           8 Dec 10 18:37 prueba1
-rw-r–r–   1 root     root          16 Dec 10 18:37 prueba2
-rw-r–r–   1 root     root          24 Dec 10 18:37 prueba3
-rw-r–r–   1 root     root          32 Dec 10 18:39 prueba4
-rw-r–r–   1 root     root          40 Dec 10 18:39 prueba5
-rw-r–r–   1 root     root          48 Dec 10 18:39 prueba6
 
/fs1/.zfs/snapshot/snap2:
total 18
-rw-r–r–   1 root     root           8 Dec 10 18:37 prueba1
-rw-r–r–   1 root     root          57 Dec 10 18:48 prueba10
-rw-r–r–   1 root     root          66 Dec 10 18:48 prueba11
-rw-r–r–   1 root     root          75 Dec 10 18:48 prueba12
-rw-r–r–   1 root     root          16 Dec 10 18:37 prueba2
-rw-r–r–   1 root     root          24 Dec 10 18:37 prueba3
-rw-r–r–   1 root     root          32 Dec 10 18:39 prueba4
-rw-r–r–   1 root     root          40 Dec 10 18:39 prueba5
-rw-r–r–   1 root     root          48 Dec 10 18:39 prueba6
root #
Podemos ver como se ha creado un nuevo subdirectorio /fs1/.zfs/snapshot/snap2 con la imagen actual del FS pool_prueba/fs1.

Paso 8:Restaurar un Snapshot.

Hemos visto como podemos acceder al contenido de los distintos snapshot de un FS determinado. Existe una operación para restauran un snapshot determinado sobre su FS original.
root # ls
prueba1   prueba10  prueba11  prueba12  prueba2   prueba3   prueba4   prueba5   prueba6
root # rm prueba*
Borramos todos los ficheros del FS pool_prueba/fs1
root #
root # zfs list
NAME                    USED  AVAIL  REFER  MOUNTPOINT
pool_prueba             273K  29.3G  24.5K  /pool_prueba
pool_prueba/fs1          77K  29.3G  24.5K  /fs1
pool_prueba/fs1@snap1  23.5K      -  28.5K  -
pool_prueba/fs1@snap2    26K      -    31K  -
pool_prueba/fs2        24.5K  29.3G  24.5K  /fs2
root #
Con el comando zfs rollback vamos a restaurar el snapshot pool_prueba/fs1@snap1 sobre el FS pool_prueba/fs1
root # zfs rollback pool_prueba/fs1@snap1
cannot rollback to 'pool_prueba/fs1@snap1': more recent snapshots exist
use '-r' to force deletion of the following snapshots:
pool_prueba/fs1@snap2
root #
root # zfs rollback -r pool_prueba/fs1@snap1
root # ls /fs1
prueba1  prueba2  prueba3  prueba4  prueba5  prueba6
root #
root # zfs list
NAME                    USED  AVAIL  REFER  MOUNTPOINT
pool_prueba             237K  29.3G  24.5K  /pool_prueba
pool_prueba/fs1          51K  29.3G  28.5K  /fs1
pool_prueba/fs1@snap1  22.5K      -  28.5K  -
pool_prueba/fs2        24.5K  29.3G  24.5K  /fs2
root #
De la salida del comando zfs list podemos ver que ha desaparecido el snapshot pool_prueba/fs1@snap2, esto se debe a que hemos restaurado la imagen de pool_prueba/fs1@snap1, en esta imagen no existía el snapshot snap2, por lo tanto la restauración lo ha eliminado. Debemos tener cuidado con las restauraciones de los snapshots, sobre todo cuando existen varios snapshots.

Paso 9:Crear un clone

Un clone es una imagen de un FS en un momento determinado, pero que puede ser modificada, al contrario de lo que ocurre con los snapshots que son únicamente de lectura.
root # zfs clone pool_prueba/fs1@snap1 pool_prueba/fs3
Se crea un clone llamado pool_prueba/fs3 a partir del snapshot pool_prueba/fs1@snap1
root # zfs list
NAME                    USED  AVAIL  REFER  MOUNTPOINT
pool_prueba             204K  29.3G  26.5K  /pool_prueba
pool_prueba/fs1          27K  29.3G    27K  /fs1
pool_prueba/fs1@snap1      0      -    27K  -
pool_prueba/fs2        24.5K  29.3G  24.5K  /fs2
pool_prueba/fs3            0  29.3G    27K  /pool_prueba/fs3
Cambiamos el punto de montaje del nuevo clone.
root # zfs set mountpoint=/fs3 pool_prueba/fs3
root # zfs list
NAME                    USED  AVAIL  REFER  MOUNTPOINT
pool_prueba             208K  29.3G  24.5K  /pool_prueba
pool_prueba/fs1          27K  29.3G    27K  /fs1
pool_prueba/fs1@snap1      0      -    27K  -
pool_prueba/fs2        24.5K  29.3G  24.5K  /fs2
pool_prueba/fs3            0  29.3G    27K  /fs3
root # ls /fs3
prueba1  prueba2  prueba3
root #
Con el comando zfs destroy podemos eliminar los clones, los snapshots y los FS.
root # zfs destroy pool_prueba/fs1@snap1
cannot destroy 'pool_prueba/fs1@snap1': snapshot has dependent clones
use '-R' to destroy the following datasets:
pool_prueba/fs3
root #
Al intentar elminar el snapshot pool_prueba/fs1@snap1 obtenemos un error comunicando que existe un clone que depende del snapshot que queremos destruir.

Paso 10: Promote un clone

Podemos crea un FS a partir de un clone con el comando zfs promote.
root # zfs promote pool_prueba/fs3
root #
root # zfs list
NAME                    USED  AVAIL  REFER  MOUNTPOINT
pool_prueba             242K  29.3G  24.5K  /pool_prueba
pool_prueba/fs1            0  29.3G    27K  /fs1
pool_prueba/fs2        24.5K  29.3G  24.5K  /fs2
pool_prueba/fs3          52K  29.3G  28.5K  /fs3
pool_prueba/fs3@snap1  23.5K      -    27K  -
root # df -k | grep pool
pool_prueba          30772224      24 30771982     1%    /pool_prueba
pool_prueba/fs1      30772224      27 30771982     1%    /fs1
pool_prueba/fs2      30772224      24 30771982     1%    /fs2
pool_prueba/fs3      30772224      28 30771982     1%    /fs3
root # ls /fs3
prueba1  prueba2  prueba3  prueba4  prueba5  prueba6
root #
root # zfs list
NAME                    USED  AVAIL  REFER  MOUNTPOINT
pool_prueba             242K  29.3G  24.5K  /pool_prueba
pool_prueba/fs1            0  29.3G    27K  /fs1
pool_prueba/fs2        24.5K  29.3G  24.5K  /fs2
pool_prueba/fs3          52K  29.3G  28.5K  /fs3
pool_prueba/fs3@snap1  23.5K      -    27K  -
root #

Paso 11: Eliminar un FS

Ya hemos visto un ejemplo de como podemos destruir un snapshot utilizando el comando zfs destroy.
root # zfs destroy pool_prueba/fs3@snap1
cannot destroy 'pool_prueba/fs3@snap1': snapshot has dependent clones
use '-R' to destroy the following datasets:
pool_prueba/fs1
root #
root # zfs destroy pool_prueba/fs1
root # zfs destroy pool_prueba/fs3@snap1
root # zfs list
NAME              USED  AVAIL  REFER  MOUNTPOINT
pool_prueba       198K  29.3G  24.5K  /pool_prueba
pool_prueba/fs2  24.5K  29.3G  24.5K  /fs2
pool_prueba/fs3  28.5K  29.3G  28.5K  /fs3

Paso 12: Renombrar un FS

Otra operación útil, sobre todo cuando estamos restaurando snapshots y clones, es el poder renombrar los FS.
root #
root # zfs rename pool_prueba/fs3 pool_prueba/fs1
root #
root # zfs list
NAME              USED  AVAIL  REFER  MOUNTPOINT
pool_prueba       198K  29.3G  24.5K  /pool_prueba
pool_prueba/fs1  28.5K  29.3G  28.5K  /fs3
pool_prueba/fs2  24.5K  29.3G  24.5K  /fs2
root #
root # zfs set mountpoint=/fs1 pool_prueba/fs1
root # ls /fs3
root # ls /fs1
prueba1  prueba2  prueba3  prueba4  prueba5  prueba6
  • Conclusión

Estos han sido 12 sencillos pasos con los que cualquiera se puede iniciar en ZFS, para profundizar más yo recomiendo:

miércoles, 22 de diciembre de 2010

Instalación Oracle 11g R2 en Suse SP3

Oracle 11g R2 is supported on SUSE Linux Enterprise Server 10 Service Pack 2 and SUSE Linux Enterprise Server 10 Service Pack 3.

In order to install it, the following packages (or later versions) must be installed:

binutils-2.16.91.0.5
compat-libstdc++-5.0.7
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.4-31
glibc-devel-2.4-31
ksh-93r-12.9
libaio-0.3.104
libaio-devel-0.3.104
libelf-0.8.5
libgcc-4.1.2
libstdc++-4.1.2
libstdc++-devel-4.1.2
make-3.80
sysstat-8.0.4

That works fine on SUSE Linux Enterprise Server 10 Service Pack 2 but on
SUSE Linux Enterprise Server 10 Service Pack 3, all the above packages are
available but compat-libstdc++.

During the installation on SUSE Linux Enterprise Server 10 Service Pack 3,
that missing requirement is shown in the prerequisites Check Window.

  • Resolution

The Oracle installer searches for a specific package name (and version), instead of searching for the provides of the installed
packages.

The libstdc++33 package replaces the compat-libstdc++ package with all provides/obsoletes as necessary to make it a full upgrade
candidate:

% rpm -q --provides libstdc++33.rpm
compat-libstdc++
libstdc++5 = 3.3.3-7.8.1
libstdc++.so.5()(64bit)
libstdc++.so.5(CXXABI_1.2)(64bit)
libstdc++.so.5(CXXABI_1.2.1)(64bit)
libstdc++.so.5(CXXABI_1.2.2)(64bit)
libstdc++.so.5(GLIBCPP_3.2)(64bit)
libstdc++.so.5(GLIBCPP_3.2.1)(64bit)
libstdc++.so.5(GLIBCPP_3.2.2)(64bit)
libstdc++.so.5(GLIBCPP_3.2.3)(64bit)
libstdc++.so.5(GLIBCPP_3.2.4)(64bit)
libstdc++.so.5(GLIBCPP_3.2.5)(64bit)
libstdc++.so.5(libstdc++.so.5)(64bit)
libstdc++33 = 3.3.3-7.8.1

Compilación de una nueva versión de Kernel

  1. Vamos a: http://www.kernel.org/pub/Linux/kernel
  2. Nos descargamos el paquete: linux-2.6.20.21.tar. (en nuestro caso)
  3. Lo descargamos sobre  la ruta /usr/src o /usr/src/kernels en red hat.
  4. Se pueden dar dos casos:
  • - En suse:
  1. bunzip2 linux-2.6.20.21.tar.bz
  2. tar -xvf linux-2.6.20.21.tar
  3. ln -s linux-2.6.20.21 linux
  4. ls -la  -> lrwxrwxrwx 1 root root 15 Nov 11 13:01 linux -> linux-2.6.20.21 
  5.              drwxrwxr-x 19 root root 792 Nov 11 13:08 linux-2.6.20.2
  6. cd linux

  • - En red hat:

  1. cd kernels
  2. bunzip2 linux-2.6.20.21.tar.bz
  3. tar -xvf linux-2.6.20.21.tar
  4. mv linux-2.6.20.21 2.6.20.21-default
  5. cd 2.6.20.21-default

- Realizamos los siguientes pasos :
  1. make mrproper
  2. cp /boot/config- ./.config 
  3. make menuconfig
  4. (Dentro se despliega un grafico elegimos Load an Alternate.. -> .config -> General setup -> -default y salimos guardando cambios).

  • Make rpm (nos crea el rpm en: /usr/src/packages/RPMs/ o /usr/src/redhat/RPMs/). 
  • rpm –ihv kernel-xxx.rpm
  • mkinitrd o mkinitrd /boot/initrd-2.6.20.21.img 2.6.20.21(red hat).(Esto nos crea una entrada en el /boot para el nuevo kernel (vmlinuz-2.6.20.21-default, initrd-2.6.20.21-default)).
  • Editando /etc/sysconfig/selinux y cambiando SELINUX=permissive por SELINUX=disabled, verificamos que no lo tenemos activo.

  • Finalmente, tendremos que cambiar el orden de arranque:

Cat /boot/grub/menu.lst(suse)

default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-53.el5PAE)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.el5PAE ro root=/dev/rootvg/rootlv rhgb quiet
initrd /initrd-2.6.18-53.el5PAE.img

title Red Hat Enterprise Linux Server (2.6.20-21.el5PAE)
root (hd0,0)
kernel /vmlinuz-2.6.20.21-default ro root=/dev/rootvg/rootlv rhgb quiet
initrd /initrd-2.6.20.21.img

cat / boot/grub/menú.lst

color white/blue black/light-gray
default 1
timeout 8
gfxmenu (hd0,1)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE Linux (2.6.5-7.244-smp) with MPP support
kernel (hd0,1)/boot/vmlinuz root=/dev/sda2 vga=0x317 selinux=0 splash=silent console=tty0 resume=/dev/sda1 elevator=cfq showopts
initrd (hd0,1)/boot/mpp-2.6.5-7.244-smp.img
title Linux
kernel (hd0,1)/boot/vmlinuz root=/dev/sda2 vga=0x317 selinux=0 splash=silent resume=/dev/sda1 elevator=cfq showopts
initrd (hd0,1)/boot/initrd
title Linux-new
kernel (hd0,1)/boot/vmlinuz-2.6.20.21-default root=/dev/sda2 vga=0x317 selinux=0 splash=silent resume=/dev/sda1 elevator=cfq showopts
initrd (hd0,1)/boot/initrd-2.6.20.21-default


###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe
kernel (hd0,1)/boot/vmlinuz root=/dev/sda2 showopts ide=nodma apm=off acpi=off vga=normal noresume selinux=0 barrier=off iommu=noforce 3
initrd (hd0,1)/boot/initrd


Adjunto informacion del entorno gráfico.