Restaurer Porta-Switch à avec une connexion SSH

Oussama Hammami, 2010-11-03

Switzernet

 

1 Introduction

Dans un document précèdent nous avons expliqué comment restaurer Porta-Switch (MR-21) à partir des fichiers tar en utilisant un LIVE CD (exemple : Fedora 13) sur la totalité du disque dur avec des partitions LVM [http://switzernet.com/3/public/100926-mr21-tar-lvm/].

Cette procédure nécessite l’accès physique aux serveurs consternés alors qu’en comptant utiliser des serveurs dédiés hébergées (chez OVH, Free …) cette procédure est devenue impossible.

 

Ce document présente la procédure à suivre pour restaurer Porta-Switch uniquement avec une connexion SSH. On fournit dans ce document toutes les commandes utilisées lors de l’installation de Porta-Sip (nommé ci-dessous billing4)

 Vous devez adapter ces commandes selon le type de serveur à installer.

Vous devez se loguer en root avant de commencer la restauration.

 

2 Restauration du billing4 sur un serveur Kimsufi (OVH)

2.1 Informations sur le système

Ce dessous les informations système du serveur utilisé lors de cette restauration.

2.1.1 System Vital

Canonical Hostname

ks301251.kimsufi.com

Listening IP

91.121.14.113

Kernel Version

2.6.33.5-xxxx-grs-ipv4-64 (SMP) x86_64

Distro Name

Debian 5.0.5

2.1.2 Hardware Information

Processors

1

Model

AMD Athlon(tm) Processor LE-1660

CPU Speed

2.8 GHz

BUS Speed

 

Cache Size

512 KB

System Bogomips

5600

2.1.3 PCI Devices

  • Audio device: nVidia Corporation MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio
  • Co-processor: nVidia Corporation MCP78S [GeForce 8200] Co-Processor
  • Ethernet controller: nVidia Corporation MCP77 Ethernet
  • Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
  • Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
  • Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
  • Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
  • IDE interface: nVidia Corporation MCP78S [GeForce 8200] IDE
  • IDE interface: nVidia Corporation MCP78S [GeForce 8200] SATA Controller
  • ISA bridge: nVidia Corporation MCP78S [GeForce 8200] LPC Bridge
  • PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Bridge
  • (3x) PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Express Bridge
  • (3x) RAM memory: nVidia Corporation MCP78S [GeForce 8200] Memory Controller
  • SMBus: nVidia Corporation MCP78S [GeForce 8200] SMBus
  • (2x) USB Controller: nVidia Corporation MCP78S [GeForce 8200] EHCI USB 2.0 Controller
  • (2x) USB Controller: nVidia Corporation MCP78S [GeForce 8200] OHCI USB 1.1 Controller
  • VGA compatible controller: nVidia Corporation C77 [GeForce 8200]

2.1.4 IDE Devices

None

2.1.5 SCSI Devices

ATA Hitachi HDP72502 (Direct-Access)

2.1.6 USB Devices

(2x) Linux Foundation 2.0 root hub

(2x) Linux Foundation 1.1 root hub

2.2 Partitionnement, boot et LVM

Vous devez commencer par le remplacement du LILO par Grub sur une partition bootable FAT16, la gestion du menu du Gub (grub/menu.lst) fait avec Freedos se qui nous offre la possibilité de changer le système à booter au démarrage en utilisant le boot vKVM (OVH). Cette procédure est expliquée dans ce document [http://www.unappel.ch/2/public/101101-dual-boot-dos-debian/i/fr/].

 

À la fin vous devez avoir comme résultat de la commande fdisk /dev/sda

# fdisk -l  /dev/sda

 

Disk /dev/hde: 250.0 GB, 250059350016 bytes

255 heads, 63 sectors/track, 30401 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1               1        1275    10239969   83  Linux

/dev/sda2   *        1275        1518     1953334+   6  FAT16

/dev/sda3           30336       30401      523264   82  Linux swap / Solaris

/dev/sda4            1519       30335   231472552+  83  Linux

 

Partition table entries are not in disk order

 

On a 4 partitions:

 

On va restaurer billing4 sur la partition sda4, nous commençons par la création des partitions LVM :

Démonter la partition

umount /home

 

Changer le type de système de fichier de cette partition (LVM : 8e)

# fdisk /dev/sda

 

The number of cylinders for this disk is set to 30401.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

   (e.g., DOS FDISK, OS/2 FDISK)

 

Command (m for help): p

 

Disk /dev/sda: 250.0 GB, 250059350016 bytes

255 heads, 63 sectors/track, 30401 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x0001cd97

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1               1        1275    10239969   83  Linux

/dev/sda2   *        1275        1518     1953334+   6  FAT16

/dev/sda3           30336       30401      523264   82  Linux swap / Solaris

/dev/sda4            1519       30335   231472552+  83  Linux

 

Partition table entries are not in disk order

 

Command (m for help): t

Partition number (1-4): 4

Hex code (type L to list codes): 8e

Changed system type of partition 4 to 8e (Linux LVM)

 

Command (m for help): p

 

Disk /dev/sda: 250.0 GB, 250059350016 bytes

255 heads, 63 sectors/track, 30401 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x0001cd97

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1               1        1275    10239969   83  Linux

/dev/sda2   *        1275        1518     1953334+   6  FAT16

/dev/sda3           30336       30401      523264   82  Linux swap / Solaris

/dev/sda4            1519       30335   231472552+  8e  Linux LVM

 

Partition table entries are not in disk order

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

 

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table.

The new table will be used at the next reboot.

Syncing disks.

 

Editer /etc/fstab afin de supprimer le montage cette partition au démarrage

# vi /etc/fstab

# <sys.fichiers><pt de montage><type> <options>  <dump> <pass>

/dev/sda1       /       ext4    errors=remount-ro       0       1

#/dev/sda4      /home   ext3    defaults        1       2

/dev/sda3       swap    swap    defaults        0       0

proc            /proc   proc    defaults        0       0

sysfs           /sys    sysfs   defaults        0       0

 

Rebooter le serveur

# reboot

 

Création du volume physique

# pvcreate /dev/sda4

  Physical volume "/dev/sda4" successfully created

 

Si vous obtenez l’erreur ‘Can't initialize physical volume /dev/sda4 of volume group without -ff’  dû au mauvaise format de la table de partitionnement.

La solution la plus simple est de changer le type de la partition consternée (sda4) en 83 avec fdisk, rebooter et formater la partition ensuite rechanger le type de la partition en 8e avec fdisk , rebooter à ce moment la création du volume physique ne va jamais poser un problème.

# fdisk /dev/sda4

  t

  4

  83

# reboot

# mkfs –t ext3 /dev/sda4

# fdisk /dev/sda4

  t

  4

  8e

Une autre solution non recommandé est expliqué ici [http://tldp.org/HOWTO/LVM-HOWTO/initdisks.html]

 

Création du groupe de volume

# vgcreate VolGroup00 /dev/sda4

  Volume group "VolGroup00" successfully created

 

Création des volumes logiques:

# lvcreate -l 5000 VolGroup00 -n LogVol00

  Logical volume "LogVol00" created

# lvcreate -l 5000 VolGroup00 -n LogVol01

  Logical volume "LogVol01" created

# lvcreate -l 8000 VolGroup00 -n LogVol03

  Logical volume "LogVol03" created

 

Récupérer le nombre des unités libres du groupe de volume VolGroup00

# vgdisplay VolGroup00

  --- Volume group ---

  VG Name               VolGroup00

  System ID

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  4

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                3

  Open LV               0

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               220.75 GB

  PE Size               4.00 MB

  Total PE              56511

  Alloc PE / Size       18000 / 70.31 GB

  Free  PE / Size       38511 / 150.43 GB

  VG UUID               r96jFh-uptF-7nms-WfB4-TdBk-fF4Z-w1EKMP

 

Création de dernier volume logique LogVol02:

# lvcreate -l 38511 VolGroup00 -n LogVol02

  Logical volume "LogVol02" created

 

Vérification:

# vgdisplay VolGroup00

  --- Volume group ---

  VG Name               VolGroup00

  System ID

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  5

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                4

  Open LV               0

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               220.75 GB

  PE Size               4.00 MB

  Total PE              56511

  Alloc PE / Size       56511 / 220.75 GB

  Free  PE / Size       0 / 0

  VG UUID               r96jFh-uptF-7nms-WfB4-TdBk-fF4Z-w1EKMP

 

# ls /dev/VolGroup00/

LogVol00  LogVol01  LogVol02  LogVol03

 

Formatage des partitions

# mkfs -t ext3 /dev/VolGroup00/LogVol00

# mkfs -t ext3 /dev/VolGroup00/LogVol01

# mkfs -t ext3 /dev/VolGroup00/LogVol02

# mkswap /dev/VolGroup00/LogVol03  

 

Rebooter

# reboot

2.3 Téléchargement et compression des TARs

Montage des partitions LVMs

# cd /mnt

# mkdir root1

# mkdir root2

# mkdir porta

# mount /dev/VolGroup00/LogVol00 root1

# mount /dev/VolGroup00/LogVol01 root2

# mount /dev/VolGroup00/LogVol02 porta

# df

...

 

Décompression du root1

# cd /mnt/root1

# wget --user="firstname.lastname" --password="******" http://switzernet.com/3/company/100830-tar-pb-mr21/data1/100830,1925,billing4,root1.tar.bzip2

# tar -xjvf 100830,1925,billing4,root1.tar.bzip2

 

Décompression du root2

# cd /mnt/root2

# wget --user="firstname.lastname" --password="******"  http://switzernet.com/3/company/100830-tar-pb-mr21/data1/100830,1925,billing4,root2.tar.bzip2

# tar -xjvf 100830,1925,billing4,root2.tar.bzip2

 

Décompression du porta

# cd /mnt/porta

# wget --user="firstname.lastname" --password="******" http://switzernet.com/3/company/100830-tar-pb-mr21/data1/100830,1925,billing4,porta.tar.bzip2

# tar -xjvf 100830,1925,billing4,porta.tar.bzip2

3 mise en oeuvre de billing4

 3.1 Boot

Montage de la partition /boot

# mount /dev/sda2 /boot

 

# cd /boot

# wget http://switzernet.com/3/public/101103--mr21-tar-ssh/data1/vmlinuz-2.6.27.54

# wget http://switzernet.com/3/public/101103--mr21-tar-ssh/data1/initrd-2.6.27.54.img6.gz

 

Ajouter dans le fichier de configuration de Grub les lignes suivantes

# vi /boot/grub/menu.lst

default         0

timeout         20

#color cyan/blue white/blue

color light-gray/red red/light-gray

 

title MR21-2 2.6.27.54 Initrd6

        root (hd0,1)

        kernel /vmlinuz-2.6.27.54 ro elevator=deadline

        initrd /initrd-2.6.27.54.img6.gz

 

title MR21-2 VG00-LV01

        root (hd0,1)

        kernel /vmlinuz-2.6.27.54 ro root=/dev/VolGroup00/LogVol01 elevator=deadline

        initrd /initrd-2.6.27.54.img6.gz

 

title MR21-0 VG00-LV00

        root (hd0,1)

        kernel /vmlinuz-2.6.27.54  ro root=/dev/VolGroup00/LogVol00 elevator=deadline

        initrd /initrd-2.6.27.54.img6.gz

 

title Debian

        root (hd0,1)

        kernel /bzImage-2.6.34.6-xxxx-grs-ipv6-64 root=/dev/sda1 ro

 

title Debian vKVM

        root (hd0,1)

        kernel /bzImage-2.6.34.6-xxxx-grs-ipv6-64 root=/dev/hda1 ro

 

title FreeDos LiveCD

        kernel /memdisk

        initrd=/freedos.img

 

title FreeDos floppy

        kernel /memdisk

        initrd=/fdboot.img

 

title DOS

        kernel /memdisk

        initrd=/Dos5.0.img

 

Commentez la ligne qui monte la partition boot au démarrage dans :

/mnt/root2/etc/fstab

# vi /mnt/root2/etc/fstab

/dev/VolGroup00/LogVol01 /                       ext3    defaults        1 1

/dev/VolGroup00/LogVol00 /update_root            ext3    defaults        1 2

/dev/VolGroup00/LogVol02 /porta_var              ext3    defaults        1 2

#LABEL=/boot             /boot                   ext3    defaults        1 2

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

/dev/VolGroup00/LogVol03 swap                    swap    defaults        0 0

 

Et /mnt/root1/etc/fstab

# vi /mnt/root1/etc/fstab

/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1

/dev/VolGroup00/LogVol01 /update_root            ext3    defaults        1 2

/dev/VolGroup00/LogVol02 /porta_var              ext3    defaults        1 2

#LABEL=/boot             /boot                   ext3    defaults        1 2

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

/dev/VolGroup00/LogVol03 swap                    swap    defaults        0 0

3.2 Modules 2.6.27.54 (drivers)

Télécharger le tar contenant tous les fichiers nécessaire

# cd /mnt/root2/lib/modules/

# wget http://switzernet.com/3/public/101103--mr21-tar-ssh/data1/2.6.27.54.tar.gz

# gunzip 2.6.27.54.tar.gz

# cp 2.6.27.54.tar /mnt/root1/lib/modules

# tar xvf 2.6.27.54.tar

# cd /mnt/root2/lib/modules

# tar xvf 2.6.27.54.tar

 

Vérification

# ls /mnt/root1/lib/modules

2.6.18-164.0.0.0.1.el5  2.6.27.54  2.6.27.54.tar

# ls /mnt/root2/lib/modules

2.6.18-164.0.0.0.1.el5  2.6.27.54  2.6.27.54.tar

3.3 Réseaux

Récupération des informations :

# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:18:f3:5e:c3:13

          inet addr:91.121.14.113  Bcast:91.121.14.255  Mask:255.255.255.0

          inet6 addr: fe80::218:f3ff:fe5e:c313/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:910966 errors:0 dropped:0 overruns:0 frame:0

          TX packets:498502 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:1332902813 (1.2 GiB)  TX bytes:47583197 (45.3 MiB)

          Interrupt:23

 

lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:67 errors:0 dropped:0 overruns:0 frame:0

          TX packets:67 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:6394 (6.2 KiB)  TX bytes:6394 (6.2 KiB)

 

# cat /etc/network/interfaces

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

 

# The loopback network interface

auto lo

iface lo inet loopback

 

auto eth0

iface eth0 inet static

        address 91.121.14.113

        netmask 255.255.255.0

        network 91.121.14.0

        broadcast 91.121.14.255

        gateway 91.121.14.254

 

Modification du fichier ifcfg-eth0

# vi /mnt/root2/etc/sysconfig/network-scripts/ifcfg-eth0

# Intel Corporation 82578DC Gigabit Network Connection

DEVICE=eth0

BOOTPROTO=static

BROADCAST=91.121.14.255

#HWADDR=00:18:f3:5e:c3:13

IPADDR=91.121.14.113

NETMASK=255.255.255.0

NETWORK=91.121.14.0

ONBOOT=yes

 

Modification du fichier network

# vi /mnt/root2/etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=billing4.switzernet.com

GATEWAY=91.121.14.254

 

Copier les fichiers dans root1

# cp /mnt/root2/etc/sysconfig/network-scripts/ifcfg-eth0 /mnt/root1/etc/sysconfig/network-scripts/ifcfg-eth0

# cp /mnt/root2/etc/sysconfig/network /mnt/root1/etc/sysconfig/network

4 Annexe

4.1 Réseaux

Vous pouvez commenter la ligne indiquant l’adresse mac de la carte reseau du serveur dans le fichier  ifcfg-eth0.

# vi /mnt/root2/etc/sysconfig/network-scripts/ifcfg-eth0

# Intel Corporation 82578DC Gigabit Network Connection

DEVICE=eth0

BOOTPROTO=static

BROADCAST=91.121.14.255

#HWADDR=00:18:f3:5e:c3:13

IPADDR=91.121.14.113

NETMASK=255.255.255.0

NETWORK=91.121.14.0

ONBOOT=yes

 

L’adresse mac est insensible à la casse cependant il est toujours préférable de la commenter.

4.2 Ram Disk (Initrd)

4.2.1 Le rôle du fichier initrd

Dans le fichier de configuration menu.lst de grub (ou parfois grub.conf pour fedora redhat), chaque strophe qui définit le chargement d'un système Linux contient essentiellement deux clauses, la clause kernel qui nomme le fichier noyau Linux à charger et la clause initrd qui définit le fichier initrd associé à ce noyau.

initrd signifie "INITial Ram Disk". C'est un système de fichiers compressé, au format cpio. Il contient des bibliothèques, des modules, des commandes. Après que le noyau l'ait installé en RAM, ce dernier exécute le script init ou, dans les versions plus anciennes de Linux, linuxrc. Ce script est écrit en shell nash (man nash). Il contient essentiellement des commandes insmod qui chargent des modules ("drivers") dans le noyau et ensuite bascule vers un fonctionnement normal en montant le véritable "root file system".

Le cas emblématique  est celui d’ext3. Le pilote du système de fichiers ext3 n'est pas défini en statique dans le noyau.

C'est un pilote qui est chargé à la demande. Le montage du système fichiers root, le plus souvent de type ext3, n'est possible que si son pilote est dans le noyau. Le pilote se trouve sur le système de fichiers root qui n'est pas encore monté.

C'est un cercle vicieux, Heureusement le script init du fichier initrd procède au chargement du pilote avant même que le système de fichiers root soit monté.

Vous comprenez qu'il ne vous sera nécessaire de modifier le fichier initrd que dans de très rares cas, dont celui où un pilote est nécessaire avant même que le système de fichiers root soit monté.

4.2.2 Modification d’Initrd

Déployer l'arborescence contenue dans l'archive cpio :

# ls

initrd-2.6.27.54.img5.gz

# mkdir a

# cd a

# zcat ../initrd-2.6.27.54.img6.gz | cpio -i

17727 blocks

# ls

bin  dev  etc  init  init.bak  lib  proc  sbin  sys  sysroot

 

Modification du fichier init

# vi init

#!/bin/nash

 

echo "+-------------------------------+"

echo "|      Switzernet (c) 2010      |"

echo "+-------------------------------+"

echo "| Start Initrd 2.6.27.54        |"

echo "+-------------------------------+"

mount -t proc /proc /proc

setquiet

echo Mounting proc filesystem

echo Mounting sysfs filesystem

mount -t sysfs /sys /sys

echo Creating /dev

mount -o mode=0755 -t tmpfs /dev /dev

mkdir /dev/pts

mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts

mkdir /dev/shm

mkdir /dev/mapper

echo Creating initial device nodes

mknod /dev/null c 1 3

mknod /dev/zero c 1 5

mknod /dev/urandom c 1 9

mknod /dev/systty c 4 0

mknod /dev/tty c 5 0

mknod /dev/console c 5 1

mknod /dev/ptmx c 5 2

mknod /dev/rtc c 10 135

mknod /dev/tty0 c 4 0

mknod /dev/tty1 c 4 1

mknod /dev/tty2 c 4 2

mknod /dev/tty3 c 4 3

mknod /dev/tty4 c 4 4

mknod /dev/tty5 c 4 5

mknod /dev/tty6 c 4 6

mknod /dev/tty7 c 4 7

mknod /dev/tty8 c 4 8

mknod /dev/tty9 c 4 9

mknod /dev/tty10 c 4 10

mknod /dev/tty11 c 4 11

mknod /dev/tty12 c 4 12

mknod /dev/ttyS0 c 4 64

mknod /dev/ttyS1 c 4 65

mknod /dev/ttyS2 c 4 66

mknod /dev/ttyS3 c 4 67

echo Setting up hotplug.

hotplug

echo Creating block device nodes.

mkblkdevs

echo "+-------------------------------+"

echo "|      Switzernet (c) 2010      |"

echo "+-------------------------------+"

echo "| Loading modules *.ko          |"

echo "+-------------------------------+"

echo "Loading ehci-hcd.ko module"

insmod /lib/ehci-hcd.ko

mount -t usbfs /proc/bus/usb /proc/bus/usb

echo "Loading ssb.ko module"

insmod /lib/ssb.ko

echo "Loading ohci-hcd.ko module"

insmod /lib/ohci-hcd.ko

echo "Loading uhci-hcd.ko module"

insmod /lib/uhci-hcd.ko

echo "Loading jbd.ko module"

insmod /lib/jbd.ko

echo "Loading ext3.ko module"

insmod /lib/ext3.ko

echo "Loading scsi_mod.ko module"

insmod /lib/scsi_mod.ko

echo "Loading sd_mod.ko module"

insmod /lib/sd_mod.ko

 

echo "Loading cciss.ko module"

insmod /lib/cciss.ko

 

echo "Loading libata.ko module"

insmod /lib/libata.ko

echo "Loading ata_piix.ko module"

insmod /lib/ata_piix.ko

echo "Loading usb-storage.ko module"

insmod /lib/usb-storage.ko

echo "+-------------------------------+"

echo "|      Switzernet (c) 2010      |"

echo "+-------------------------------+"

echo "| Loading modules *.ko          |"

echo "+-------------------------------+"

echo Waiting for driver initialization.

stabilized /proc/bus/usb/devices

echo "Loading dm-mod.ko module"

insmod /lib/dm-mod.ko

echo "Loading dm-log.ko module"

insmod /lib/dm-log.ko

echo "Loading dm-mirror.ko module"

insmod /lib/dm-mirror.ko

echo "Loading dm-zero.ko module"

insmod /lib/dm-zero.ko

echo "Loading dm-snapshot.ko module"

insmod /lib/dm-snapshot.ko

echo Waiting for driver initialization.

stabilized --hash --interval 1000 /proc/scsi/scsi

mkblkdevs

echo Scanning and configuring dmraid supported devices

echo "+-------------------------------+"

echo "|      Switzernet (c) 2010      |"

echo "+-------------------------------+"

echo "| Scanning LVM partition        |"

echo "+-------------------------------+"

echo Scanning logical volumes

lvm vgscan --ignorelockingfailure

echo Activating logical volumes

lvm vgchange -ay --ignorelockingfailure VolGroup00

lvm vgchange -ay --ignorelockingfailure VolGroup01

resume /dev/VolGroup00/LogVol03

resume /dev/VolGroup01/LogVol03

echo Creating root device.

mkrootdev -t ext3 -o defaults,ro LABEL=switzeroot

mkrootdev -t ext3 -o defaults,ro /dev/VolGroup00/LogVol01

mkrootdev -t ext3 -o defaults,ro /dev/VolGroup01/LogVol01

echo Mounting root filesystem.

mount /sysroot

echo Setting up other filesystems.

setuproot

echo Switching to new root and running init.

echo "+-------------------------------+"

echo "|      Switzernet (c) 2010      |"

echo "+-------------------------------+"

echo "|            * END *            |"

echo "+-------------------------------+"

switchroot

 

Reconstruction du fichier initrd.xx.img

# find . | cpio -o -H newc >../initrd-2.6.27.54.img6.gz

# cd ..

# ls

initrd-2.6.27.54.img5.gz  initrd-2.6.27.54.img6.gz

 

Vous noterez, l'option -H newc de la commande cpio. Si vous omettez cette option, vous obtiendrez un plantage lors du démarrage, un "kernel panic".

L'argument newc de l'option -H désigne un format pour accepter les systèmes de fichiers de plus de 65535 inodes.

4.3 Booter billing4 sans LVM

Vous pouvez booter le billing4 sans LVM en utilisant seulement la partition root2 qui contient tous les fichiers du la partition root de ce dernier.

Vous devez créer une partition 83 par exemple sda5 avec fdisk.

Formater cette partition en ext3 avec mkfs.

Rebooter et ensuite monter la partition.

Télécharger http://switzernet.com/3/company/100830-tar-pb-mr21/data1/100830,1925,billing4,root2.tar.bzip2 dans la partition sda5 et la décompresser avec tar.

Modifier comme indique ci-dessus les fichiers ifcfg-eth0, network et fstab.

Donner un LABEL à cette partition :

# e2label /dev/sda5 switzeroot

 

Ajouter dans Grub (menu.lst) les lignes suivantes :

title MR21-2 2.6.27.54 Initrd6

        root (hd0,1)

        kernel /vmlinuz-2.6.27.54 root=LABEL=switzeroot ro elevator=deadline

        initrd /initrd-2.6.27.54.img6.gz

l’initrd cherche ce Label comme la partition root par défaut donc même si vous supprimez l’option root, le kernel bootera sur cette partition.

5 Référence

Restore the Porta-Switch from tar files installation on LVM partitions[]

http://switzernet.com/3/public/100926-mr21-tar-lvm/

 

Linux Loadable Kernel Module HOWTO

http://www.ibiblio.org/pub/linux/docs/HOWTO/other-formats/pdf/Module-HOWTO.pdf

 

Comprendre et modifier un fichier initrd

http://aasoftware.eu/index.php?option=com_content&task=view&id=44&Itemid=39

 

Dowload fedora

http://download.fedora.redhat.com/pub/fedora/linux/releases/

 

Creation of a Redhat RHEL Kernel 2.6.9-11 for Debian 3.1r0a Sarge

http://www.debian-administration.org/articles/274

 

Installer Ubuntu sans CD, ni clé USB: Ubuntu NetInstall

http://www.jellykernel.org/geek/installer-ubuntu-sans-cd-ni-cle-usb-ubuntu-netinstall/

 

Recettes pour le HOWTO Root RAID

http://www.docmirror.net/fr/linux/howto/os/Root-RAID-HOWTO/Root-RAID-HOWTO.html#toc2