Posts Tagged Scripts

Utiliser vSphere PowerCLI pour interagir sur un vSwitch

Voici la liste non exhaustive des opérations que vous pourrez réaliser en utilisant vSphere PowerCLI pour interagir sur un vSwitch :

[table id =26 /]

Récupérer la liste des vSwitchs d’un hôte ESX

On utilise la commande Get-VirtualSwitch -VMHost <hote>

[vSphere PowerCLI] C:> Get-VirtualSwitch -VMHost esx.xitim.com

Name       Num Ports  Num Ports  Mtu   Key
                      Available
----       ---------  ---------- ---   ---
vSwitch0   32         29         9000  key-vim.host.VirtualSwitch-...
vSwitch1   64         60         1500  key-vim.host.VirtualSwitch-...
vSwitch2   64         63         1500  key-vim.host.VirtualSwitch-...

Récupérer la liste des vSwitchs attachés à une machine virtuelle

On utilise la commande Get-VirtualSwitch -VM <machine_virtuelle>

[vSphere PowerCLI] C:> Get-VirtualSwitch -VM "Exchange1"

Name       Num Ports  Num Ports  Mtu   Key
                      Available
----       ---------  ---------- ---   ---
vSwitch2   64         63         1500  key-vim.host.VirtualSwitch-...

Créer un nouveau vSwitch

On utilise la commande New-VirtualSwitch -VMHost <hote> -Name <nom>

[vSphere PowerCLI] C:> New-VirtualSwitch -VMHost esx.xitim.com -Name vSwitchDEV

Name       Num Ports  Num Ports  Mtu   Key
                      Available
----       ---------  ---------- ---   ---
vSwitchDEV 64         63         1500  key-vim.host.VirtualSwitch-...

Supprimer un vSwitch

On utilise la commande Remove-VirtualSwitch redirigée d’après une récupération préalable de l’hôte et du nom de vSwitch à supprimer.

[vSphere PowerCLI] C:> Get-VMHost "esx.xitim.com" |
Get-VirtualSwitch -Name "vSwitchDEV" | Remove-VirtualSwitch

Modifier la configuration d’un vSwitch

On utilise la commande Set-VirtualSwitch redirigée d’après une récupération préalable de l’hôte et du nom de vSwitch à modifier.

[vSphere PowerCLI] C:> Get-VMHost "esx.xitim.com" |
Get-VirtualSwitch -Name "vSwitchDEV" | Set-VirtualSwitch -MTU 9000

Name       Num Ports  Num Ports  Mtu   Key
                      Available
----       ---------  ---------- ---   ---
vSwitchDEV 64         63         9000  key-vim.host.VirtualSwitch-...

Je vous invite à suivre cet article qui sera régulièrement mis à jour.


, , ,

Laisser un commentaire

Configurer Apache pour servir des VirtualHosts sur une même adresse IP

La plupart du temps, l’utilisation de VirtualHosts dans Apache s’effectue de manière à pouvoir héberger plusieurs sites en utilisant l’adresse IP unique d’un serveur. De nos jours, vu la puissance des serveurs, il est en effet rare qu’un site standard consomme tout l’espace disque et la bande passante d’une machine. Mutualiser les coûts en servant plusieurs sites à partir d’une même adresse IP semble une solution idéale et à privilégier dès lors que n’interviennent pas des problèmes de rétro-compatibilité avec d’anciennes applications.

Pour mettre en place des VirtualHosts, rendez-vous dans /etc/apache2/httpd.conf (ou dans tout autre fichier de configuration dédié, selon votre installation…) et renseignez votre fichier de configuration de la manière suivante :

# Verifie qu'Apache ecoute sur le port 80
Listen 80

# Ecoute les requetes des VirtualHosts sur toutes les adresses IP
NameVirtualHost *:80

# Declaration de xitim.com
<VirtualHost *:80>
     DocumentRoot /www/sites/xitim.com
     ServerName www.xitim.com
</VirtualHost>

# Declaration de monsite.fr
<VirtualHost *:80>
     DocumentRoot /www/sites/monsite.fr
     ServerName www.monsite.fr
</VirtualHost>

Bien entendu, l’exemple donné ici est volontairement minimaliste. Apache peut avoir une grande finesse de réglages pour chaque directive dont voici les plus fréquentes :

[table id =27 /]

Remarques :

  • Les directives NameVirtualHost et VirtualHost devront toujours indiquer la même information
  • Une directive VirtualHost ne sera valide qu’en comportant les informations minimales DocumentRoot et ServerName
  • La première déclaration d’hôte sera toujours considérée comme prioritaire étant donné sa position dans le fichier de configuration

Pour aller plus loin, je vous invite à consulter la documentation Apache qui traite des VirtualHosts.

, , , ,

Laisser un commentaire

Gérer la rotation automatique de fichiers par script batch

Il est très fréquent de voir les administrateurs effectuer des sauvegardes de fichiers importants ou des dumps journaliers de bases de données sans y adjoindre une nécessaire rotation et purge des fichiers afin de rationnaliser la place disque et éventuellement la sauvegarde sur bande. Mettre en place une solution scriptée de rotation permet ainsi d’automatiser encore un peu plus son quotidien et d’éviter de laisser une situation s’aggraver avec des sauvegardes qui ne se font plus ou un disque qui se remplira jusqu’à ne plus avoir d’espace disponible.

Voici un exemple de dossier dans lequel aucun dump n’est purgé alors qu’en théorie, 5 jours suffiraient.

Nous allons donc mettre en place un script batch qui fera automatiquement le travail. Pour cela, nous utiliserons les commandes FORFILES et CMD. La ligne de commande suivante permet de scanner un dossier, éventuellement de filtrer par type de fichiers, puis de supprimer tout fichier supérieur à x jours.

FORFILES /p <path> /s /m *.<type> /d -<days> /c "CMD /C ERASE /F @FILE"

Pour reprendre l’exemple du répertoire avec un reliquat de sauvegardes SQL Server (.bak), nous utiliserons ce script :

FORFILES /p F:backupTESTServeurssrv-test /s /m *.bak /d -5 /c
"CMD /C ERASE /F @FILE : purge 5 jours"

A peine est-il exécuté que les dumps sont supprimés comme prévu. Ici, on a voulu filtrer les fichiers .bak et ne garder que 5 jours de sauvegarde.

Quelques informations concernant les arguments utilisés pour la commande FORFILES

  • /p : indique le chemin d’accès
  • /s : traite récursivement les sous-répertoires
  • /m *.extension : filtre les fichiers selon un masque de recherche qui est par défaut *.*
  • /d : sélectionne les fichiers dont la date de dernière modification est supérieur ou égale à + ou inférieure ou égale à -
  • /c : indique la commande à exécuter pour chaque fichier

Quelques informations concernant les arguments utilisés pour la commande CMD

  • /C : effectue la commande spécifiée entre guillemets
  • ERASE : indique l’effacement
  • /F : force la suppression de fichier(s) en lecture seule
  • @file : renvoie le nom de chaque fichier

Pour connaître tous les arguments disponibles, tapez votre commande suivie de /? ou rendez-vous sur les pages Microsoft dédiées (FORFILESCMD).

,

Laisser un commentaire