pawelko.net

Booting Seatools ISO via pxe

Le 11-03-12 à 20:03, par Cyril Pawelko Permalien

I need to run Seagate diagnostics utility (Seatools), but my computer has no cd reader, no floppy drive, and my disk is so defective that grub won't boot.

But it has a NIC that supports PXE.

Thanks to http://reboot.pro/8258/ and http://www.isalo.org/wiki.debian-fr/inde(..) I'm able to run these tools via network.

Enter the BIOS, enable network boot.

Boot, write down the mac address.

On another computer (currently a debian squeeze), install a dhcp, pxe, a tftp server and gpxelinux (see the second link above, in french).

Download "Seatools for DOS", it's an iso image. Rename it to seatools.iso and save it in /srv/tftp

Edit /srv/tftp/pxelinux.cfg/default and create an entry like:

label 1
 MENU LABEL Seatools
 kernel memdisk
 append iso
 initrd /seatools.iso

And voilà ! You can now boot this iso image via pxe.

A propos

Le 20-02-12 à 00:02, par Cyril Pawelko Permalien

Ce site a pour vocation de partager des informations concernant essentiellement les logiciels libres, dont je suis un fervent utilisateur.

Me contacter: cyril@pawelko.net

CV express

1998-2004 : Cap Gemini division Exploitation (Sogeti) - Nantes

Technicien systèmes et réseaux

2004-> : Pygram - Nantes

Administrateur systèmes et réseaux

  • Windows Server 2000/2003/2008
  • Exchange 2000/2003/2007/2010
  • ISA Server 2000/2004
  • SQL Server 2000/2005/2008
  • Linux (certifications LPI niveau 1 et 2)
  • Administration Apache, Squid, MySQL, etc...
  • Asterisk
  • Routeurs Zyxel Zywall

Directeur technique

  • Gestion R&D
  • Gestion pôle systèmes et réseaux

http://www.pygram.com/libre/

Conférence RMLL 2009 à Nantes: Retour d’expérience sur Asterisk

Divers

1997 : Rédaction de 3 articles pour le virus informatique

2003 : Participation à la création du site http://voirlemonde.free.fr

2007 : Participation à la création du site http://www.sebastienchampion.fr/

Tuning zfs-fuse sur Debian Squeeze

Le 02-12-11 à 11:11, par Cyril Pawelko Permalien

Je souhaite conserver plein de copies de sauvegarde de machines virtuelles tournant sur mon hyperviseur étant un kvm/libvirt/archipel sur une squeeze. Il y a un candidat idéal pour cela: zfs, qui pour des raisons de licence n'a pas d'implémentation native dans linux. Pour commencer, j'ai fait quelques tests avec zfs-fuse (0.6.9-1), sans tuning particulier. Ca marche correctement, mais pas très vite (moins de 10 Mo/s). J'ai ensuite utilisé le zfs natif. Les performances brutes étaient bien meilleures mais ça tirait énormément sur la RAM et tout finissait par devenir très lent, et la sauvegarde d'une des VM ne se terminait jamais. En essayant de tuner la taille du ARC cache, je n'ai réussi qu'à obtenir un plantage complet du noyau (le dmesg parlait de lui même).

Je suis donc retourné à zfs-fuse en attendant de trouver mieux. Maintenant que j'ai une rotation des VM sur une semaine, je peux avoir une idée précise des ressources requises par la déduplication:


#  zpool status -D zpool
 pool: zpool
state: ONLINE
scrub: none requested
config:

       NAME                               STATE     READ WRITE CKSUM
       zpool                              ONLINE       0     0     0
         disk/by-id/dm-name-archipel-zfs  ONLINE       0     0     0

errors: No known data errors

DDT entries 282985, size 354 on disk, 222 in core

bucket              allocated                       referenced
      __
refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
------   ------   -----   -----   -----   ------   -----   -----   -----
    1    49,6K   6,20G   2,25G   2,25G    49,6K   6,20G   2,25G   2,25G
    2    11,1K   1,39G    583M    583M    27,6K   3,45G   1,42G   1,42G
    4     171K   21,4G   12,6G   12,6G    1,13M    145G   85,5G   85,5G
    8    43,7K   5,46G   3,11G   3,11G     358K   44,7G   25,4G   25,4G
   16      741   92,6M   59,3M   59,3M    13,5K   1,69G   1,04G   1,04G
   32      129   16,1M   8,19M   8,19M    4,67K    598M    298M    298M
   64        3    384K   67,5K   67,5K      330   41,2M   7,78M   7,78M
  128        1    128K   4,50K   4,50K      133   16,6M    598K    598K
   1K        1    128K   4,50K   4,50K    1,27K    162M   5,71M   5,71M
   2K        1    128K      7K      7K    3,98K    509M   27,8M   27,8M
  16K        1    128K   7,50K   7,50K    23,7K   2,96G    178M    178M
Total     276K   34,5G   18,6G   18,6G    1,60M    205G    116G    116G

Je vois ici que j'ai 282985 entrées pour la déduplication, chaque entrée occupant 222 octets en RAM. J'en déduis donc que mon cache pour la dédup est d'environ 60 Mo (ce qui est peu !). Par défaut ZFS alloue un quart de la taille du cache ARC pour le cache des metadata, donc fait partie la table DDT. Le cache ARC doit donc être au moins de 240 Mo. Par défaut, la valeur sur ma Debian était de 100 Mo. Cela apparait au démarrage de fuse:

# grep -i zfs /var/log/syslog
Nov 28 21:12:39 archipel zfs-fuse: ARC caching: maximum ARC size: 100 MiB
Nov 28 21:12:39 archipel zfs-fuse: ARC setup: min ARC size set to 16777216 bytes
Nov 28 21:12:39 archipel zfs-fuse: ARC setup: max ARC size set to 104857600 bytes

J'ai donc modifié la ligne "max-arc-size = 240" dans le fichier /etc/zfs/zfsrc et relancé zfs-fuse

#invoke-rc.d zfs-fuse restart

A titre d'exemple, le temps de sauvegarde de ma VM zimbra est passé de 16 minutes à 6 minutes ! En réglant le cache à 500 Mo, je descends à 3 minutes pour la même sauvegarde. Ce qui correspond à peu près aux temps que j'obtenais avec les modules zfs natifs, mais qui eux provoquaient de nombreux plantages, alors qu'avec zfs-fuse j'ai une solution parfaitement stable. Un réglage du cache à 1 Go n'a pas donné de meilleurs résultats.

Conclusion : Voici la formule appliquée dans mon cas avec zfs-fuse : max-arc-size = Taille du cache DDT * 8

Configuration mpd sur debian pour écoute sur iphone

Le 13-09-11 à 22:35, par Cyril Pawelko Permalien

Objectif : Pouvoir écouter sur mon iPhone 3G la musique stockée sur mon serveur linux, sans devoir passer par l'ignoble iTunes, et sans dupliquer les données. La solution existe, il s'agit de mpd (music player daemon) pour la partie serveur, et MPoD pour la partie cliente. L'installation sur une debian squeeze et le manque de doc m'ont incité à partager cette expérience. Configuration validée:

  • iPhone 3G
  • iOS 4
  • MPoD 1.6
  • Debian Squeeze amd64
  • mpd 0.15.12

Avertissement

Ces manipulations ont été réalisées sur une squeeze installée originellement il y a plus de 7 ans, il manque donc peut-être certaines opérations. Afin de bien montrer que ce n'est pas parfait, toutes les opérations seront réalisées en tant que root ;-)

Recompilation mpd

La version debian de mpod n'inclut pas le support lame, il faut donc recompiler le paquet. Tout d'abord, activer le dépôt Debian Multimédia comme indiqué ici Installer lame

# apt-get install libmp3lame
# apt-get install build-essentials
# cd /usr/local/src/

Télécharger les sources du paquet, et installer les dépendances nécessaires

# apt-get source mpd
# apt-get build-dep mpd

Se rendre dans le répertoire, et activer le support lame

# cd mpd-0.15.12/
# vi debian/rules

Sur la ligne DEB_CONFIGURE_USER_FLAGS, remplacer --disable-lame par --enable-lame Puis lancer la compilation

# dpkg-buildpackage

Une fois terminé, remonter au répertoire parent puis installer le fichier deb ainsi créé

# dpkg -i mpd_0.15.12-1.1_amd64.deb

Configuration de mpd

Editer le fichier /etc/mpd.conf et définir les paramètres suivants:

music_directory         "/mnt/data/musique/"
bind_to_address         "0.0.0.0"
audio_output {
        type            "httpd"
        name            "My HTTP Stream"
        encoder         "lame"          # optional, vorbis or lame
        port            "8000" 
#       quality         "5.0"                   # do not define if bitrate is defined
        bitrate         "128"                   # do not define if quality is defined
        format          "44100:16:1"
}

Enregistrer et démarrer le service mpd

La partie iPhone

Installer MPoD Aller dans les réglages de l'application et ajouter manuellement un serveur:

  • Connection mode: On the go
  • Serveur: IP/nom du serveur
  • Port: 6600
  • Stream: http://(serveur):8000

Une fois connecté (Status: Connected), retourner dans le menu préférences. Sélectionner "Update database" pour demander à mpd de lister les fichiers disponibles Vérifier dans la partie "Outputs" que "My HTTP Stream" soit bien sélectionné

Et si ça ne fonctionne pas

Quelques pistes...

  • Vérifier que mpd fonctionne, en utilisant un autre client que l'iPhone
  • Essayer d'écouter le flux http://(serveur):8000 avec vlc ou un navigateur web
  • Vérifier les connexions réseaux, en lançant la commande
# watch -n 1 "netstat -apn | grep /mpd"
tcp        0      0 0.0.0.0:6600            0.0.0.0:*               LISTEN      14046/mpd
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      14046/mpd
tcp        0  15334 192.168.3.9:8000        192.168.3.64:49954      ESTABLISHED 14046/mpd

On voit ici:

  • Que mdp fonctionne bien et écoute bien sur le port 6600 (le service est lancé)
  • Que mdp écoute sur le port 8000 (uniquement lorsqu'une lecture est en cours)
  • Que l'iphone est connecté sur le port 8000 et "reçoit" le flux audio

Bonus

Profitez maintenand de MPoD, qui a en plus la bonne idée d'aller chercher tout seul les pochettes chez Amazon

Ben quoi ?

Liens

Le 08-12-10 à 23:15, par Cyril Pawelko Permalien

Logiciel libre

www.shellunix.com : Un site simple, clair et complet sur bash, sed et awk. Une référence pour moi.

Photorec : Un utilitaire de récupération de photos et de documents qui, contrairement à de nombreux rivaux, a le mérite de fonctionner et la bonne idée d'être sous licence GPL

Boosting Spamassassin : Comment optimiser le spamassassin de zimbra en utilisant les "rules du jour"

Perl script to adjust ‘srt’ subtitle files : Un script pour ajuster le décalage dans des fichiers de sous-titres

Divers

www.sebastienchampion.fr : De belles photos de paysages et d'animaux