solaris
Archived posts from this Category
Archived posts from this Category
Posted by Daniel 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»
Posted by Daniel 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.
Posted by Daniel 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 :
Posted by Daniel 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.
Posted by Daniel 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.