Re-construction de disque physique avec le controleur raid h700

http://support.dell.com/support/edocs/storage/Storlink/H700H800/en/UG/HTML/chapterh.htm#wp1098020

….

Performing a Manual Rebuild of an Individual Physical Disk

Use the following procedures to rebuild one failed physical disk manually.

  1. Press <Ctrl><N> to access the PD Mgmt screen.

A list of physical disks is displayed. The status of each disk is displayed under the heading State.

  1. Press the down-arrow key to highlight a physical disk that has a failed state.

  2. Press <F2> to display a menu of available actions.

The Rebuild option is highlighted at the top of the menu.

Press the right-arrow key to display the rebuild options and select Start.

  1. After you start the rebuild, press <Esc> to display the previous menu.
NOTE: You can also use the VD Mgmt screen to perform a manual rebuild. Use the arrow key to highlight a physical disk, and press <F2>. In the menu that is displayed, select the Rebuild option.

CAUTION: If a physical disk is a member of a disk group that contains multiple virtual disks and one of the virtual disks is deleted when a rebuild operation is in progress, the rebuild operation stops. You can then resume the rebuild operation manually using a storage management application. To

Configuration du switch alcatel 6250

I) Commandes de bases

1) Gestion des mémoires

- Pour afficher la configuration :

show configuration snapshot all

- Pour sauvegarder la configuration dans la mémoire « Working » :

copy running-config working

ou

write memory

- Pour sauvegarder la configuration dans la mémoire « certified » :

copy working certified
En mode stack:
copy working certified flash-synchro

- Pour supprimer la configuration :

rm /flash/working/boot.cfg
rm /flash/certified/boot.cfg
cd working
reload working no rollback-timout
>yes

2) Gestion du système

- Pour afficher la version :

show microcode
show hardware info

- Pour configurer le nom du système (SNMP) :

system name <NOM_DU_SYSTEME>

- Pour configurer le nom du prompt :

session prompt default <Nom_Du_prompte>

- Pour configurer le contact administrateur :

system contact <NOM_DU_CONTACT>

- Pour configurer la localisation du Switch :

system location <NOM_DE_LA_LOCALISATION>

- Création d’un utilisateur :

user <NOM> password <PASSWORD>

3) Configuration des interfaces

- Configurer une adresse IP :

ip interface <NAME> address <@IP> mask vlan
Suppression de ip interface
no ip interface <NAME>

- Configurer la vitesse de fonctionnement d’un port :

interfaces <slot/port> speed <100> ou <10>

- Configurer le mode de fonctionnement du port :

interfaces <slot/port> duplex ou

- Visualiser une interface :

show interface

- Visualiser les adresses MAC :

show mac-address-table

- Visualiser les interfaces IP :

show ip interface

4) Gestion ARP

- Voir la table ARP :

get arp

- Ajouter une ligne dans la table :

arp <IP> <MAC>

- Supprimer une ligne dans la table :

no arp <IP>

- Effacer toutes les lignes dynamiques de la table :

clear arp-table

- Configurer le timeout des lignes de la table :

mac-address-table aging-time <SECONDS> [vlan <XXX>]

[vlan ] : Est optionnel.

5) Configuration DNS

- Configuration d’un serveur DNS :

ip name-server <@IP_DU_SERVEUR_DNS1> <@IP_DU_SERVEUR_DNS2>

- Configuration du nom de domaine :

ip domain-name <NOM_DU_DOMAINE>

- Activation de la résolution DNS :

ip domain-lookup

II) Gestion des Vlans

Dans les commandes ci-dessous « XXX » est le numéro de vlan.

- Création de Vlans :

vlan XXX enable name <NOM_DU_Vlan>

- Suppression de Vlans :

no vlan <XXX>

- Ajouter un port dans un Vlan :

vlan <XXX> port default <slot/port>

- Voir les informations de tous les Vlans :

show vlan

- Voir les informations d’un vlan :

show vlan <XXX>

- Voir plus d’information sur un vlan :

show <XXX> details

- Voir la répartition des ports dans les Vlans :

show vlan port

- voir les ports faisant partie d’un vlan :

show vlan <XXX> port

- Voir dans quel Vlan se trouve un port :

show vlan port <Slot/port>

III) Gestion du trunk

- Pour créer un lien trunk, il faut tagger les ports par les numéros de Vlans que l’on veut transporter par le lien.

vlan <XXX> 802.1Q <slot/port>
vlan <XXX> 802.1Q <slot/port>

Autant de fois que le nombre de Vlan à tagger.

- Pour supprimer un vlan du trunk :

vlan <XXX> no 802.1Q <slot/port>

IV) Configuration NTP

- Pour configurer l’adresse du server NTP :

ntp server <@IP_DU_SERVEUR>
ntp client enable

- Pour vérifier le bon fonctionnement du NTP :

show ntp client
show ntp server_list

V) Configuration domaine & DNS

- Configurer l’adresse IP des serveurs DNS :

ip name-server <@IP_SERVEUR_1> <@IP_SERVEUR_2>

- Configurer le nom du domaine :

ip domain-name <NAME>

- Pour la résolution des noms :

ip domain-lookup

VI) Configuration du relais DHCP

- Voici les commandes pour réaliser un relais DHCP :

ip service udp-relay

- Par Vlan :

ip helper per-vlan only
ip helper address <@IP_SERVEUR_DHCP> vlan <XXX>

VII) Configuration du STP

Avec Alcatel il existe deux modes de fonctionnement de STP :

  • 1×1 -> Une instance par Vlan -> mode recommandé
  • flat -> Une instance générale

- Pour activer le mode flat :

bridge mode flat

- Pour activer le mode 1×1 :

bridge mode 1x1

- Pour contrôler le STP sur un Vlan :

vlan <XXX> stp <ENABLE/DISABLE>

- Pour contrôler le STP sur un port :

bridge <XXX> SLOT/PORT <ENABLE/DISABLE>

- Pour donner une priorité au vlan pour le STP :

bridge <XXX> priority <VALEUR>

- Pour vérifier le fonctionnement du STP :

show spantree
show spantree <XXX>
show spantree <XXX> ports

IIX) Configuration Port mirroring

- Pour configurer le port mirroring :

port mirroring <SESSION> source <slot/port> destination <slot/port> enable

- Pour désactiver le port mirroring :

no port mirroring <SESSION>

- Visualiser le statut du port mirroring :

show port mirroring status

IX) Agrégation de liens

- Pour créer une agrégation de liens :

static linkagg <X> size <Y>

X : Correspond au numéro de groupe d’agréation de liens. Y : Correspond aux nombres de liens (de 2 à 8)

- Pour ajouter un port dans le groupe d’agrégation de liens :

static agg <slot/port> agg num <X>
static agg <slot/port> agg num <X>

- Pour vérifier l’agrégation de liens :

show linkagg [agg_num]
show linkagg port [slot/port]

- Pour faire de l’agrégation d’un lien trunk :

vlan <XXX> 802.1Q <X>
vlan <XXX> 802.1Q <X>
vlan <XXX> 802.1Q <X>

XXX : Correspond au numéro du vlan. X : Correspond au numéro de groupe d’agréation de liens.

X) Configuration du stack

- Modifier le slot du stack :

stack set slot <NUM_ACTUEL> saved-slot <NOUVEAU_NUM>

- Pour visualiser la topologie du stack :

show stack topology

Remarque:

  • master : le plus petit numéro de stack
  • secondary : le deuxième plus petit numéro de stack
  • idle : tous les autres.

En cas de chute du master :

  • secondary àmaster
  • 3ème plus petit numéro : idle àsecondary

 

XI) Serveur HTTP

- Activer le serveur Web :

http server

- Désactiver le serveur web :

no http server

- Activer le serveur web sécurisé (HTTPS) :

http ssl

XII) Authentification

- Activer tous les accès distant :

aaa authentification default local

- Activer seulement l’accès Telnet :

aaa authentification telnet local

- Activer seulement l’accès web :

aaa authentification http local

- Pour visualiser les accès :

show aaa authentication
Modifier la taille min du mot de passe
user password-size min

XIII) Gestion des logs

- Visualiser toutes les logs :

show log swlog

- Pour visualiser les logs d’une heure précise :

show log swlog timestamp <mounth/day/year> <hour:minute>

- Vider les logs :

swlog clear

- Activer l’externalisation des logs vers un serveur Syslog :

swlog output socket <@IP_SERVEUR_SYSLOG>

XIV) Configuration SNMP

On commence par créer un utilisateur et ensuite on configure le SNMP.

- Création de l’utilisateur avec les bons droits :

user <username> read-only <snmp> ou <all> password <PASSWORD>

- On configure le serveur SNMP :

snmp security no security

- On associe l’utilisateur à la communauté SNMP :

snmp community map <Nom_de_la_communauté> user <Nom_du_user> on

- Pour configurer des « Trap SNMP » :

snmp station <@IP_SERVEUR> [<port>] <NOM_DE_USER> (v1|v2c|v3) enable
snmp authentification trap (enable|disable)

- Pour filtrer l’envoie de trap :

snmp trap filter <@IP_SERVEUR> <CODE_DE_FILTRAGE>

XV) Autres commandes

- Voir la table de routage (sur routeur) :

show ip route

- Activation de l’alimentation POE :

lan power start 1

- Visualisation de la configuration de l’alimentation POE :

show lanpower
show ? puis <enter>

Lien backports pour debian

http://backports-master.debian.org/Instructions/

Drbd+hearbeat+mon

merci à  telecom Lille

Pré-requis

Pour la réalisation d’une infrastructure haute disponibilité, nous utiliserons une distribution Linux DEBIAN Sarge. Cette distribution, relativement simple à prendre en main, est basée sur le système de paquets précompilés .DEB. Par ailleurs, la commande apt-get nous assure une installation simplifiée de tous les programmes indispensables à la mise en place de ce type de solution. Voici un récapitulatif du matériel et des logiciels utilisés pour notre infrastructure HA:

  • Matériel : Notre cluster est constitué de deux serveurs aux performances comparables mais pas forcément identiques. Le premier étant en mode actif, c’est-à-dire le serveur maître, et le second en mode passif ou esclave. C’est ce dernier qui fera office de relais au cas où le maître présente un dysfonctionnement. Ces deux serveurs nécessitent deux équipements réseau chacun. La première carte Ethernet étant reliée en RJ45 au switch du réseau local, et une seconde carte Ethernet gigabit dédiée à l’interconnexion entre les deux serveurs, pour permettre le transfert des données en temps réel et le déclenchement du basculement entre les serveurs en cas de panne ou de rétablissement d’un des deux.
  • Système : Linux Debian Sarge basée sur un kernel 2.4.x
  • Logiciels : DRBD v0.7 / Heartbeat v1.2 / Mon v0.99.

Remarques:

  • La distribution Linux debian étant basée sur un système de package de type DEB, nous utiliserons les versions pré-compilées pour i386.
  • Les dépendances sont satisfaites automatiquement lors de l’avec apt-get (sauf pour le programme Mon qui n’est pas dans l’arbre de packages de Debian. Il devrait donc être installé manuellement.
  • Il est bien entendu indispensable que votre machine dispose d’un accès à Internet.

Avant toutes choses, n’oubliez pas de mettre à jour votre liste de packages afin de vous assurer de récupérer la dernière version stable des logiciels.

# apt-get update

Installation de DRBD

Comme nous l’avons dit auparavant, DRBD permet de faire du RAID 1 par le réseau. C’est en partie grâce à ce mirroring que Heartbeat pourra mettre à disposition des services haute disponibilité.

DRBD s’installe en tant que module. Nous aurons donc besoin de récupérer les sources puis de les compiler. Voici la liste des commandes pour réaliser cette procédure (à réaliser sur les deux serveurs).

# apt-get install kernel-image-$(uname -r) kernel-headers-$(uname -r) build-essential
# apt-get install drbd0.7-utils drbd0.7-module-source
# apt-get install dpkg-dev kernel-package ncurses-dev patchutils
# cd /usr/src
# tar xfzv drbd0.7-tar.gz
# apt-get install gcc-3.4
# cd /usr/src/kernel-headers-2.4.27-2-386
# module-assistant

Une fois module-assistant lancé, allez dans SELECT, puis sélectionnez le module drbd0.7. Terminez en faisant un BUILD puis un INSTALL.

Le module est prêt à être lancé. Utilisez la commande modprobe pour le charger.

# modprobe drbd
            drbd:initialised. Version: 0.7.11 (api:77/proto:74)
            drbd: SVN Revision: 1807 build by lars@barkeeper1, 2005-06-07 19:33:30
            drbd: registered as block device major 147

Enfin, utilisez la commande lsmod pour vérifier que le module est bien chargé. Si vous obtenez ce type de résultat, cela signifie que tout s’est déroulé comme il se doit.

# lsmod | grep drbd
     drbd         144992       0

Installation de Heartbeat

Comme nous l’avons vu précédemment, Heartbeat constitue le lien permettant aux 2 serveurs de se prendre mutuellement le pouls. Heartbeat va nous permettre de former un cluster à partir des 2 machines. Chaque machine est appelée noeud du cluster.

L’installation de Heartbeat sur un système Debian est relativement simple, le paquet se trouvant dans les dépôts standards. La commande suivante doit être lancée sur les 2 machines afin d’installer le programme Heartbeat.

# apt-get install heartbeat

Heartbeat s’installe en tant que service. Vous obtiendrez une erreur à la fin de cette installation vous informant que le fichier ha.cf n’est pas présent. Ceci est normal et sera corrigé un peu plus bas.

Installation de Mon

Heartbeat surveille l’état du système mais pas celui des services. C’est ici qu’intervient Mon. Mon n’est pas dans l’arbre de paquets Debian. Il nous faudra donc l’installer manuellement. Les étapes suivantes sont encore une fois à effectuer sur les deux serveurs.
Récupérez le package Mon à l’adresse suivante : http://www.kernel.org/software/mon/. Téléchargez le dans /etc/ha.d puis exécutez les commandes suivantes pour l’installer.

# cd /etc/ha.d
# tar xzvf mon-0.99.2.tar.gz
# mv mon-0.99.2.tar.gz mon

De plus, Mon requiert quelques modules Perl externes. Vous pouvez utiliser votre CPAN (Comprehensive Perl Archive Network) habituel pour récupérer ces modules où utiliser la liste de liens ci-dessous.

Décompressez les archives avec la commande tar xvzf puis installez les modules en suivant la procédure suivante dans chacun des dossiers crées.

# perl Makefile.pl
# make && make install

Les dépendances de Mon sont maintenant installées. Nous allons maintenant nous intéresser à la configuration de ces services.

Configuration de DRBD

Préparation du système

Il nous faut maintenant choisir quelle partition sera dupliquée sur les 2 machines. Dans notre exemple, nous ferons le mirroring de la partition /home. Avant de commencer, vérifiez l’existence de la partition dans /etc/fstab afin d’identifier le volume correspondant à /home.

# cat /etc/fstab# perl Makefile.pl 

affichage tronqué
# /dev/hda6 /home  /ext3  defaults
affichage tronqué

Le volume correspondant à /home est donc /dev/hda6. Nous en aurons besoin plus tard. Il nous faut maintenant démonter cette partition et vérifier qu’elle est bien démontée.

# umount /home
# mount

Drbd.conf

Il existe 2 méthodes pour configurer DRBD. Directement en ligne de commande, ou par l’intermédiaire d’un fichier de configuration. Nous utiliserons ici la 2ème méthode. Commencez par créez le fichier /etc/drbd.conf si celui-ci n’existe pas encore. Voici le contenu du fichier de configuration de drbd utilisé dans notre exemple.

# déclaration du cluster
resource drbd {

  # protocole utilisé (voir plus bas)
  protocol C;

  # vitesse de transfert des données
  syncer {
     rate 100M;
     group 1;
}
  on Serv-maître {

     # peripherique drbd
    device     /dev/drbd0;

     #volume à synchroniser
    disk       /dev/hda6;

     # adresse ip du noeud et port
    address    192.168.0.2:7788;

     # emplacement des méta-données
    meta-disk  internal;
  }

  # même procédure
  on Serv-Esclave {
    device    /dev/drbd0;
    disk      /dev/hda6;
    address   192.168.0.3:7788;
    meta-disk internal;
 }
}

Nous utilisons ici le protocole C pour assurer une haute disponibilité maximale. Pour rappel, DRBD permet d’effectuer la transmission des données selon 3 protocoles. Reportez vous à la section principe pour plus d’informations concernant ces 3 protocoles. Remarque : le fichier de configuration doit être identique sur les 2 noeuds.

Synchronisation des noeuds

Nous allons maintenant définir Serv-maître comme étant le noeud maître de notre cluster. Ceci s’effectue avec la commande suivante :

# drbdadm primary all
            drbd0: Creating state block
            drbd0: resync bitmap: bits=943172 words=29476
            drbd0: size = 3684 MB (3772688 KB)
            drbd0: Assuming that all blocks are out of sync
            drbd0: 3772688 KB now marked out-of-sync by on disk bit-map.
            drbd0: drbdsetup 10872: cstate Unconfigured --> StandAlone

La synchronisation débute. Pour suivre l’évolution de la synchronisation vous pouvez utiliser la commande suivante.

# watch -n 5 cat /proc/drbd

L’état de la synchronisation sera affiché toutes les 5 secondes. Une fois la synchronisation terminée, le noeud primaire doit apparaître comme Primary et Consistent. Il faut ensuite formater le périphérique drbd puis le monter.

# mke2fs -j /dev/drbd0
# mount /dev/drbd0 /home

Remarque : dans le cas où l’on voudrait accéder aux données à partir du serveur secondaire, la partition dupliquée doit avant tout être démontée et le serveur primaire passé à l’état secondaire. Nous verrons par la suite comment automatiser cette procédure avec Heartbeat.

Configuration de Heartbeat

Heatbeat agit comme init pour lancer et arrêter les services. Par défaut, les fichiers de configuration de Heartbeat n’existent pas, il faut les créer dans le dossier /etc/ha.d et sont au nombre de 3 et doivent être identiques sur les 2 serveurs.

  • Ha.cf : Configuration générale.
  • Haresources : les ressources que Heartbeat devra gérer.
  • Auth.keys : méthode d’encryption utilisée pour la communication.

Ha.cf
Ce fichier définit les paramètres généraux de Heartbeat.

# Emplacement des messages de debug
debugfile /var/log/ha-debug

#  Autres messages
logfile /var/log/ha-log

#  Nombre de secondes entre chaque battements
keepalive 2

#  Temps avant qu'un noeud soit declare mort
deadtime 10

#  Port utilise pour la communication en UDP
udpport 694

# Interface utilisée
bcast eth0

# Récuperation automatique des ressources si les 2 serveurs
# sont à nouveau opérationnels
auto_failback on

#  Les noeuds de notre cluster
node Serv-maître
node Serv-Esclave

Haresources
Ce fichier définit les services dont heartbeat devra gérer les ressources. Ainsi dans notre exemple, nous aurions :

Serv-Esclave 192.168.0.4 apache2 mysql

Pour que heartbeat sache qu’il travaille sur un environnement mirroré avec DRBD, nous devons le lui indiquer dans le fichier haresources afin qu’en cas de panne, le serveur secondaire devienne primaire et puisse monter le volume drbd. Notre fichier devient donc :

Serv-Esclave 192.168.0.4 Filesystem::/dev/drbd0::/home::ext3 apache2 mysql

L’ajout de Filesystem::/dev/drbd0::/home::ext3 précise à Heartbeat où est située la partition DRBD, où la monter et quel est son système de fichier.

Authkeys
Ce fichier permet de sécuriser les échanges entre les 2 machines. Il définit la méthode d’encryption utilisée. Trois modes d’authentification sont disponibles :

  • crc
  • md5
  • sha1
# auth identifiant
auth 1

# identifiant méthode utilisée
1 crc

Dans notre exemple, une authentification crc est suffisante du fait d’une liaison dédiée. Veillez à appliquer les permissions adéquates sur ce fichier de sorte que seul l’utilisateur root puisse y accéder (un mask de 0600 est fortement recommandé). Il ne reste plus qu’à démarrer Heartbeat avec la commande suivante :

/etc/init.d/heartbeat start

Configuration de Mon

Script de démarrage
Nous allons maintenant voir comment configurer la surveillance des services sur les serveurs avec Mon. Tout d’abord, nous allons avoir besoin d’un script permettant à Mon de gérer l’état de Heartbeat, permettant ainsi un passage des ressources en cas de non réponse d’un service. Le dossier mon.alert contient un ensemble de scripts permettant à Mon de générer des alertes en cas de défaillance des services. Créez le fichier ha-up-down.alert dans /etc/ha.d/mon/mon.alert.

#!/bin/bash

# arrêt/démarrage du service heartbeat
HEARTBEAT="/etc/rc.d/init.d/heartbeat"
if [ "$9" = "-u" ]; then
       $HEARTBEAT start
else
       $HEARTBEAT stop
Fi

# envoi d'un mail aux administrateurs (argument passé par mon.cf)
/etc/ha.d/mon/alert.d/mail.alert $*

Mon.cf
Ensuite, créez le fichier mon.cf dans /etc/ha.d/mon. Ce fichier contient la liste des services que « mon » doit surveiller et les actions résultantes de divers évènements. L’exemple suivant montre comment surveiller l’état d’un serveur http et basculer les ressources en cas de non réponse.

# emplacement des fichiers de configuration/d'alerte/logs
cfbasedir   = /etc/ha.d/mon/etc
alertdir    = /etc/ha.d/mon/alert.d
mondir      = /etc/ha.d/mon/mon.d
statedir        = /etc/ha.d/mon/state.d
logdir = /var/log/

# type d'authentification
authtype = getpwnam

# le serveur à surveiller
hostgroup server 127.0.0.1

# les services à surveiller sur le serveur
watch server
    service http
        interval 30s
        monitor http.monitor
        period wd {Mon-Sun}

# les actions en cas de panne/retour à la normale
        alert ha-up-down.alert -S "service httpd down !" \
            administrateur@domaine.com
        upalert mail.alert -S "service httpd up !" \
                administrateur@domaine.com

# délai entre chaque alerte
        alertevery 600s

Vérification du fonctionnement du cluster

Enfin, démarrez « mon » avec la commande suivante :

/etc/ha.d/mon/mon

Remarque : Il s’agit ici d’un test. Il est bien entendu possible et recommandé de spécifier d’autres scripts à la place de celui que nous avons créé. Le passage des ressources étant la méthode la plus radicale, un rechargement ou un redémarrage du/des service(s) posant problème peut s’avérer approprié avant d’effectuer une bascule.
Notre infrastructure haute disponibilité est maintenant prête. Pour tester celle-ci, il nous suffira de débrancher le câble réseau reliant les 2 serveurs ou bien d’éteindre le serveur primaire. Au bout de quelques secondes, le fichier ha.log du serveur secondaire affichera des alertes et la prise de relais s’effectuera.

# tail -f /var/log/ha.log
affichage tronqué
heartbeat: ... WARN: node master: is dead
heartbeat: ... info: Link master:eth0 dead.
heartbeat: ... info: Running /etc/ha.d/rc.d/status status
heartbeat: ... info: Running /etc/ha.d/rc.d/ifstat ifstat
heartbeat: ... info: Running /etc/ha.d/rc.d/ifstat ifstat
heartbeat: ... info: Taking over resource group 172.17.10.30
heartbeat: ... info: Acquiring resource group: master 192.168.0.2 apache2 mon
affichage tronqué

La connexion entre les deux serveurs peut se faire par un cable croise lié les deux serveurs drbd

Le même test peut être effectué en arrêtant le serveur web Apache.

Commande système shred pour initialiser un disque dur/partition sous linux

Les options proposés par shred sont les suivantes:

-f, –force Change les permissions du fichier pour effectuer les opérations demandées.
-n X, –iterations=X Réécris X fois le fichier.
-u, –remove Tronquer et supprimer le fichier après réécriture.
-v, –verbose Sortie verbeuse, affiche les opérations en cours.
-x, –exact Ne pas arrondir la taille des blocs.
-z, –zero Réécris des zeros pour masquer le shredding.

Exemples:
//vider (remplir avec des zéros) la partition sda6:
#shred -zvf -n 1 /dev/sda6
//
#ps -ef > toto.txt
#shred -uvz -n 50 toto.txt //écrit 50 fois le fichier (lors de la dernière réécriture, avec des zéros)toto.txt puis le supprimmera et affichant le déroulement des opérations à l’écran