solaris

Archived posts from this Category

PowerPath + ZFS + Clariion = ???

Posted by on 18 Juil 2011 | Tagged as: solaris

Il y a eu pas mal de problèmes documentés autour de la cohabitation ZFS/PowerPath, et j'en tiens un beau. Une LUN de ma connaissance est baladée occasionnellement entre plusieurs serveurs pour permettre des gros transferts de données avec un débit raisonnable. Pour des raisons de compatibilité entre les différents systèmes impliqués, j'ai créé un dataset ZFS sur une partition de cette LUN.

Le volume s'est promené entre différentes machines sans soucis, puis, un beau matin, au moment de la ramener sur un serveur, j'ai eu droit au tristement célèbre "insufficient replicas" :

monpool UNAVAIL insufficient replicas c5t5006000000000000d0s6 UNAVAIL cannot open

Pourtant, ce même volume fonctionnait à merveille sur le serveur voisin (qui certes n'utilisait pas PowerPath, mais tout de même)! Continue Reading»

Suppression et redécouverte d’une LUN avec PowerPath

Posted by on 06 Juin 2011 | Tagged as: solaris

J'ai récemment eu à supprimer et recréer une LUN sur un Clariion. Ladite LUN était présentée à la fois à un serveur Solaris 10 et à un serveur Linux, avec un filesystem ZFS créé sur la machine Linux et prévu pour servir d'espace de transfert.

Seulement, pas de chance, au moment de faire redécouvrir la LUN sur le serveur Solaris 10, impossible de la voir.

Les commandes que j'utilise habituellement pour cela sont les suivantes :

# cfgadm -al -o show_FCP_dev # devfsadm -Cv # powermt config

Sauf que, visiblement, ça ne suffisait pas :

# zpool import no pools available to import

En creusant un peu, j'ai découvert qu'il restait des traces de la LUN supprimée, et qu'elle empêchait la prise en compte de la nouvelle sur le même numéro de device :

# powermt display dev=all Pseudo name=emcpower77a CLARiiON ID=CKMXXXXXXXX Logical device ID=600601606FXXXXXXXXXXXXXXXX [MA_LUN] state=alive; policy=CLAROpt; priority=0; queued-IOs=0 Owner: default=SP B, current=SP B ============================================================================== ---------------- Host --------------- - Stor - -- I/O Path - -- Stats --- ### HW Path I/O Paths Interf. Mode State Q-IOs Errors ============================================================================== 3077 pci@8/SUNW,qlc@1 c3t500601623B207225d0s0 SP A2 active dead 0 1 3077 pci@8/SUNW,qlc@1 c3t500601683B207225d0s0 SP B0 active dead 0 1 3078 pci@8/SUNW,qlc@2 c5t500601603B207225d0s0 SP A0 active dead 0 1 3078 pci@8/SUNW,qlc@2 c5t5006016A3B207225d0s0 SP B2 active dead 0 1

Il fallait donc nettoyer tout ça et recréer le device proprement :

# powermt check Warning: CLARiiON device path c3t500601623B207225d0s0 is currently dead. Do you want to remove it (y/n/a/q)? a Warning: CLARiiON device path c3t500601683B207225d0s0 is currently dead. Warning: CLARiiON device path c5t500601603B207225d0s0 is currently dead. Warning: CLARiiON device path c5t5006016A3B207225d0s0 is currently dead. # powercf -q Could not validate the entry: --------------------------------------- emcpower77: user ID = fd00000268 --------------------------------------- removing emcpower77 # powermt config # powermt display dev=emcpower77c Pseudo name=emcpower77a CLARiiON ID=CKM00104900008 [cesena] Logical device ID=6006016069F02A000C1FADD01186E011 [TRANSFERT_BI] state=alive; policy=CLAROpt; priority=0; queued-IOs=0 Owner: default=SP B, current=SP B ============================================================================== ---------------- Host --------------- - Stor - -- I/O Path - -- Stats --- ### HW Path I/O Paths Interf. Mode State Q-IOs Errors ============================================================================== 3077 pci@8/SUNW,qlc@1 c3t500601623B207225d0s0 SP A2 active alive 0 0 3077 pci@8/SUNW,qlc@1 c3t500601683B207225d0s0 SP B0 active alive 0 0 3078 pci@8/SUNW,qlc@2 c5t500601603B207225d0s0 SP A0 active alive 0 0 3078 pci@8/SUNW,qlc@2 c5t5006016A3B207225d0s0 SP B2 active alive 0 0

Et voilà, notre nouvelle LUN est bien détectée.

Solaris 11 Express

Posted by on 16 Nov 2010 | Tagged as: 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

Posted by on 15 Nov 2010 | Tagged as: 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»

Solaris Basic Resource Analyzer (BRA)

Posted by on 01 Oct 2010 | Tagged as: solaris

Le futur de Solaris a beau ne pas être tout rose, il reste malgré tout un parc installé assez conséquent, et ce parc a besoin d'être administré. Parmi les tâches du sysadmin, l'une des plus intéressantes et des plus complexes est certainement l'analyse de performances.

J'ai écrit il y a quelque temps un petit script pour Solaris 10, qui rassemble quelques-unes des informations qui me paraissent pertinentes : mémoire, processus/threads, et ressources IPC (avec la possibilité d'observer un project spécifique pour ces dernières).  Je le met à disposition ici dans l'espoir qu'il soit utile, mais bien entendu sans aucune garantie, explicite ou implicite. J'essaierai dans la mesure du possible de répondre aux questions posées dans les commentaires, s'il y en a.

Continue Reading»

Page suivante »