novembre 2010

Monthly Archive

Retrouver un fichier effacé mais toujours ouvert

29 Nov 2010 | : linux

Il arrive occasionnellement qu'un fichier soit effacé sur le filesystem malgré le fait qu'il soit toujours ouvert dans un processus. Ce problème, aussi connu sous le nom plus pragmatique de "mézouépassélespace", est dans l'immense majorité des cas un problème d'interface chaise-clavier, parfois également appelée erreur humaine.

Le symptôme typique de ce problème est une incohérence entre l'espace annoncé par df et celui annoncé par du, généralement détecté au moment où le filesystem est rempli.

Par exemple :

# df -h /xxx Filesystem Size Used Avail Use% Mounted on /dev/mapper/xxx 1G 1G 0 100% /xxx # du -sh /xxx 350M /xxx
Pour le retrouver, nous avons fort heureusement une solution simple, pour peu que l'on dispose d'une version pas trop ancienne de lsof :
# lsof | grep deleted coupable 1664 user 1w REG 253,3 4 197939 /xxx/fichier (deleted)
Il ne reste plus à ce stade qu'à tuer le coupable, ce qui libèrera automatiquement l'espace alloué au fichier effacé, faisant ainsi rentrer les choses dans l'ordre pour notre filesystem victime.

Solaris 11 Express

16 Nov 2010 | : solaris

La version Express de Solaris 11 est disponible chez Oracle. On notera entre autres la présence d'un LiveCD et l'absence de code source. Si ce dernier point vous gêne, allez plutôt voir du côté d'Illumos, le fork d'OpenSolaris réalisé par la communauté.

Parmi les éléments notables de Solaris 11 (par rapport à Solaris 10, bien sûr, la plupart de ces éléments étant depuis un bon moment dans OpenSolaris), on retrouve :

  • Image Packaging System (IPS) : le nouveau (enfin!) système de gestion de paquets via le réseau, basé sur des repositories, dans la lignée des APT et autres YUM. La gestion des patchs est également intégrée, ceux-ci devenant simplement des nouvelles versions de paquets.
  • Boot Environments (BE) : de multiples environnements de démarrage du système, basés sur les snapshots ZFS, que l'on peut mettre à jour indépendamment (notamment mettre à jour un BE inactif puis rebooter dessus).
  • Automated Install : le successeur du jumpstart, capable d'installer des machines à partir d'un profil et d'un repository IPS
  • Virtualisation réseau : le projet Crossbow a complètement abouti, et Solaris 11 dispose maintenant d'une virtualisation complète au niveau réseau : VNIC (interfaces complètement virtuelles, pouvant être dédiées à une zone), switchs virtuels, et routeurs virtuels, ainsi que des outils de contrôle de bande passante sur les interfaces réelles comme virtuelles.
  • ZFS devient le fs par défaut pour le rootfs, et incorpore de nouvelles fonctionnalités : déduplication, dataset chiffrés, et diff entre des snapshots
  • root est maintenant uniquement un rôle, et plus un compte
  • Solaris 11 supporte les containers Solaris 10 (autrement dit, une zone qui se comporte comme une machine Solaris 10), et offre des fonctionnalités P2V/V2V pour migrer les serveurs ou zones Solaris 10 existants
  • Support des processeurs T3
  • Support NUMA amélioré
  • Amélioration des performances DISM pour Oracle

Mesurer la performance d’un core SPARC

15 Nov 2010 | : solaris

Tous les processeurs SPARC intégrés aujourd'hui dans les gammes de serveurs Oracle/Fujitsu supportent une technologie nommée Chip Multithreading (CMT), similaire à l'Hyper-Threading des processeurs Intel. En résumé, il s'agit de faire tourner plusieurs threads sur un même core physique pour ne pas gâcher du temps CPU disponible, mais en utilisant plusieurs jeux de registres pour éviter des changements de contextes coûteux. Du point de vue de l'OS, on voit des processeurs virtuels (baptisés hardware threads), qui sont traités exactement comme des processeurs normaux.

Ces évolutions technologiques induisent des changements dans la façon dont on observe les performances CPU de nos serveurs. En particulier, les outils traditionnels comme vmstat ou top (basés sur les kstats) ne représentent plus la capacité de calcul brute des processeurs, mais plutôt la disponibilité des processeurs virtuels. On a en fait une décorrélation partielle de la disponibilité de ces processeurs virtuels et de la capacité du core à exécuter des instructions. En d'autres termes, on peut voir de la puissance CPU disponible avec vmstat alors que le core est déjà saturé.

Il nous faut donc un nouvel outil pour mesurer la charge des cores, et nous avons de la chance, puisque cet outil existe, il s'agit de corestat.

Continue Reading »