Archives pour juillet, 2009
BGI info: l’erreur avec succès sans succès…
27/07/09
Je n’avais pas utilisé bginfo de sysinternals depuis quelques temps. Comme d’hab, je mets un fond avec notamment le logo de l’entreprise, et là surprise au moment de l’enregistrement:

(Error saving settings to registry: The operation completed sucessfully)
Pour les non anglophones, il y a donc une erreur à l’enregistrement dans la base de registre, mais l’opération à réussi…Surprenant hein ?
Evidemment, grosse déception, point de fichier bgi…
Contexte:
- Windows Vista SP1 32 bit
- dernier bginfo (4.15)
- Avec et sans élévation de privilège (comment ça tout de suite on accuse UAC?)
Que faire quand un outil sysinternal échoue ? Utiliser un autre outil Sysinternal pour diagnostiquer !
Process monitor montre notamment une erreur pour « ressource insuffisante« :
Process explorer montre que le système est utilisé et manque un peu de ressource (quoi que, encore 742Mo de ram disponible tout de suite)
J’essaye sur ma station avec 8Go de ram, idem…Windows XP: idem!
Finalement, j’ai réduit et importé de nouveau l’image, fonctionne nickel.
Je me suis permis un petit mail à Mark Russinovich…Retour une heure plus tard:
« Thanks for the bug report, Mathieu. It looks like Bginfo was trying to write 7MB to the registry.«
Popularity: 4% [?]
SCOM 2007: SQL Server a de la mémoire!
25/07/09
on m’a demandé de remettre sur pied une plateforme SCOM 2007, en commençant par une réinstallation. J’ai donc désinstallé SCOM du serveur, et supprimé les bases de données du serveur SQL distants.
Après l’installation, SQL indiquait que le service broker était déjà activé…Bonne surprise ou annonce d’autres problèmes ? J’ai eu droit à la deuxième hypothèse…
Suite à la réinstallation, j’ai eu quelques problèmes liés à SQL (An exception occured while enqueuing a message in the target queue):
- Error: 15404, State 11. Could not obtain information about Windows NT group/user
- Error: 9728, State: 1. Cannot find the security certificate because the lookup database principal is not valid
Résolution:
- D’ anciens messages (de l’installation précédente) sont toujours en files d’attente dans le broker. Il faut les purger en exécutant ce code SQL sur la base OperationsManager:
declare @conversation uniqueidentifier
while exists (select 1 from sys.transmission_queue)
begin
set @conversation = (select top 1 conversation_handle from sys.transmission_queue)
end conversation @conversation with cleanup
end
Et voilà, le discovery fonctionne de nouveau aussi, car il dépend des messages passant via le broker.
Popularity: 4% [?]
Windows + Disque SSD + shrink + defrag
21/07/09
La technologie SSD permet de s’affranchir notamment des problèmes de performances liés à la fragmentation. C’est donc tout naturellement que j’ai désactivé la défragmentation sur le Windows 7 de mon MacBook Air.
Voilà une semaine que je l’ai, et j’ai décidé de faire une autre partition que C:\ afin de la protéger avec bitlocker. Le MacBook Air n’a pas de puce TPM, mais elle n’est pas requise pour crypter une partition autre que celle du système d’exploitation. Ayant 43Go de libre sur 66Go, bien que toutes les applications soient installées, je décide de laisser 10Go de plus au système, et de réclamer le reste. Depuis Windows Vista et ultérieur, on peut directement, à chaud y compris pour la partition système, étendre et réduire les partitions via le gestionnaire de disque:
Sauf que là, surprise, Windows ne trouve que 26Go à réclamer…La faute à qui ? La fragmentation ne réduit pas les performances, mais les fichiers sont réellement éparpillé sur le volume. Windows accepte de réduire le volume en partant de la fin jusqu’au dernier fichier du volume (le plus loin depuis le début). Je me dis qu’une défrag pourrait me permettre de réclamer davantage. Je fais donc une défrag, et là surprise, même pas 1Mo de plus à réclamer. Pourquoi ? shrink consulte en fait déjà la commande defrag afin de calculer l’emplacement dernier fichier non déplaçable. Ce qui sous entend qu’il fera une defragmentation au moment du shrink.
Activer BitLocker sur la partition est très simple:

Popularity: 4% [?]
Tout ce que vous devez savoir sur NLB
18/07/09
La technologie NLB (Network Load Balacing) de Microsoft a l’avantage d’être intégrée directement avec le système d’exploitation. Comme son nom l’indique, est permet de répartir la charge sur plusieurs noeuds, qui sont membre de la ferme (cluster). La mise en route est très simple en apparence, mais il y a cependant plusieurs points à ne pas négliger, sous peine d’avoir l’impression que tout va bien sans que ca soit le cas…
Impact sur le réseau
NLB peut fonctionner dans deux modes:
- Unicast
- Multicast (avec ou sans IGMP)
Lequel choisir ? Ca dépend! Les variables à prendre en compte pour faire son choix:
- Quelle application sera accédée via la ferme? Est-ce qu’elle supporte les deux modes ? Par exemple, ISA 2006 avant le Service Pack 1 ne supportait que Unicast (un hotfix était aussi possible mais plus confidentiel)
- Combien de cartes réseaux ont les membres de la ferme ? Unicast va exiger 2 cartes réseaux minimum pour être à l’état de l’art
- Est-ce que les noeuds doivent pouvoir communiquer entre eux ?
- Est-ce que l’IGMP multicast est actif sur les switchs ? il permet de ne pas flooder le réseau inutilement
- Certains switchs (Cisco par exemple) n’apprécie pas du tout de voir la même adresse mac depuis chaque membre de la ferme. Il faut alors transformer le switch en hub, en envoyant tous les paquets réseaux à destination de l’adresse mac virtuelle à l’ensemble des noeuds.
Supervision et disponibilité
Il est vrai que si un noeud disparait du réseau, les autres prennent la relève. Mais on entend par là une coupure franche. Si vous avez 2 serveurs dans la ferme, et que vous arrêtez votre application métier sur un noeud, il continuera à recevoir autant de requête que l’autre, et il y aura donc la moitié des utilisateurs « dans le vent ». NLB travaille au niveau 3 (IP), et n’a pas conscience de ce qui ce passe plus haut, au niveau applicatif. Même si le port TCP n’est plus écouté, il n’en aura pas conscience. C’est le grand point faible de NLB. Microsoft incluait sentinel dans le resource kit. Il permettait de tester une page web sur chaque noeud et de le sortir de la ferme en cas de problème. ISA 2006 gère le NLB est peut sortir de la ferme en cas de problème dans ISA. Pour le reste, c’est à vous de combler le manque. S’il s’agit d’un site Web sous IIS, vous pouvez modifier LoadBalancerCapabilities dans la metabase de IIS afin de remplacer un 503 par un reset TCP. Le client va ainsi recommencer la requête et aller sur un autre serveur.
Pour combler le manque, vous pouvez utiliser votre solution de supervision (ou un script en boucle sur chaque nœud). L’idée est de tester chaque noeud d’un point de vue applicatif, et de le sortir de la ferme en cas d’erreur. Cela implique plusieurs éléments à étudier:
- Il faut vérifier très régulièrement chaque nœud sans générer de surcharge. L’idéal est d’avoir la supervision prévue dans l’application, par exemple en appelant une page web spécialement prévue à cet effet, qui test les composants applicatif et renvoi directement un code.
- La supervision devient active (elle va agir directement sur la production)
La solution SCOM prends alors de l’intérêt, notamment via l’implémentation de trigger sur évènement (eventlog, fichier de log…)
NLB versus MSCS ?
Un cluster MSCS est prévu pour être actif/passif. A un instant T, les ressources sont sur un seul serveur, qui doit donc pouvoir supporter toute la charge. Il a l’avantage de pouvoir gérer des données partagées (espaces disques), et de pouvoir superviser des ressources (état de services Windows). Là aussi, cela ne couvre pas l’application dont le service Windows est bien démarré, mais qui ne fonctionne plus (perte de l’accès à la base de données..).
Autre solution ?
- J’ai déjà mis en place du Safekit de Evidian sur Windows. Cette solution est pas trop mal, mais les vérifications applicatifs sont là aussi complètement à votre charge.
- Répartiteur de charge sous forme d’appliance (F5, Alteon…): ils peuvent faire des vérifications applicatives, mais surtout appeler une page Web pour savoir si le nœud est opérationnel ou non.
- Rester avec un seul nœud ?
KB/Articles:
IIS Responses to Load-Balanced Application Pool Behaviors
NLB Operations Affect All Network Adapters on the Server
Unicast NLB nodes cannot communicate over an NLB-enabled network adaptor in Windows Server 2003
The « NLB troubleshooting overview for Windows Server 2003″ article is available
An update enables multicast operations for ISA Server integrated NLB
Terminal Services Client Cannot Connect to NLB Cluster TCP/IP Address
The NLB WMI Provider Generates a Lot of Error Entries in the Wbemcore.log File
How NLB Hosts Converge When Connected to a Layer 2 Switch
Popularity: 13% [?]
J’ai un Mac…C’est grave docteur ?
9/07/09
Ceux qui lisent mon blog régulièrement pourraient être surpris, mais je viens d’acheter un Mac ! Un MacBook Air 2,1Ghz avec un SSD de 128Go. Mon bon vieux Dell XPS M1210 date de 2006. Il chauffe pas mal et pèse presque 2,3 kilos avec la batterie 9 cellules. Un portable très performant amène rapidement dans les 3 kilos (8Go de ram, du stockage..). J’ai donc décidé d’arrêter la course vers la performance, et plutôt me connecter à ma dedibox pour avoir les ressources nécessaires…
Le bon:
- il boost vraiment plus que mon Dell. Le processeur est moins puissant, mais le bus à plus de 1Ghz compense largement, ainsi que d’avoir de la DDR3.
- Le wifi est vraiment top, les débit montent tout de suite au taquet avec ma freebox, que ce soit sous MacOS X ou Windows 7. C’est du Broadcom 802.11n
- Le SSD est vraiment top, proche en terme de performance de mon SuperTalent (voir le post sur le sujet pour comparaison)
- Windows 7 64 bit RC met 28 secondes depuis le début jusqu’au bureau chargé.
- On a l’impression qu’il manque des touches (page down/up notamment). En fait, Apple utilise le multitouch pour faire ces fonctions (en autre, il y a beaucoup de raccourcis via le multitouch du trackpad). Terrible aussi sous Windows 7 64 bit quand ca fonctionne pas…
- Le clavier est rétro éclairé
Le moyen:
- J’ai cherché la petite bête en installant Windows 7 RC en 64 bit via Boot Camp. Windows fonctionne très bien mais les pilotes Apple beaucoup moins.
- MacOSX maintiens le bios à l’heure mais en GMT. Quand Windows 7 démarre, il retarde de 2 heures par rapport à l’heure de Paris en été (GMT +2). Boot Camp, si installé, ajoute un service de temps pour masquer cette différence (AppleTimesrv.exe).
- mémoire de la carte graphique étant partagé, on obtient 1764Mo de ram pour Windows.
- Pas de puce TPM, donc pas d’encryption du disque système sympathique.
Performance du SSD:
Les pilotes Boot Camp & Windows 7 64 bit:
Par défaut, l’installation de BootCamp ne fonctionne pas:
A ce stade 2 possibilités:
- Modifier le MSI pour passer la vérification. Windows alerte cependant sur des problèmes connus sur Windows 7 si on l’installe.
- Appliquer directement juste les pilotes aux périphériques sans utiliser le setup Apple.
J’ai choisi la deuxième possibilité, qui a fonctionné, mais n’ayant pas installé la couche Apple, je n’ai pas le panneau de contrôle Boot Camp dans Windows 7. Cela génère des petits problèmes:
- Pour passer sous MaxOSX, il faut maintenir la touche Alt au boot de la machine pour choisir entre les deux OS.
- Pas de clique droit ni de multitouch via le trackpad. J’ai pourtant mis les pilotes
- Pas d’accès aux fonctions qui sont sur les touches de fonctions (F1-F12)
A ce stade, ne pas avoir de clique droit ne fait plus rire du tout. Le MacBook Air n’a qu’un seul port USB, et donc brancher une souris a ses limites, que la raison n’ignore pas.
J’ai donc choisi d’installer quand même BootCamp. Le DVD fourni avec le Mac contient déjà BootCamp 2.1 d’origine. Seulement il ne se laisse pas faire, et il faut donc procéder comme suit:
- Passer les paramètres régionaux (Formats) en English (United States). Leur MSI ne supporte rien d’autre, et génère l’erreur 2229.
- Lancer directement le msi depuis le DVD: \Boot Camp\Drivers\Apple\BootCamp64.msi
- Si cela ne suffit pas, il faut modifier la clé HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion en mettant 6.0 pour simuler Vista. A remettre en 6.1 après.
Si vous êtes en galère, voici quelques infos:
Chemin du panneau de contrôle Apple Boot Camp: C:\windows\system32\AppleControlPanel.exe
Pilotes/services/bidules Apple lancés automatiquement par Windows:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run:
Apple_KbdMgr Boot Camp Manager c:\program files\boot camp\kbdmgr.exe
IRW IR Receiver Application c:\windows\system32\irw.exe
RtHDVCpl HD Audio Control Panel Realtek Semiconductor c:\program files\realtek\audio\hda\ravcpl64.exe
HKLM\System\CurrentControlSet\Services:
AppleOSSMgr c:\windows\system32\appleossmgr.exe
AppleTimeSrv c:\windows\system32\appletimesrv.exe
aapltctp Apple Trackpad Enabler c:\windows\system32\drivers\aapltctp.sys
aapltp Apple Trackpad Driver c:\windows\system32\drivers\aapltp.sys
applebt Apple Bluetooth c:\windows\system32\drivers\applebt.sys
applemtm Apple Multitouch Mouse Driver c:\windows\system32\drivers\applemtm.sys
applemtp Apple Multitouch Trackpad Driver c:\windows\system32\drivers\applemtp.sys
AppleODD Apple Optical Disc Drive c:\windows\system32\drivers\appleodd.sys
AppleUSBEthernet Apple USB Ethernet Adapter Driver c:\windows\system32\drivers\appleusbethernet.sys
DevUpper Apple iSight Driver c:\windows\system32\drivers\isightft.sys
IRRemoteFlt IR Receiver Driver c:\windows\system32\drivers\irfilter.sys
KeyAgent Apple KeyAgent Driver c:\windows\system32\drivers\keyagent.sys
KeyMagic Apple Keyboard Driver c:\windows\system32\drivers\keymagic.sys
Périphériques tels qu’ils doivent apparaitre:
Boot Camp doit avoir un onglet TrackPad entre autres:
Quelques astuces:
- Clique droit: deux doigts sur le touchpad + bouton de clique gauche
- Page up/down: deux doigts qui montent/descendent sur le touchpad
- Touche Suppr: fn + <-
- Touche Windows: la touche cmd
- touche \: alt de droite + 8
- ctrl+alt+suppr: ctrl + alt + <–
- Pause: Fn + esc
- impr écran: Fn + Maj + F11
- Choisir l’OS au boot: maintenir appuyer la touche Alt de gauche jusqu’à avoir le menu de choix
Popularity: 8% [?]







