Outils pour utilisateurs

Outils du site


informatique_newbie_install_linux

Ceci est une ancienne révision du document !


Installation Linux

Mes droits

 # adduser thierry adm

Ce qui me permet au moins de pour consulter /var/log/syslog

 # adduser thierry staff

C'est bien aussi.

Premiers pas dedans

Mes modules Perl dans **/usr/local/lib/site_perl**

Faire perl -V pour verifier.

 # mkdir /usr/local/lib/site_perl
 ( drwxr-sr-x 2 root staff 4096 2006-10-13 15:45 site_perl )
 # chmod g+w /usr/local/lib/site_perl

Le groupe staff peut ecrire dedans.

Vi en editeur pour crontab

Editer ~/.bashrc et ajouter:

 export EDITOR=/usr/bin/vim

Ou mieux, pour l'ensemble du systeme, editer /etc/profile et ajouter:

 export EDITOR=/usr/bin/vim

SSH

Voir ici : SSH

exim4

Reconfigurer pour que les mail pour root vont a un user qui peut lire sur son mail ordinaire.

 # dpkg-reconfigure exim4-config
 -> Smarhost et pas de distribution locale
 ... mettre le SMTP qui va bien.

Puis editer /etc/aliases pour avoir a la fin:

 ...
 root: adresse_mail@diodsidso.fr

Faire un test:

 echo "hello world" | mail -s "test" root@localhost

lspci

Parfois utile, la commande lspci est installé par:

 # apt-get install pciutils

Ctrl+Alt Suppr

Desactiver le reboot d'un serveur:
Editer /etc/inittab et commenter la ligne comme ça:

#ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

Pour que la modification soit prise en compte immediatement (et pas seulement au prochain boot), faire:

# init q

Et voila.

Disk SATA en RAID

Je me suis trés fortement inspiré du lien ci-dessous
Lien:

http://xtronics.com/reference/SATA-RAID-debian-for-2.6.html

Mais il y a aussi:

http://marc.theaimsgroup.com/?l=linux-raid&m=108571782912454&w=2

Actuellement, il n'est pas possible de configurer un RAID fonctionnel avec des disks SATA au moment de l'installation de debian: y a un bug !!!!!!!

Donc, il faut installer le RAID

aprés l'installation.

Installation de Debian

On installe Debian en prevoyant qu'on va faire du RAID. Ca me parait mieux ainsi.
On suppose qu'on veut faire du RAID 1 et qu'on a donc de 2 disks: sda et sdb
Le partitionnage des disks:
sda:

 Partition Primaire: sda1: /boot ext3 256 MB
 Partition Logique: sda5: swap 3 GB (pour 1 GB de RAM)
 Partition Logique: sda6: / ext3 le reste du disk

sdb:

 Même decoupage, mais le systeme de fichier en 'Linux raid autodetect'

Il peut être utile de marquer les partitions sda1 et sdb1 comme bootable.

Ce qui donne a peu pres:

 Disk /dev/sdb: 81.9 GB, 81964302336 bytes
 255 heads, 63 sectors/track, 9964 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
    Device Boot      Start         End      Blocks   Id  System
 /dev/sdb1   *           1          31      248976   fd  Linux raid autodetect
 /dev/sdb2              32        9964    79786822+   5  Extended
 /dev/sdb5              32         396     2931831   fd  Linux raid autodetect
 /dev/sdb6             397        9964    76854928+  fd  Linux raid autodetect

Une fois l'installation terminé…

Note: on peut partionner autrement… tout dans une seule partition, ca doit etre possible.

mdadm

Au prealable:

Si on veut editer les partitions avant d'installer le RAID, il faut utiliser cfdisk:

 # cfdisk /dev/sdb

Non tester: Si on veut copier les partitions existantes d'un disk sur un autre:

 # sfdisk -d /dev/sda | sfdisk /dev/sdb

Partition sdb

Donc a demarré le nouveau systeme et on a un disk sda operationnel et sans RAID, et un disk sdb non fonctionnel mais preparer pour le RAID.

Installer les outils:

 # apt-get install wajig
 # wajig install mdadm
 # wajig install rsync

wajig fait apt-get install … mais avec un je ne sais quoi de mieux…?

a verifier: En fait, je crois qu'on pourrait faire la même chose sans wajig, mais le probleme c'est que apt-get install mdadm met immediatement en place le RAID alors que ce n'est pas ce qu'on souhaite a ce moment là. (Peut être faut-il partitionner le disk aprés l'installation de mdadm)

A installer aussi:

 # apt-get install initrd-tools

Sinon, on pourra pas utiliser mkinitrd plus tard…

Creer les volumes RAID:

 # mdadm -Cv /dev/md0 -l1 -n2 missing /dev/sdb1
 # mdadm -Cv /dev/md1 -l1 -n2 missing /dev/sdb5
 # mdadm -Cv /dev/md2 -l1 -n2 missing /dev/sdb6

Ce qui est equivalent a (pour la 1er ligne):

 # mdadm --create /dev/md0 --level 1 --raid-devices=2 missing /dev/sdb1

Cela a créé 3 RAID 1 dégradé ( /boot swap et /) avec un disk manquant.

 #cat /proc/mdstat
 Personalities : [raid1]
 md1 : active raid1 sdb5[1]
       979840 blocks [2/1] [_U]
 md0 : active raid1 sdb1[1]
       192640 blocks [2/1] [_U]
 md2 : active raid1 sdb6[1]
       159661888 blocks [2/1] [_U]
 unused devices: <none>

Creer les systemes de fichiers et les mounter

 # mkfs.ext3 /dev/md0
 # mkfs.ext3 /dev/md2
 # mkswap /dev/md1

En ext3 ou autres d'ailleurs… mais ce sera en ext3.

Pour nos manipulation ultérieur, on prépare des choses:

 # mkdir /mntroot
 # mkdir/mntboot
 # mount /dev/md2 /mntroot
 # mount /dev/md0 /mntboot

Preparer **initrd**

initrd est le ce qui chargé au moment du boot dans un (temporaire) Ram Disk.

Pour les disks SATA, soyons attentif a ça: editer le fichier /etc/mkinitrd/mkinitrd.conf et modifier:

    MODULES=most

en

    ###MODULES=most
    MODULES=dep

et

    ROOT=probe

en

    ###ROOT=probe
    ROOT="/dev/md2 ext3"

Et maintenant, examinons le repetoire /boot (ou uname -r) pour savoir comment nommé les fichiers:

 # uname -r
 2.6.17-2-686
 # ls /boot -la
 ...
 -rw-r--r--  1 root root 4629674 2006-11-16 13:52 initrd.img-2.6.17-2-686
 ...

Donc on fait: maintenant:

 # mkinitrd -o /boot/initrd.img-2.6.17-2-686-md 2.6.17-2-686

Editer **/boot/grub/menu.lst** :

A partir la copie d'un modele: (Par exemple)

 title Debian GNU/Linux, kernel 2.6.17-2-686
 root (hd0,0)
 kernel /vmlinuz-2.6.17-2-686 root=/dev/sda6 ro 
 initrd /initrd.img-2.6.17-2-686
 savedefault
 boot

On fait les modifications suivante:

 title Debian GNU/Linux, kernel 2.6.17-2-686-md Disk1
 root (hd0,0)
 kernel /vmlinuz-2.6.17-2-686 root=/dev/md2 ro 
 initrd /initrd.img-2.6.17-686-md
 savedefault
 boot

Et a partir de ce nouveau block faire une copie et apporter les modifications suivantes:

 title Debian GNU/Linux, kernel 2.6.17-2-686-md Disk2
 root (hd1,0)
 kernel /vmlinuz-2.6.17-2-686 root=/dev/md2 ro 
 initrd /initrd.img-2.6.17-686-md
 savedefault
 boot

(Re)generer un fichier **/etc/mdadm/mdadm.conf** :

Editer /etc/mdadm/mdadm.conf et avoir pour seule ligne dans le fichier:

    DEVICE /dev/sda* /dev/sdb*

Ensuite faire:

 # mdadm --detail --scan >> /etc/mdadm/mdadm.conf

Tout copier sur le disk RAID dégradé

 # rsync -auHxv --exclude=/proc/* --exclude=/sys/* --exclude=/boot/* --exclude=/mntboot --exclude=/mntroot/ /* /mntroot/
 # mkdir /mntroot/proc /mntroot/boot /mntroot/sys 
 # chmod 555 /mntroot/proc
 # rsync -auHx   /boot/ /mntboot/

Faire des modifications dans **/mntroot/etc/fstab**:

Les changements sont en bleu:

 /etc/fstab: static file system information.
 #
 # <file system> <mount point>   <type>  <options>       <dump>  <pass>
 proc            /proc           proc    defaults        0       0
 /dev/md2        /               ext3    defaults,errors=remount-ro 0       1
 /dev/md0        /boot           ext3    defaults        0       2
 /dev/md1        none            swap    sw              0       0
 /dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0

Reboot !

On devrait pouvoir booter sur le RAID … Disk1, sinon, on peut encore faire un autre choix.

Si tout va bien, on continue.

Attacher le disk original...

D'abord, on change les types des partitions de sda en Linux raid autodetect (FD)

 # cfdisk /dev/sda
 ... changer le type des partitions en **FD**

Puis on attache:

 # mdadm /dev/md0 -a /dev/sda1
 # mdadm /dev/md1 -a /dev/sda5
 # mdadm /dev/md2 -a /dev/sda6

Verifions que ca marche (exemple):

 # cat /proc/mdstat
 Personalities : [raid1]
 md0 : active raid1 sda1[0] sdb1[1]
       192640 blocks [2/2] [UU]
 md1 : active raid1 sda5[0] sdb5[1]
       979840 blocks [2/2] [UU]
 md2 : active raid1 sda6[2] sdb6[1]
       159661888 blocks [2/1] [_U]
       [===>.................]  recovery = 17.9% (28697920/159661888) finish=56.4min speed=38656K/sec
 unused devices: <none>

Et aprés quelques longues minutes:

 # cat /proc/mdstat
 Personalities : [raid1]
 md0 : active raid1 sda1[0] sdb1[1]
       192640 blocks [2/2] [UU]
 md1 : active raid1 sda5[0] sdb5[1]
       979840 blocks [2/2] [UU]
 md2 : active raid1 sda6[2] sdb6[1]
       159661888 blocks [2/2] [UU]
 unused devices: <none>

Regenerer initrd

Oui, il faut aboslument faire ca apres que le RAID est OK, sinon, il sera toujours degradé et recontruit a chaque mise a jour du noyau.

 # mkinitrd -o /boot/initrd.img-2.6.17-2-686-md 2.6.17-2-686

Regenerer **/etc/mdadm/mdadm.conf** :

Editer /etc/mdadm/mdadm.conf et avoir pour seul ligne de texte:

    DEVICE /dev/sda* /dev/sdb*

Et puis faire:

 # mdadm --detail --scan >> /etc/mdadm/mdadm.conf

Au final on a un fichier qui ressemble a ça:

DEVICE /dev/sda* /dev/sdb* ARRAY /dev/md0 level=raid1 num-devices=2 UUID=4d58ade4:dd80faa9:19f447f8:23d355e3

   devices=/dev/sda1,/dev/sdb1

ARRAY /dev/md1 level=raid1 num-devices=2 UUID=3f1bdce2:c55460b0:9262fd47:3c94b6ab

   devices=/dev/sda5,/dev/sdb5

ARRAY /dev/md2 level=raid1 num-devices=2 UUID=7dfd7fcb:d65245d6:f9da98db:f670d7b6

   devices=/dev/sdb6,/dev/sda6

Configurer **grub** pour booter sur les 2 disks

Install the MBR on the second disk

 # grub --device-map=/boot/grub/device.map
 >> root (hd0,0)
 >> setup (hd0)
 >> root (hd1,0)
 >> setup (hd1)
 >> quit 

Faire en sorte que grub designe MD comme periphérique root. (Attention, le simple '#' n'est pas un commentaire !!!!)
Editer /boot/grub/menu.lst et transformer:

 # kopt=root=/dev/sda6 ro

en

 # kopt=root=/dev/md2 ro

Re-configurer le daemon mdadm:

 # dpkg-reconfigure mdadm

Et je crois que cette opération regenere encore un initrd plus clean, avec le nom original (c'est a dire sans -md a la fin)

Reboot et nettoyage

Rebooter pour voir si tout va bien…

Faire une copie de sauvegarde de menu.lst:

 # cp /boot/grub/menu.lst /boot/grub/menu.lst-old

Puis faire:

 # update-grub

Cela regenere un fichier menu.lst propre. Mais les choix pour booter sur le initrd…md a disparu. Par securite et a partir de menu.lst-old, remettre les choix …Disk1 et …Disk2 ceci fait: rebooter.

Si tout va bien, alors on peut refaire un update-grub et effacer les images initrd…md et toutes references a ce fichier: sinon, on peut encore rebooter en choissisant …Disk1.

**mdadm** trucs...

Voir l'etat des RAID

 # cat /proc/mdstat

Voir les details

 # mdadm --detail /dev/md0

Ajouter un disk au RAID

 # mdadm /dev/md0 --add /dev/sda1

Casser un RAID en retirant un disk

 # mdadm /dev/md0 --fail /dev/sdb1 --remove /dev/sdb1

(non testé) arreter et liberer toutes les ressources

 # mdadm --stop /dev/md0

Voir: man mdadm

–Fin.–

FakeRaid

La plupart des systemes RAID gerer au niveau du BIOS avec des disks serial ATA sont des FakeRaid

https://wiki.ubuntu.com/FakeRaidSpechttps://help.ubuntu.com/community/FakeRaidHowto

C'est dire qu'ils se comportent comme des Raid Hardware, sans en etre vraiment.
Et surtout, ils ne sont pas toujours reconnu par Linux, qui a defaut, voit toujours les disks physiques composant le RAID, au lieu d'un volume RAID.

supermicro P4SCI

http://www.supermicro.com/products/motherboard/P4/E7210/P4SCi.cfm

Le RAID logiciel avec des disks serial-ATA ne fonctionne pas… C'est expliqué ici:

http://www.gatago.com/linux/debian/maint/boot/22631370.html

On essai le RAID (presque) hardware

Controleur: Adaptec Embedded Serial ATA with HostRAID
Puce (supposé): Intel E7210
SATA RAID→P4SCI→“Hance Rapids”→ Adaptec

ICH5R Hance Rapids

Ce qui m'amene au FakeRaid.

A priori, il n'y aurait qu'ubuntu-server pour me sauver.

Ni Debian, ni Ubuntu ne reconnaissent ce FakeRaid.

poweredge 860 RAID

Liens:

http://linuxmafia.com/faq/Hardware/sas.html

Pistes:

SAS 5i/R or PERC 5/e PERC=Power Edge RAID Controler LSI Logic MegaRAID card megaraid_sas driver

 # lsmod | grep sas
 mptsas                 22476  2
 mptscsih               21504  1 mptsas
 mptbase                46208  3 mptctl,mptsas,mptscsih
 scsi_transport_sas     20512  1 mptsas
 scsi_mod              123080  4 sd_mod,mptsas,mptscsih,scsi_transport_sas

Mais encore:

 # lsmod | grep mpt
 mptctl                 22500  0
 mptsas                 22476  2
 mptscsih               21504  1 mptsas
 mptbase                46208  3 mptctl,mptsas,mptscsih
 scsi_transport_sas     20512  1 mptsas
 scsi_mod              123080  4 sd_mod,mptsas,mptscsih,scsi_transport_sas

Installons quelques outils:

 # apt-cache search mpt-status 

Comme mpt-status retourne une erreur, il faut faire aussi:

 # modprobe mptctl

Ce qui crée un device ici: /dev/mptctl, et enfin:

 # mpt-status
 ioc0 vol_id 0 type IM, 2 phy, 73 GB, state OPTIMAL, flags ENABLED
 ioc0 phy 1 scsi_id 32 ATA      ST380819AS       8.05, 74 GB, state ONLINE, flags NONE
 ioc0 phy 0 scsi_id 1 ATA      ST380819AS       8.05, 74 GB, state ONLINE, flags NONE

Normalement, un daemon tourne, mais il tourne mal parce qu'il laisse des zombies… Donc j'ai modifié /etc/init.d/mpt-statusd pour avoir ça:

 #if ! [ -d "/proc/scsi/mptspi" ] ; then
 if ! [ -d "/proc/scsi/mptsas" ] ; then

Parce que le test en commentaire ne fonctionne pas… je ne sais pas ce que cela signifie.

informatique_newbie_install_linux.1188059490.txt.gz · Dernière modification : 2007/08/25 16:31 de thierry