Superkikim O Blog

Superkikim aussi, il blogue. Il blogue, il blague et partage ses découvertes

Script de backup plesk (9.x et supérieur)

Introduction

Je me suis affranchi de la configuration des sauvegardes plesk depuis le GUI. J’ai préféré faire mon propre script qui backup la configuration du serveur, la configuration de chaque revendeur, et enfin, chaque domaine individuellement. J’ai créé ce script, car en faisant des sauvegardes depuis le plesk panel vers du FTP, j’avais toujours des problèmes. Le FTP tombait, (très mauvais FTP chez OVH à cette époque), et j’avais d’autres souci comme des faux problèmes de droits sur le FTP (alors que ce n’était pas le cas). Bref, j’ai beaucoup galéré… On est jamais mieux servi que par soi-même au final.

Il y a sûrement milles façons plus simples, et plus compliquées de faire. Perso, c’est la méthode dont je me suis servi, et je la partage avec vous. Après, à vous de faire avec ou pas…

Continue reading →

Création d’une machine virtuelle Debian x64 sur un ESXi OVH

Voici un tutoriel montrant comment créer votre machine Debian Lenny x64 sur un serveur ESXi chez OVH. A noter que j’ai une licence vSphere Essentials, je fais donc l’installation depuis vCenter, mais la procédure est pratiquement identique si vous vous connectez directement au serveur.
La première étape est d’obtenir une adresse IP failover. Je passe les détails et vous laisse chercher comment faire si vous ne le savez pas.
Pour des raisons pratique, je vais utiliser des adresses fictives pour l’exemple:
IP du serveur ESXi: 172.30.45.12
IP failover: 192.168.12.34

Etape 1 : Création de l’adresse MAC virtuelle

Créer une adresse MAC virtuelle sur le Manager.

Sélectionnez l’adresse IP désirée, donnez un nom à votre machine, et sélectionnez bien « VMWare ». ATTENTION: Si vous sélectionnez Ovh dans ce troisième champs, vous ne pourrez pas utiliser cette adresse MAC pour VMWare:

Une fois l’adresse MAC créée, sélectionnez la et copiez la pour l’avoir dans le presse-papier. Nous en aurons besoin plus tard.
L’adresse MAC obtenue sera du format 00:50:56:XX:XX:XX. Le 00:50:56 indique que c’est une adresse MAC pour une machine virtuelle VMWare.

Etape 2 : Création de la machine virtuelle

Ouvrez ensuite le vSphere Client. Vous pouvez trouver le lien de téléchargement en vous connectant sur votre serveur ESXi directement, en http (http://nsxxxxxx.ovh.net)
Une fois le client ouvert, pour créer la machine, cliquez avec le bouton de droite sur le serveur ESXi dans le Vi Client, et sélectionnez « New Virtual Machine » (ou nouvelle machine virtuelle. Je ne traduirai pas tout le long, c’est assez clair):
Dans l’assistant de création, sélectionnez « Custom ». N’utilisez pas Typical. Cette dernière option offre des paramètres prédéfinis qui ne correspondront peut-être pas à vos attentes.
Donnez ensuite un nom à votre machine virtuelle. Le nom doit être unique pour chaque machine virtuelle. Dans mon cas, je l’appelle arma2 car elle me permettra d’installer une nouvelle version de Armagetron Advanced Dedicated Server.
Sélectionnez ensuite le datastore. Normalement, sur un serveur ESXi, vous n’en avez qu’un. Choisissez ensuite le format par défaut, à savoir Virtual Machine version: 7 (vous n’avez qu’à lire pour les détails).
Sélectionnez le système d’exploitation:

Choisissez ensuite le nombre de processeurs virtuels. Typiquement, je ne fais plus que des machines avec deux vCPU au moins (4 pour des machines plus importantes). Je laisse ce choix à votre appréciation.
Pour la mémoire, pour mon serveur Armagetron, je vais commencer avec 512MB. S’il en faut plus, on peut toujours augmenter plus tard. A noter qu’on devra alors arrêter la machine virtuelle. Ca ne peut pas être augmenter à chaud.
Pour la carte réseau, sélectionnez-en une, puis comme adaptateur, choisissez VMXNET 3. C’est un pilote de carte optimisé pour l’environnement VMWare. Laissez coché l’option « Conncet at Power On »:

Gardez le contrôleur LSI Logic Parallel proposé par défaut, et passez à la création du disque virtuel.
Créons maintenant un disque virtuel. Pour armagetron, je peux me contenter de 4GB. Mais je vous laisse également maitre de vos choix. Je vous conseille vivement d’utiliser le « Thin » provisioning, (allocation à la demande). Ceci implique que la taille réelle du disque virtuel sur le serveur ESXi correspondra à l’espace effectivement utilisé sur la machine virtuelle. Un exemple: Vous avez 2TB sur le serveur ESXi. Vous créez 10 machines virtuelles auxquelles vous attribuez 500GB chacune. En Thin provisionning, vous pourrez le faire, car l’espace réel utilisé ne sera pas de 5TB tant que les disques ne seront pas pleins. Le danger, bien sûr, est que si sur l’ensemble des machines virtuelles vous atteignez une taille global de plus de 2TB, vous allez être dans le trouble. D’où l’intérêt de l’utiliser avec parsimonie, et de le surveiller.

Autre information importante. Si vous souhaitez garder la possibilité d’utiliser des snapshots, il est important de garder de l’espace libre sur le datastore. Ne dépassez pas 75% de l’espace disponible, et enfin, ne gardez pas vos snapshots actifs trop longtemps. Car plus un snapshot existe longtemps, plus il prend de la place, et vous risquez de remplir votre disque.
Après ce petit intermède culturel, passons donc à la création du disque virtuel:

Sur la page suivante, laissez par défaut SCSI (0:0) et ne sélectionnez pas Independent.
Nous voici donc à l’étape finale de l’assistant. Activez la coche « Edit the virtual machine settings before completion » et cliquez Finish:

De là, on se retrouve dans l’édition des paramètres de la machine virtuelle.
Supprimez le floppy. On en a vraiment pas besoin.
Cliquez ensuite sur la carte réseau, puis dans la partie de droite, sélectionnez « MAC Address Manual », et collez l’adresse MAC créée plus haut. ATTENTION: CECI EST INDISPENSABLE. Si vous ne le faite pas, vous risquez qu’OVH bloque votre accès réseau pour cause d’adresse MAC non autorisée.

Enfin, sélectionnez le CD-Rom et cliquez sur « Connect at power on ».
Voilà. La première étape est terminée. Votre machine virtuelle est créée.

Etape 3 : Installation de Debian

L’étape suivante tient dans l’installation de Debian. Le plus facile et le plus rapide est de télécharger le CD d’installation de debian directement sur le serveur ESXi.
Connectez-vous en SSH au serveur ESXi. Une fois authentifiez, allez dans le datastore et créez un dossier iso dans lequel vous pourrez mettre vos images iso d’installation. Puis utilisez wget pour télécharger le CD :

cd /vmfs/volumes/datastore1
mkdir iso
cd iso
wget http://mirror.switch.ch/ftp/mirror/debian-cd/current/amd64/iso-cd/debian-508-amd64-CD-1.iso

Je vous déconseille le netinst, car il faut quelques étapes de plus pour activer le réseau puisqu’on a pas de serveur DHCP. Mais c’est faisable, si vous aimez vous amuser. Je l’ai fait.
Une fois le CD téléchargez, connectez-le sur votre machine virtuelle :

Il ne reste plus qu’à démarrer la machine virtuelle, et à ouvrir la console avec ces deux boutons :  et

Astuce : Quand vous êtes dans la console de la VM, tapez « CTRL-ALT » pour en ressortir.

L’installation de Debian n’a rien de sorcier…  On choisit « Install », ensuite, la langue (je préfère l’anglais sur un serveur), le continent et le clavier (other => Europe => Switzerland dans mon cas) et enfin le clavier (Swiss French pour moi).

Debian ne trouvera pas de carte réseau. C’est normal. C’est parce que nous avons choisi le pilote VMXNET3. La carte ne sera reconnue qu’après avoir installé les VMWare tools.  Continuez sans carte réseau.  Donnez un nom à votre machine. N’indiquez pas le nom de domaine ici. Ca viendra plus tard .

Pour le partitionnement, il y a mille et une façon de faire. Mais ici, comme il s’agit d’une machine plutôt simple que je monte, je choisirai « Guided – use entire disk ». Il s’agit de la première option. Je laisse donc le soin à Debian de faire la partitionnement et décide de mettre tous les fichiers sur une seule partition.

Tapez Enter pour toutes les options suivantes, et quand vous y êtes invités, changez le mode de passe root. Ensuite créez l’utilisateur de votre choix. Il va vous demander ensuite si vous souhaitez ajouter un CD-Rom. Choisissez « No » et si vous voulez utiliser un miroir. Continuez sans miroir, puisque nous n’avons pas accès à internet. Ensuite, c’est votre choix si vous souhaitez participer aux statistiques d’utilisation des paquets ou pas. Perso, je sélectionne « no ».

Nous voici enfin à la sélection des paquets. Personnellement, j’aime les choses propres, c’est pourquoi désactive tout, et j’installerai ensuite uniquement ce dont j’ai besoin :

Enfin, pour l’installation de GRUB, bien sûr, on l’accepte, sinon on pourra pas booter. Et voilà. L’installation est terminée. Ne reste plus qu’à redémarrer :

Etape 4 : Installation des vmware tools et configuration réseau

L’installation des VMWare tools était pénible avant. Car il fallait avoir les paquets de compilation. En effet, les pilotes étaient compilés durant cette installation. Heureusement, ce n’est plus le cas.
Une fois la machine redémarrée, connectez-vous avec le mot de passe root créé plus haut. Allez ensuite dans le menu VM de la console (souvenez-vous : ctrl-alt pour sortir de la console), puis sélectionnez « Guest => Install VMWare Tools ». Ceci va attacher l’iso des vmware tools à votre VM.
Il faut donc ensuite monter le CDRom, et en extraire le fichier des vmware tools afin de l’installer. Voici comment je procède :

mount /dev/cdrom

A noter que si vous n’arrivez pas à ce stade à monter le CDRom, c’est très propbablement que vous avez oubliez de cocher “Connect at power on” dans les paramètres. Retournez le faire, et redémarrez votre machine virtuelle.

mkdir install
cd install
tar xzf /media/cdrom/VMwareTools-8.3.2-299420.tar.gz
umount /dev/cdrom
cd vmware-tools-distrib
./vmware-install.pl

Tapez ENTER à chaque option. Vous pouvez tout laisser par défaut. Voilà. Les VMWare tools sont installées. Avec elle, le pilote pour la carte réseau.

Activez ensuite la synchronisation de l’horloge de la VM avec le host . Ceci est indispensable, sinon votre VM ne sera jamais à l’heure. Bien sûr, il est indispensable de configurer le serveur de temps sur le serveur ESXi lui-même (dans « Configuration, time and settings »).

vmware-toolbox-cmd timesync enable

Vous pourriez aussi configurer NTP à la place. Mais la synchronisation avec le host ESXi est plus efficace et plus simple à mettre en place.

Ne reste plus qu’à configurer le réseau. pour ce faire, éditez /etc/network/interfaces

nano  /etc/network/interfaces

et ajoutez la configuration suivante dedans. A noter que la gateway correspond à l’adresse de votre ESXi (172.30.45.12 dans notre exemple) dont vous remplacez le dernier chiffre par 254. Voir le guide OVH à ce sujet :

auto eth0
iface eth0 inet static
address 192.168.12.34
netmask 255.255.255.255
broadcast 192.168.12.34
post-up route add 172.30.45.254 dev eth0
post-up route add default gw 172.30.45.254
post-down route del 172.30.45.254 dev eth0
post-down route del default gw 172.30.45.254

CTRL-X pour sortir et sauver.
Reste à mettre en place les DNS et le nom de domaine:

nano /etc/hostname

Insérez le nom de la machine complet, avec le domaine.
arma2.votredomaine.com

Editez ensuite /etc/hosts et ajoutez à la fin :

192.168.12.34    arma2.votredomaine.com arma2

Et enfin éditer /etc/resolv.conf pour mettre les serveurs DNS

nameserver 213.186.33.99

nameserver 8.8.8.8

Le premier est un DNS ovh. Le dernier (8.8.8.8) est un DNS Google au cas ou celui d’OVH ne répondrait plus. Mais ça encore, c’est votre choix.
A ce stade, je fais un petit reboot. Comme on dit en allemand : Ein Reboot ist immer gut … ;-) Si on ne veut pas rebooter, on peut faire un simple ifup eth0.
Ne reste plus qu’à vérifier la connectivité avec internet :
ping www.google.com

La réponse doit être :

PING www.l.google.com (74.125.230.82) 56(84) bytes of data.
64 bytes from 74.125.230.82: icmp_seq=1 ttl=57 time=4.43 ms
64 bytes from 74.125.230.82: icmp_seq=2 ttl=57 time=4.42 ms

CTRL-C pour arrêter le PING.

Etape 5 : Mise à jour et paquets essentiels

Maintenant qu’on a une machine fonctionnelle avec accès à internet, il reste quelques détails comme la mise à jour si c’est nécessaire, et quelques outils de première nécessité comme les sources et les outils de compilation qui vous éviteront des prises de têtes si vous souhaitez installer quelque chose qui n’est pas disponible dans les repositories de Debian.
Il faut donc d’abord ajouter un miroir internet aux sources d’installation. Vous vous souvenez ? celui qu’on a pas mis à l’installation aprce qu’on avait pas accès à internet. Personnellement, j’utilise Switch, car je suis en Suisse, et il est excellent. Mais je vous laisse faire les recherches adéquates pour trouver celui qui vous convient le mieux :

nano /etc/apt/sources.list

Supprimez les lignes liées au CD-ROM et ajouter les lignes du miroir. Dans mon cas il s’agit de :

deb http://mirror.switch.ch/ftp/mirror/debian lenny main non-free contrib
deb-src http://mirror.switch.ch/ftp/mirror/debian lenny main non-free contrib

On met en suite la liste de aptitude puis on fait les mises à jour nécessaires:

apt-get update
apt-get upgrade

Et enfin, on installe les paquest indispensables à savoir openssh-server, sudo et les sources et autres outils de compilation :

apt-get install openssh-server sudo build-essential

Voilà, votre machine est prête. N’oubliez pas de configurer sudo.

Les entreprises fribourgeoises sont formidables

Bon sang, je n’y croyais plus…

Pour une raison X, j’ai a faire à des entreprises locales fribourgeoises en direct aujourd’hui. Un électricien, un sanitaire, un menuisier. Puis j’ai eu à faire à Gruyère Energie également.

Vous les appelez, ils viennent le jour même. Ok on est en hiver, mais quand même… Ils sont souriant, sympathique, font un super boulot, et font plus que ce qui a été demandé. Des bricoles, mais qui rendent tellement service.

Je ne croyais plus que ça existait. Ayant habité dans l’arc lémanique pendant 19 ans, j’avais complètement perdu de vue que le marché de proximité, et les entreprises qui prennent du plaisir à s’occuper bien de leurs clients existaient encore.

Vive la Glâne, Vive le pays de Fribourg :-) Me sens comme un coq en pâte :-D

Téléphonie mobile: Réagissez, dites non à l’abonnement et aux appareils subventionnés

Qu’on se le dise, l’abonnement n’est pas la panacée. On nous endort à coup de marketing, de forfaits, mais le constat est toujours le même. Qu’on utilise ou pas son téléphone, la facture tombe, chaque fin de mois, quelque soit le modèle d’abonnement choisi.
Continue reading →

Vérifier si une variable est multiple de 3 en bash

Je cherchais à mettre en page un tableau avec trois colonnes. Et pour ce faire, j’ai cherché comment vérifier si un compteur est multiple de 3 afin d’ajouter un retour de chariot toutes les trois entrées. J’ai fini (ENFIN) par écrire ce script qui détermine si la variable de mon choix est effectivement un multiple de 3. Pour ce faire, je divise ma variable par 3, en utilisant BC avec scale=1 qui retourne donc une valeur avec une décimale. Ensuite je teste la décimale. Si c’est un 0, c’est un entier, donc c’est un multiple de 3. Sinon, ce n’est pas un multiple de 3. Voici le résultat:

#!/bin/bash
test=$(echo "scale=1; $1/3" | bc)
y=1
for i in $(echo $test | tr "." "\n")
do
if [ $y -eq 2 ]
then
if [ $i -eq 0 ]
then
echo "$test" est un multiple de 3
fi
fi
((y++))
done

Monter une image système dans Windows 7

Vous avez fait une image système de votre machine Windows. Vous souhaitez la monter dans le gestionnaire de stockage afin d’en récupérer des fichiers. Vous allez dans dans la gestion de la machine, puis vous sélectionnez le gestionnaire de stockage, vous faites un clic droit, et choisissez « attacher un disque virtuel » (VHD). Et là, horreur: Impossible de le monter. Windows refuse, en disant que la version n’en est pas capable… BALIVERNE !!!

Ne vous prenez pas la tête. Tout est question de droit.

Copiez votre (vos) fichier(s) VHD dans un endroit alternatif, en dehors du dossier de la sauvegarde. Une fois, copié, vous pourrez le monter sans problème.

Bien sûr, cela peut demander de la place…

Lecture des fichiers m4a (AAC) dans Squeezecenter

En Suisse, iTunes est le seul fournisseur intéressant de musique en ligne. Malheureusement.

Mais voilà… Quand on télécharge des fichiers en AAC avec l’extension m4a (sans DRM), squeezecenter n’est pas configuré d’origine pour les lire… damned…

J’utilise ici SqueezeCenter 7.5.2 mais ceci concerne également la 7.5.1. Et je suis sous Debian.

Pour lire vos fichiers m4a, il faut installer faad et flac.

[pre]apt-get install faad flac[/pre]

Mais il y a un piège. En effet, pour une raison qui m’échappe, SqueezeCenter cherche flac et faad dans /usr/share/squeezeboxserver/Bin/i386-linux et il y a bien des fichiers avec ces noms dans ce répertoire. Mais ils ne servent à rien. POur résoudre le problème, il faut supprimer ces fichiers inutiles et faire un lien symbolic vers les binaires:

[pre lang=bash]rm /usr/share/squeezeboxserver/Bin/i386-linux/flac

rm /usr/share/squeezeboxserver/Bin/i386-linux/faad

ln -s /usr/bin/faad  /usr/share/squeezeboxserver/Bin/i386-linux/faad

ln -s /usr/bin/flac /usr/share/squeezeboxserver/Bin/i386-linux/flac

[/pre]

On redémarre Squeezecenter juste pour être sûr

[pre lang=bash]/etc/init.d/squeezeboxserver restart[/pre]

On lui donne une minute pour être monté, et ça devrait jouer…

VMWare Vsphere 4 Essentials avec plus de 3 hosts ? impossible

Ben voilà, fallait s’y attendre et je m’y attendais !!! Le soit-disant expert en licensing m’a dit une connerie !!! Ca m’épuise.

Quand on ajoute un quatrième host sur un vCenter avec une license Essentials, on se fait envoyer péter ! Je vais du coup contacter VMWare, et réclamer, avec log de la discussion à l’appui, en espérant qu’ils transforment mes licences en Standard…

Oui, je sais… Faut pas rêver, mais qui ne tente rien n’a rien.

VMWare VSphere 4 Essentials avec plus de 3 hosts

VMWare Vsphere 4 Essentials est en action jusqu’au 15 juin 2010. Vous pouvez l’obtenir pour 495$ au lieu de 990$. Une aubaine pour mettre un pied dans le monde de VMWare.

Une licence à 495$ supporte une instance vCenter 4 Essentials et 6 CPU pour VMWare Vsphere 4 Essentials.

La version Essentials offre les fonctionnalités suivantes:

  • ESX ou ESXi à choix
  • 4 VCPU par machine virtuelle
  • Utilisation de l’Agent vCenter
  • vCenter Update Manager
  • VMSafe
  • vStorage APIs

Ce qu’il ne supporte pas à ce prix là:

  • High availability
  • Data Recovery

Bon à savoir: d’après ma demande auprès d’un expert en licensing, il est possible d’acheter deux licenses à 495$ pour gérer jusqu’à 12CPU avec la même instance de vCenter.J’ai donc acheté cet après-midi deux licenses VSphere 4 Essentials, et j’ai obtenu deux licenses: Une pour deux « instances » vCenter, et une pour 12 CPU. Je vais donc rapidement savoir si l’information qui m’a été donnée est correcte. Si c’est le cas, c’est vraiment une bonne nouvelle.

Un tableau comparatif des différentes version est disponible ici: http://www.vmware.com/products/vsphere/buy/editions_comparison.html

Résolution de problème GRUB

Ce soir, j’ai installé Debian Lenny sur mon nouveau serveur multimédia que je prépare pour brancher à notre télévision.

J’ai une carte mère Atom 330 ION, avec quatre disques SATA 2TB, et un lecteur de cartes. J’ai acheté une carte SD classe 6 pour installer le système d’exploitation dessus.

Dans mon bios, j’ai défini ma carte SD comme premier disque. Lors de l’installation de Debian Lenny, cette carte était indiquée comme sde. A son installation, GRUB a fait un mappage hd0 => sda, hd1 = sdb ….. hd4 = sde…

Manque de pot, au reboot… rien :-(

J’ai donc cherché un peu comment je pouvais d’abord être sûr que grub était bien installé sur ma carte SD, ensuite, vérifier quelle était vraiment ma partition. J’ai donc découvert la ligne de commande GRUB :-)

Lorsqu’on a le menu de démarrage devant les yeux, il faut appuyer sur C pour avoir l’invite GRUB. Ensuite la commande root va déjà permettre dans un premier temps de voir par élimination si on est bien sur la seule partition ext2 du système (mes autres disques sont vierges)

A la base, je crois que le système est sur hd4 qui est mappé sur sde. hd4,0 correspond donc à /dev/sde1:

root (hd4,0)

Là, message d’erreur: Système de fichier inconnu. Puis je me souviens qu’à l’installation, j’ai vu l’installeur dire « grub (hd0) ». Et si le mappage était faux ??? J’essaie alors

root (hd0,0)

Et là PAF… file system ext2.

J’utilise alors la commande cat pour vérifier si j’ai bien un système de fichier root à cet endroit

cat (hd0,0)/boot/grub/menu.lst

Boom paf… Ca marche. Je vois mon fichier menu.lst qui apparait. Et je vois (bien sûr) que dans mon fichier menu.lst, c’est tout faux ! A savoir que mon grub essaie de démarrer sur hd4 avec le root en sde alors que c’est hd0 root en sde….
Je démarre donc directement depuis la commande grub directement, afin d’aller corriger tout ça. Pour ce faire, je copie simplement les lignes de mon fichier menu.lst que je viens d’afficher, en corrigeant simplement root (hd4,0) par root (hd0,0). Je copie la ligne kernel, et la ligne init.rd et hop…. elle est belle. Mon système démarre avec succès. Plus qu’à corriger le fichier menu.lst, redémarrer pour vérifier qu’on est bon, et on passe à la suite.

Mais j’ai l’impression que je suis pas sorti de l’auberge avec cette idée de démarrer sur un périphérique SD :-( A suivre…