Tag Archives: adminsys

Configurer un serveur de temps sous Windows

Voici quelques temps j’ai été confronté à un souci. Si tout mes serveurs Linux étaient bien synchronisés avec des serveurs NTP (cf. ce post), les postes de travail sous Windows avaient eux une légère avance. Vous me direz que ce n’est pas trop grave, mais comme les personnes travaillant sur ces postes se basent sur cette heure pour partir, cela fait désordre. En cherchant quelques informations j’ai pu avoir une meilleure idée du fonctionnement des serveurs de temps sous Windows. Au sein d’un domaine, les machines se basent sur le temps du serveur d’autorité, donc bien souvent le PDC (Contrôleur de domaine). Ce dernier se base par défaut sur son horloge interne. C’est en effet le plus simple et le plus sûr car on est alors indépendant d’une source externe (pas de souci si on a pas Internet). Dans le cadre de mon réseau d’entreprise, j’ai un accès à Internet redondant avec d’un côté une fibre optique à 100 Mo et de l’autre une connexion basique via une Box d’un FAI. Si l’accès principal se coupe, le Firewall basculera automatiquement vers la deuxième connexion le temps que la première se rétablisse. L’horloge interne de mon contrôleur de domaine semblant avancer, j’ai décidé de synchroniser ce dernier avec le pool ntp français, comme pour mes serveurs Linux.

Je suis d’abord tombé sur cette fiche du support de Microsoft. On y trouve une description très complète de ces soucis, peut-être trop. Autant sous Linux on édite juste le fichier de configuration ntp.conf, autant ici on se retrouve à devoir jouer avec la base de registre, ce qui est loin d’être ma méthode préférée sur un contrôleur de domaine principal ;) Je suis ensuite tombé sur un site d’administration réseau où l’explication était plus simple et a répondue à mon besoin (www.adminreseau.net). Voici ci-dessous la méthode que j’ai donc appliquée :

Dans une invite de commandes DOS entrer la commande suivante :

net time /setsntp:fr.pool.ntp.org

Cette commande permettra de configurer la source de temps externe en modifiant les entrées suivantes de la base de registre (personnellement, j’ai fais une sauvegarde complète de la base de registre avant de faire cette manipulation, on est jamais trop prudents …) :

HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type passera de NT5DS à NTP
HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags passera de 10 à 5 en décimal
HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer sera créée au besoin et contiendra le nom du serveur NTP utilisé pour la synchronisation, ici fr.pool.ntp.org (pool de serveurs de temps français).

Il fallait ensuite redémarrer le serveur de temps en tapant les commandes suivantes à la suite :

net stop w32time (arrêt du service de temps)
net start w32time (démarrage du serveur de temps)
w32tm /resync /rediscover (force la synchronisation)

Si vous avez d’autres contrôleurs de domaine, vous pouvez faire cette manipulation supplémentaire dessus pour les synchroniser :

/setsntp (efface la configuration précédente)
w32tm /resync /rediscover (force la synchronisation)

Vous pourrez ensuite vérifier la synchronisation de vos contrôleurs de domaine avec la commande suivante :

w32tm /monitor

Personnellement je n’avais qu’un seul contrôleur de domaine donc pas besoin de m’occuper de la synchronisation des autres. En revanche je ne me suis pas embêté à aller sur chaque poste Windows pour le synchroniser. Les utilisateurs éteignant les machines la nuit, la synchronisation s’est faite naturellement au petit matin quand ils ont rallumés leurs postes de travail :)

Recréer une partition de Swap sous Linux (Mandriva 2009.0)

Je profite d’avoir rédigé un article pour le Blog du service technique de PMSIpilot pour le proposer ici aussi :) Voici quelques jours nous avons eu l’appel d’un contact rencontrant un souci sur son serveur. En effet alors qu’il appliquait une mise à jour à travers un applicatif, cela échouait sans plus de raisons. En nous connectant en VPN nous avons dans un premier abord été surpris. En effet les fichiers de logs ne contenaient pas beaucoup d’informations pour nous aider. A force de creuser nous avons enfin trouvé une première trace dans le log de MySQL qui redémarrait par manque de mémoire. Cela nous a surpris car ce serveur avait normalement 1 Go de RAM et 2 Go de Swap. En vérifiant avec la commande free nous avons obtenu la réponse suivante :

[root@pmsipilot ~]# free
total used free shared buffers cached
Mem: 1034548 206192 828356 0 11888 91500
-/+ buffers/cache: 102804 931744
Swap: 0 0 0
[root@pmsipilot ~]#

Et là surprise, pas de Swap ! Nous avons ensuite vérifié que la partition existait bien avant de vérifier le contenu du fichier fstab pour voir si nous demandions bien à la partition de se monter et surprise elle était bien présente :

[root@pmsipilot ~]# fdisk -l /dev/sda

Disque /dev/sda: 42.9 Go, 42949672960 octets
255 heads, 63 sectors/track, 5221 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Périphérique Amorce Début Fin Blocs Id Système
/dev/sda1 * 1 660 5301418+ 83 Linux
/dev/sda2 661 5221 36636232+ 5 Extended
/dev/sda5 661 928 2152678+ 82 Linux swap / Solaris
/dev/sda6 929 2246 10586803+ 83 Linux
/dev/sda7 2247 5221 23896656 83 Linux
[root@pmsipilot ~]#

[root@pmsipilot ~]# cat /etc/fstab
# Entry for /dev/sda1 :
UUID=f2e0dc3e-ca0c-11de-9505-9532f1d0a000 / ext3 relatime 1 1
# Entry for /dev/sda6 :
UUID=058c0c64-ca0d-11de-84a0-39a75bb193a6 /home ext3 relatime 1 2
/dev/cdrom /media/cdrom auto umask=0,users,iocharset=utf8,noauto,ro,exec 0 0
/dev/fd0 /media/floppy auto umask=0,users,iocharset=utf8,noauto,exec,flush 0 0
none /proc proc defaults 0 0
# Entry for /dev/sda7 :
UUID=1bc24804-ca0d-11de-b77f-27219b1234fe /var ext3 relatime 1 2
# Entry for /dev/sda5 :
UUID=057d5d9a-ca0d-11de-ba57-83515a19edff swap swap defaults 0 0
[root@pmsipilot ~]#

Enfin en vérifiant dans /proc/swaps nous nous apercevions que aucune swap n’était listée.

[root@pmsipilot ~]# cat /proc/swaps
Filename Type Size Used Priority

Et en vérifiant l’UUID de cette partition, elle semblait bien correspondre :

[root@pmsipilot ~]# ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 2009-11-06 13:29 057d5d9a-ca0d-11de-ba57-83515a19edff -> ../../sda5
lrwxrwxrwx 1 root root 10 2009-11-06 13:29 058c0c64-ca0d-11de-84a0-39a75bb193a6 -> ../../sda6
lrwxrwxrwx 1 root root 10 2009-11-06 13:29 1bc24804-ca0d-11de-b77f-27219b1234fe -> ../../sda7
lrwxrwxrwx 1 root root 10 2009-11-06 13:29 f2e0dc3e-ca0c-11de-9505-9532f1d0a000 -> ../../sda1
[root@pmsipilot ~]#

Nous avons alors tenté de monter manuellement la partition de Swap avec la commande swapon :

[root@pmsipilot ~]# swapon /dev/sda5
[root@pmsipilot ~]# free
total used free shared buffers cached
Mem: 1034548 207324 827224 0 11984 91688
-/+ buffers/cache: 103652 930896
Swap: 2152668 0 2152668
[root@pmsipilot ~]#

Comme on peut le constater cela fonctionnait et nous n’avions aucun retour en erreur que ce soit sur le prompt ou dans les fichiers de logs. Nous avons alors redémarré le serveur (qui bien sûr est à plus de 500 km pour faire simple ;) ) et avons eu la désagréable surprise de constater que la swap ne s’était pas remontée d’elle même. Après avoir pris conseil auprès de Mandriva, nous avons pu constater que certains logs suggéraient que la swap pouvait être corrompue, et l’avons donc reformatée :

[root@pmsipilot ~]# mkswap /dev/sda5
Setting up swapspace version 1, size = 2152672 KiB
pas d’étiquette, UUID=bbc600ee-4350-452f-894d-349fb915927b
[root@pmsipilot ~]#

Une fois cette partition recréée, il a bien sûr fallu modifier le fichier /etc/fstab afin de tenir compte du nouvel UUID.

[root@pmsipilot ~]# vi /etc/fstab
[root@pmsipilot ~]# cat /etc/fstab
# Entry for /dev/sda1 :
UUID=f2e0dc3e-ca0c-11de-9505-9532f1d0a000 / ext3 relatime 1 1
# Entry for /dev/sda6 :
UUID=058c0c64-ca0d-11de-84a0-39a75bb193a6 /home ext3 relatime 1 2
/dev/cdrom /media/cdrom auto umask=0,users,iocharset=utf8,noauto,ro,exec 0 0
/dev/fd0 /media/floppy auto umask=0,users,iocharset=utf8,noauto,exec,flush 0 0
none /proc proc defaults 0 0
# Entry for /dev/sda7 :
UUID=1bc24804-ca0d-11de-b77f-27219b1234fe /var ext3 relatime 1 2
# Entry for /dev/sda5 :
UUID=bbc600ee-4350-452f-894d-349fb915927b swap swap defaults 0 0
[root@pmsipilot ~]#

Suite à cette modification, un redémarrage pour vérifier et là Eureka la Swap est bien montée au démarrage, mission accomplie et problème réglé :)

Gaël Duperrey & Samuel Verschelde