juin 29 2011

HPVM disk physical/virtual mapping script

Tag: Scripts,UnixUggla @ 17 h 02 min

This is a short script to create a physical (host)/virtual (guest) map.
This is a basic script written quickly, that was used to simplify data migration operations. So improvements welcomed.

    Requirements :

  • script must be run from host. (not guest)
  • ssh must be allowed using keys (no passwd) to all guests.
  • hpvmstatus command must be available from path.

#!/usr/bin/perl

use strict;
use warnings;
use Data::Dumper;

my @hpvmstatus=`hpvmstatus`;
my @vms;
my $vm;

my %vm_data;

foreach(@hpvmstatus) {
        ($vm)=$_ =~ /^(.+)\s+[0-9]+\sHPUX\s+On/;
        if (defined($vm)){
                $vm =~ s/\s+//g;
                push (@vms,$vm);
        }
}

foreach $vm (@vms){
        my @hpvmstatus_vm=`hpvmstatus -P $vm`;

        foreach(@hpvmstatus_vm){
                #Device  Adaptor    Bus Dev Ftn Tgt Lun Storage   Device
                #======= ========== === === === === === ========= =========================
                #disk    avio_stor    0   2   0   0   0 disk      /dev/rdisk/disk17

                (my $ftn,my $tgt,my $lun,my $disk)=$_ =~ /^disk\s+avio_stor\s+\d+\s+\d+\s+(\d+)\s+(\d+)\s+(\d+)\s+disk\s+(.+)$/;

                if (defined($ftn)){
                $vm_data{$vm}->{$disk}->{"dev"}=$ftn;
                $vm_data{$vm}->{$disk}->{"tgt"}=$tgt;
                $vm_data{$vm}->{$disk}->{"lun"}=$lun;

                #Convert tgt to the good legacy device
                my $tgtconv=sprintf("%02X",$tgt);
                my $tgtconv_part1;
                my $tgtconv_part2;

                ($tgtconv_part1)=$tgtconv=~/(.)./;
                ($tgtconv_part2)=$tgtconv=~/.(.)/;

                $tgtconv_part1=hex($tgtconv_part1);
                $tgtconv_part2=hex($tgtconv_part2);

                #$vm_data{$vm}->{$disk}->{"legacy"}="c".$ftn."t".$tgtconv_part2."d".$tgtconv_part1;
                $vm_data{$vm}->{$disk}->{"legacy"}="c\\dt".$tgtconv_part2."d".$tgtconv_part1; # Don't know how the instance number is defined (cX) so use a more gereric regexp
                }
        }
}

foreach $vm (@vms){
        my @ioscan=`ssh -q -o stricthostkeychecking=no -o batchmode=yes root\@$vm \"ioscan -m dsf\"`;

        foreach(keys(%{$vm_data{$vm}})){
                my $regex=$vm_data{$vm}->{$_}->{"legacy"}."\$";
                my @vdisk=grep(/$regex/,@ioscan);
                my $vdisk_str=join(",",@vdisk);
                ($vdisk_str)=split(",",$vdisk_str);
                $vdisk_str=~s#\s+/dev/rdsk/.+##g;
                $vdisk_str=~s/\s//g;
                $vm_data{$vm}->{$_}->{"vdisk"}=$vdisk_str;
        }
}

# Debuging purpose
#print Dumper(\%vm_data);

foreach $vm (@vms){
        printf("VM\tPhys\t\t\tVirt\n");

        foreach(keys(%{$vm_data{$vm}})){
                printf("%s\t%s\t%s\n",$vm,$_,$vm_data{$vm}->{$_}->{"vdisk"});

        }
}


juin 21 2011

Disk operations with ASM.

Tag: DBUggla @ 11 h 12 min

A short article to keep some useful queries for ASM.

  1. Querie to list disks and groups.
    set pages 1000
    set lines 300
    col path format a50
    col instance_name format a20
    select v$asm_diskgroup.name,v$asm_disk.GROUP_NUMBER,v$asm_client.INSTANCE_NAME,v$asm_disk.PATH,v$asm_disk.name,v$asm_disk.STATE
    from v$asm_diskgroup, v$asm_client, v$asm_disk
    where v$asm_client.GROUP_NUMBER=v$asm_disk.GROUP_NUMBER and v$asm_disk.GROUP_NUMBER=v$asm_diskgroup.GROUP_NUMBER
    order by group_number,path;
    

    NAME                           GROUP_NUMBER INSTANCE_NAME        PATH                                               NAME                           STATE
    ------------------------------ ------------ -------------------- -------------------------------------------------- ------------------------------ --------
    DCLICDGR                                  1 MODEFRR12            /dev/oracle/asmdisk_decldr1                        DCLICDGR_0000                  NORMAL
    DCLICDG                                   2 MODEFRR12            /dev/oracle/asmdisk_decldd1                        DCLICDG_0000                   NORMAL
    DCLICDG                                   2 MODEFRR12            /dev/oracle/asmdisk_decldd2                        DCLICDG_0001                   NORMAL
    DCLICDG                                   2 MODEFRR12            /dev/oracle/asmdisk_decldd3                        DCLICDG_0002                   NORMAL
    DCLICDG                                   2 MODEFRR12            /dev/oracle/asmdisk_decldd4                        DCLICDG_0003                   NORMAL
    ESBDGR                                    3 ASCGFRR12            /dev/oracle/asmdisk_esbdr1                         ESBDGR_0000                    NORMAL
    ESBDG                                     4 ASCGFRR12            /dev/oracle/asmdisk_esbdd1                         ESBDG_0000                     NORMAL
    ESBDG                                     4 ASCGFRR12            /dev/oracle/asmdisk_esbdd2                         ESBDG_0001                     NORMAL
    ESBDG                                     4 ASCGFRR12            /dev/oracle/asmdisk_esbdd3                         ESBDG_0002                     NORMAL
    ETTDGR                                    5 ITECFRR12            /dev/oracle/asmdisk_ettdr1                         ETTDGR_0001                    NORMAL
    ETTDG                                     6 ITECFRR12            /dev/oracle/asmdisk_ettdd1                         ETTDG_0001                     NORMAL
    ETTDG                                     6 ITECFRR12            /dev/oracle/asmdisk_ettdd2                         ETTDG_0002                     NORMAL
    ETTDG                                     6 ITECFRR12            /dev/oracle/asmdisk_ettdd3                         ETTDG_0003                     NORMAL
    OCRDG                                     7 +ASM2                /dev/oracle/asmdisk_ocr1                           OCRDG_0000                     NORMAL
    OCRDG                                     7 +ASM2                /dev/oracle/asmdisk_ocr2                           OCRDG_0001                     NORMAL
    OCRDG                                     7 +ASM2                /dev/oracle/asmdisk_ocr3                           OCRDG_0002                     NORMAL
    PYRADGR                                   8 FISOFRR02            /dev/oracle/asmdisk_pyradr1                        PYRADGR_0000                   NORMAL
    PYRADG                                    9 FISOFRR02            /dev/oracle/asmdisk_pyradd1                        PYRADG_0001                    NORMAL
    PYRADG                                    9 FISOFRR02            /dev/oracle/asmdisk_pyradd2                        PYRADG_0002                    NORMAL
    PYRADG                                    9 FISOFRR02            /dev/oracle/asmdisk_pyradd3                        PYRADG_0003                    NORMAL
    PYRADG                                    9 FISOFRR02            /dev/oracle/asmdisk_pyradd4                        PYRADG_0004                    NORMAL
    DATA3                                    10 EDOCFRE12            /dev/oracle/asmdisk_data3                          DATA3_0000                     NORMAL
    EDOCDG                                   12 EDOCFRU02            /dev/oracle/asmdisk_edocdg                         EDOCDG_0000                    NORMAL
    EDOCARCHDG                               13 EDOCFRU02            /dev/oracle/asmdisk_edocarchdg                     EDOCARCHDG_0000                NORMAL
    
  2. Add / remove disk.
    alter diskgroup EDOCDG add disk '/dev/oracle/asmdisk_xp01','/dev/oracle/asmdisk_xp02'
    alter diskgroup EDOCDG drop disk 'EDOCDG_0000';
    
  3. Follow oprations.
    select * from v$asm_operation;
    
  4. Change rebalancing power (1 –>11) to speed up operations.
    alter diskgroup DATA2 REBALANCE POWER 5;
    

Warning : Take care about ownerships and rights on the disk special files !

A good synthetic article about ASM can be found here : http://www.oracle-base.com/articles/10g/AutomaticStorageManagement10g.php


juin 05 2011

Marre des plans loose

Tag: VTTUggla @ 21 h 06 min

Bon comme le dit le titre, plein le cul des plans foireux cette semaine.
Donc on part sur une valeur sure, a proximité car la météo annonce des orages violents dans l’après midi : La Ferme Durant.

Rien à dire sur la montée, efficace et propice à la mauvaise fois, exagérations en tout genre et poésie sur plein de sujets. :roll:
La descente sans surprise, toujours excellente même si un peu grasse. Seul le passage des rochers nous fera poser pieds à terre.
Le coup de sabre lui sera qu’une formalité pour l’équipe.

Les photos sur la galerie.


juin 03 2011

Balcons de Chartreuse

Tag: VTTUggla @ 18 h 41 min

Première sortie de Thierry D, avec son nouveau vélo. Pour l’occasion on choisit un parcours sur vtopo : Les Balcons de Chartreuse.
Sortie prévue de 4h, et la deuxième plan loose de la semaine !

  1. On loupe la prise du chemin de montée –> 1h a galérer dans les couloirs de purge des falaises de Chartreuse.
  2. Le parcours doit vraiment pas être roulé, de nombreux arbres en travers et végétation abondante.
  3. Première partie du topo, descente quasi inexistante.
  4. Monté qui doit passer sur le vélo relativement facilement d’après le topo –> on doit pas avoir la même conception du faux plat montant….
  5. Humidité globale –> hyper difficile de rouler avec les cailloux bien glissant. (pas la faute du topo)
  6. Deuxième partie un peu mieux, mais ça sent le chemin pas beaucoup parcouru quand même. Quelque épingles ou BG 33 fera de beaux passages… On a manqué aussi perdre Thierry dans un fossé ! :roll:
  7. La fin se termine sur un chemin super large, plein de boue.

Bref encore une sortie finalement de 6h30 à oublier….
Une note positive, gros tirage de bourre pour rentrer à la voiture ! :)

Distance : ~31 km D+ : ~1100 m.

Le fichier gpx: http://uggla.free.fr/gps_track/2k11/20110603-BalconChartreuse.gpx.
Le fichier kml : http://uggla.free.fr/gps_track/2k11/20110603-BalconChartreuse.kmz.

Les photos sur la galerie.


juin 02 2011

Habert de Chamechaude

Tag: VTTUggla @ 18 h 34 min

Sortie du Jeudi férié.
La météo est pas top, mais on part quand même faire un tour avec Frank.

J’ai récupéré un topo, qui passe par le Habert de Chamechaude. Montée principalement sur le bitume jusqu’au col de porte, un peu dure la montée pour moi.
On mange un peu et on continue jusqu’au Habert, de la on descend c’est hyper gras donc ça glisse à mort sur les racines.

Bon je passe rapidement, quelques sentiers sont pas mal mais trop courts. Le ratio montée/descente est pas favorable, on est couvert de boue, bref un beau plan loose.
Le seul truc positif, c’est la rencontre avec « Maurice », un chien qui nous suivra une bonne partie de la sortie. :)
Mis a part pour le coté physique, sortie globalement à oublier. Sauf peut être quelques chemins sur le sec.

Distance : ~63 km D+ : ~2100 m.

Le fichier gpx: http://uggla.free.fr/gps_track/2k11/20110602-HabertChamechaude.gpx.
Le fichier kml : http://uggla.free.fr/gps_track/2k11/20110602-HabertChamechaude.kmz.

Les photos sur la galerie.


mai 29 2011

Les Chalanches

Tag: VTTUggla @ 18 h 25 min

Bonne sortie montagne dans l’Oisans avec Olivier aka Lineltex.
Montée au dessus d’Allemond relativement facile par la route. Ensuite erreur de chemin, on perd une heure à galérer, on retrouve quand même le chemin après un passage freeride à pied, mode René l’ours. :)

On poursuit la montée par un bon portage jusqu’à la cabane des Chalanches. Le point de vue est inhabituel et vraiment magnifique.

Oliv arrive à la cabane des Chalanches. Le portage calme bien quand même.

Pause repas rapide et on attaque la descente.
Pas de grosses difficultés, juste quelques épingles serrées au début.

Oliv passe l’épingle ou une légère glisse de l’avant m’a fait tâter un peu le sol…

On enchaine ensuite sur la montée puis la descente des traverses. Pas mal, mais sans plus, on reste un peu sur notre faim. Oliv a cassé le ressort de sa crankbrother ce qui l’handicape dans la descente (voila, ça veut mettre du light…. et après ça casse…). ;)
On monte de nouveau et cette fois on prend la descente du Coteyssart. Celle ci est bien cool, avec de belle épingles et des tubes qui se négocient bien en glisse. On se régale bien. Bon ok coté style de pilotage on a été un peu goret…. D’ailleurs je vais faire un petit retour à la terre en zippant sur une racine dans le prolongement du chemin. Belle cascade, la visite du fossé fut évité de peu…

Retour paisible par les berges du lac d’Allemond…. Une bien belle sortie à refaire !

Distance : ~30 km D+ : ~1700 m.

Le fichier gpx: http://uggla.free.fr/gps_track/2k11/20110529-Chalanche.gpx.
Le fichier kml : http://uggla.free.fr/gps_track/2k11/20110529-Chalanche.kmz.

Les photos sur la galerie.


mai 24 2011

Rescan tape drives

Tag: Scripts,UnixUggla @ 16 h 12 min

Last week we got an issue with VLS. We had to rescan hw to recover tape drives in CLAIMED status.
So I created this short script/command line to rescan HPUX 11.31.

for system in toto titi tata
do
echo "Processing $system"
ssh root@$system 'ioscan > /dev/null && for i in $(dmesg | grep "replace_wwid" | \
perl -ne '"'"'{(my $get) = $_ =~ m/instance = (.+)\) The/; print "$get\n"}'"'"'); \
do scsimgr -f replace_wwid -C tgtpath -I $i;done | sort -u && ioscan -fnkC tape'
done


mai 21 2011

La trajectoire de gauche elle passe !

Tag: VTTUggla @ 19 h 33 min

Sortie sur l’après midi, suite à une manipe boulot le matin.
Pas trop d’inspiration, donc on va sur Chalais. Finalement pas besoin d’aller loin pour bien s’éclater.
On monte par la route pour aller un peu plus vite, il fait chaud et on va bien recevoir dans les forts pourcentage ! On monte jusqu’à l’aiguille et ensuite descente !

BG 33 à l’aiguille.

La descente de l’aiguille passe bien, le passage délicat des marches passe à l’extérieur avec une petite coupe.
On attaque la descente derrière le Monastère. Franck se fait une petite chaleur sur un passage étroit et me dis après avoir passé la marche du pierrier « il y a qu’une trajectoire : à droite »….
Erreur grave, BG 33 va faire un passage dont il a le secret à gauche au plus haut de la marche !!! Bon la on reste tous un peu blasés…. « Il est ouf ? Je sais pas mais il doit pas être câblé à tous les étages ! » :)
J’aime bien l’esprit ! Suite de la descente mode gros gaz chauffé à bloc !
On remonte sur MSM, pour prolonger la dernière descente. Avec Franck, on pense pouvoir envoyer l’escalier dans la deuxième partie de la descente, on se motive un peu, (çà a pas trop trainé)… et on utilise l’escalier comme tremplin en passant mode petit train. Finalement  bien fun ce petit saut.
je sais pas si c’est le saut, mais on est bien chaud donc la descente se fait mode express, même si Franck frôle la colision avec des trialistes (moto) qui montaient, et passe limite perdition dans la partie raide du stand de tir.

Retour à la maison, des cup cakes nous attendent, hum…. Bref la journée presque parfaite. :)

Distance : ~22 km D+ : ~1080 m.

Le fichier gpx: http://uggla.free.fr/gps_track/2k11/20110521-Chalais.gpx.
Le fichier kml : http://uggla.free.fr/gps_track/2k11/20110521-Chalais.kmz.

Les photos sur la galerie.


mai 15 2011

Challenge autour de Voreppe

Tag: VTTUggla @ 16 h 44 min

Histoire de faire découvrir les chemins autours de Voreppe à Franck, on enchaine les descentes, mais aussi les montées…
C’est aussi l’occasion de faire un petit challenge, car au départ j’étais pas sur d’arriver à le faire. Finalement ça passe pas si mal.

  1. La cuche.
  2. Col de la Tençon.
  3. Chalais.
  4. Mont Saint Martin.

Grosse éclate dans les descentes… mais pas de photos. :(

Distance : ~51 km D+ : ~2180 m.

Le fichier gpx: http://uggla.free.fr/gps_track/2k11/20110515-Challenge.gpx.
Le fichier kml : http://uggla.free.fr/gps_track/2k11/20110515-Challenge.kmz.


mai 12 2011

Découverte de la Tençon par Oliv

Tag: VTTUggla @ 20 h 33 min

Sortie en soirée, bien planté par les bouchons sur la route, on part relativement tard sur la classique descente du col de la Tençon.
Oliv qui croyait que la sortie était sur la piste cyclable à un peu ramassé dans les montées ;) .
On rentre quasi à la nuit, histoire de raviver le souvenir de la descente de Chalais à la frontale… rolleyes
Sinon, j’adore comment Olivier enroule les racines ! Quelle finesse de pilotage mode bulldozer ! mrgreen

Oliv arrive en haut du col de la Tençon.

Distance : ~18 km D+ : ~650 m.

Les photos sur la galerie.


Page suivante »