Tous les articles par droide

Optimiser la taille des disques virtuels de Proxmox

Cet article vous explique comment réduire l’espace disque physique occupé par vos disques de stockage virtuels. Sous Proxmox, les disques durs virtuels sont dynamiques, c’est à dire que lorsque vous définissez un disque dur de 100 Go par exemple, en réalité, sur la machine hôte, il n’occupe que quelques Go une fois le système installé. Ce qui évite d’occuper directement les 100 Go et de perdre du temps à la création de celui-ci.

Problématique

Ce système fonctionne bien sauf qu’une fois que l’espace disque à été alloué, il restera occupé même une fois vidé.

Par exemple, nous ajoutons 50 Go de données à notre machine qui en contenait déjà 10, la taille physique du disque virtuel est donc montée à 60 Go. Si nous supprimons ensuite ces 50 Go, la taille physique ne change pas et n’est donc pas réduite. Il faut le voir comme un cliquet ( que l’on ne peux que monter ). Cet espace non utilisé ne pose pas de problème directement, peut vite ralentir les sauvegardes Proxmox en utilisant des dizaines voir centaines de Go qui ne sont plus utilisés réellement.

Solution

  • disque SCSI

Pour pouvoir réduire l’espace disque physique, il faut avoir au préalable configuré le disque dur en SCSI et avoir coché l’option Discard.

Ensuite, dans votre machine virtuelle, il suffit d’utiliser la commande fstrim (beaucoup plus connue maintenant avec l’utilisation des SSD).

Continuer la lecture de Optimiser la taille des disques virtuels de Proxmox 

Gestion du pare-feu de Proxmox VE 4

Nous allons voir dans cet article comment utiliser le pare-feu (ou firewall en anglais) qui est intégré dans Proxmox et configurable entièrement via l’interface web de gestion de Proxmox.

Il y a trois niveaux de pare-feu. Un au niveau du Datacenter, un au niveau des nodes et un au niveau de chaque machines virtuelles. Nous allons donc procéder par étape et sécuriser un peu plus notre cluster.

1 – Pare feu du Datacenter (Datacenter firewall)

Pour commencer, cliquez Datacenter puis Firewall.

Vous avez ici les règles du pare-feu au niveau datacenter. De base, tout est vide et le pare-feu n’est pas actif. Nous allons faire les choses proprement et utiliser tout le potentiel offert par Proxmox en utilisant les Alias et Security Group. Nous allons commencer par créer nos règles avant d’activer le pare-feu qui par défaut n’autorise rien.

Les Alias permettent de configurer des IP que nous allons utiliser à plusieurs reprises dans les différents niveau de pare-feu. Les Security Group quand à eux permettent de créer une liste de règles regroupée en seul nom. Nous verrons par la suite leur utilité.

1.1 – Les Alias

Le premier but est de restreindre l’accès à l’interface web de proxmox et à l’accès SSH des machines. Nous devons créer des Alias pour enregistrer nos différentes IP d’accès comme par exmple l’IP de votre entreprise, de votre domicile, d’un accès de secours, etc …

Cliquez sur Alias, puis Add :

Indiquez un nom pour cet alias, l’adresse IP et un commentaire. Puis sur Add pour l’enregistrer. Je vous conseille également d’ajouter les serveurs de supervision de votre hébergeur. Si vous êtes chez Online par exemple, rajoutez cet Alias :

1.2 – Ajout des règles

Vous avez le choix d’être soit très restrictif et de n’ouvrir que les ports utilisés par Proxmox vers vos IP, soit d’ouvrir tous les ports. Nous allons utiliser cette deuxième méthode pour l’instant mais voici les ports utilisés par Proxmox :

  • Web interface: 8006
  • VNC Web console: 5900-5999
  • SPICE proxy: 3128
  • ssh : 22
  • rpcbind: 111
  • corosync multicast (pour un cluster) : 5404, 5405 UDP

 

Dans la partie Firewall, cliquez sur Add et vous obtiendrez l’interface suivante où vous allez sélectionner dans la source votre Alias précédemment créé et dans la Macro, le type de service que vous souhaitez laisser passer (dans cet exemple: Ping) :

Si vous souhaitez autoriser tous les ports vers votre IP, vous n’avez qu’à sélectionner la source et laisser tout le reste vide. N’oubliez pas de cocher la case Enable.

Lorsque toutes vos règles sont activées, vous pouvez maintenant activer le pare-feu en vous rendant dans Options puis double cliquez sur Enable Firewall et le passer à Yes.

2 – Pare feu des nodes

Pour la partie nodes, il suffit juste d’activer le pare-feu et de régler les logs si vous le souhaitez. De base rien n’est loggué. J’ai placé ici les logs en mode « alert ».

Les logs sont visibles dans l’option juste en dessous et ressemble à ceci :

3 – Pare-feu des machines virtuelles

Nous allons faire un exemple pour des machines virtuelles hébergeant des serveurs web.

Pour toutes ces machines, nous souhaitons avoir les ports 80 (HTTP) et 443 (HTTPS) d’ouverts à tous ainsi que du port 22 (SSH) mais restreint à nos IPs.

3.1 – Configuration des Security Group

Et c’est là que les Security Group rentrent en jeux. Revenez dans l’interface du firewall au niveau du datacenter puis dans Security Group et cliquez enfin sur Create :

Après avoir donné un nom au groupe et cliqué sur Create, vous pouvez sélectionner ce groupe et cliquez sur Add dans la partie droite pour commencer à ajouter toutes les règles de pare-feu comme fait au tout début de cet article. Si nous suivons l’exemple donné ci-dessus, voici le résultat que vous devriez obtenir.

Notre Security Group est maintenant créé et prêt à être utilisé.

3.2 – Activation des Security Group

Rendez-vous maintenant dans la partie firewall de votre machine virtuelle et cliquez sur Insert: Security Group puis choisissez celle qui vous convient et cochez Enable.

Activez ensuite le pare-feu comme pour les autres types réglant Enable Firewall à Yes.

C’est maintenant terminé !

Conclusion

Vous disposez maintenant des bases pour configurer le pare-feu de Proxmox et pouvoir ainsi disposer d’un minimum de réglages pour votre installation.

Les Security Group permettent de gagner énormément de temps et d’éviter des problèmes lors de la gestion des pare-feux des machines virtuelles. Rappelez-vous que par défaut le pare-feu bloque tout  entrée et autorise tout en sortie.

Migration de machines virtuelles Proxmox v3 vers v4 (avec IP FailOver Online.net)

Après avoir déployé un nouveau cluster Proxmox en version 4, nous sommes intéressés de migrer nos machines virtuelles situées sur un cluster en version 3 vers ce nouveau cluster. La procédure est relativement simple et se fait rapidement.

1 – Configuration du serveur de sauvegardes

Nous partons ici sur un serveur de sauvegardes fonctionnant en NFS. Il est en toute logique déjà configuré sur le cluster Proxmox v3 pour réaliser les snapshots quotidiens. Vous pouvez tout à faire utiliser un autre système de disques partagés pour vos sauvegardes, et la procédure qui suit sera identique.

Pour ajouter le serveur de sauvegarde NFS sur le nouveau cluster, rendez-vous dans la partie « Datacenter » puis « Storage ».

capture-decran-de-2016-11-04-10-59-52

Cliquez sur « Add » puis « NFS » dans notre cas.

capture-decran-de-2016-11-04-11-04-21Sur la fenêtre qui suit, indiquer l’ID en mettant le nom que vous voulez, puis l’adresse IP du serveur dans le champs « Server ». Lorsque vous cliquez dans le champ « Export », si la connexion fonctionne, vous verrez apparaitre les dossiers NFS auxquels vous avez le droit. N’oubliez pas dans la liste déroulante « Content » de bien sélectionner au minimum la ligne « VZDump backup file ».

Continuer la lecture de Migration de machines virtuelles Proxmox v3 vers v4 (avec IP FailOver Online.net) 

Déploiement d’applications Windows via RemoteApp (Windows Server 2012 R2) – suite et fin

Voici la suite de l’article concernant le déploiement d’applications avec Windows Server 2012 R2 et RemoteApp

Déploiement d’applications Windows via RemoteApp (Windows Server 2012 R2)

Nous reprenons donc sur la partie d’installation de l’autorité de certification. Après avoir repris le processus d’ajout de fonctionnalités, cochez Autorité de certification.

Continuer la lecture de Déploiement d’applications Windows via RemoteApp (Windows Server 2012 R2) – suite et fin 

Cluster Proxmox 4 chez Online.net (dedibox) avec le réseau RPN

Cet article reprend celui de 2014 où je vous expliquais la mise en place d’un cluster Proxmox chez Online.

Cluster Proxmox chez Online.net (dedibox)

Cette fois, nous allons faire un cluster avec la toute dernière version de Proxmox, la v4.3 et en faisant communiquer nos serveurs via le réseau RPN de chez Online.net. C’est un réseau privé connecté sur une seconde interface réseau physique des serveurs.

Le cluster créé fonctionnera en unicast car le multicast est également bloqué sur le RPN.

Pour faire notre cluster Proxmox, nous allons utiliser 3 serveurs de gamme Dedibox® PRO 2016 de chez Online, qui ont pour chacun la configuration suivante :

– Dell DSS 1510
– Processeur : Intel® Xeon® E5 1650 v3
– Mémoire : 96Go DDR4 ECC
– Disques : 3×500 Go SSD
– Réseau RPN : 1 Gbps

Continuer la lecture de Cluster Proxmox 4 chez Online.net (dedibox) avec le réseau RPN 

Géolocalisation avec Apache

world-regions-300px

Voici comment mettre en place une redirection vers un site internet en utilisant la géolocalisation directement dans un VirtualHost avec Apache.

1 – Installation des paquets :

Nous faisons cette manipulation sous Debian avec Apache 2.4 déjà installé. Il faut donc rajouter les modules permettant de gérer GeoIP :

# apt-get install libapache2-mod-geoip geoip-database-contrib
  • libapache2-mod-geoip permet de rendre apache compatible avec la géolocalisation
  • geoip-database-contrib permet de mettre à jour la base de correspondance IP <-> Pays

2 – Activation des modules :

L’activation des modules est simple et ne prend qu’une seule ligne :

# a2enmod rewrite geoip

Nous pouvons également mettre à jour la base d’IP comme ceci :

# geoip-database-contrib_update
Downloading: http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
Downloading: http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz
Downloading: http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
Downloading: http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz
Downloading: http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
Downloading: http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNumv6.dat.gz

Il faut savoir que le paquet installe également une tâche cron qui permet de maintenir la base à jour régulièrement. A savoir : 0 4 10 * *, soit à 4h00 du matin chaque 10 du mois.

3 – Configuration :

Nous réglons ensuite le module GeoIP pour qu’il aille chercher la bonne base d’IP en éditant le fichier de configuration du module pour Apache :

# vim /etc/apache2/mods-enabled/geoip.conf

Il suffit de dé-commenter la ligne avec le paramètre GeoIPDBFile pour lui indiquer le nouveau chemin :

<IfModule mod_geoip.c>
 GeoIPEnable On
 GeoIPDBFile /var/lib/geoip-database-contrib/GeoIP.dat
</IfModule>

Nous terminons par le vhost que l’on souhaite modifier en intégrant ces règles qui permettent de rediriger les IP Françaises vers un site Français et celles qui ne sont pas françaises vers le reste du monde :

RewriteEngine on
 RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(FR)$
 RewriteRule ^(.*)$ http://world.site.com/ [L]
 RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(FR)$
 RewriteRule ^(.*)$ http://france.site.fr/ [L]

Et pour finir, ne pas oublier un contrôle de configuration apache, puis un redémarrage du service qui va activer les modules et appliquer la nouvelle configuration :

# service apache2 restart

Installation Windows 7 impossible sur le disque dur…

Nous sommes en 2016 et Windows 10 a passé les 30 % de parts de marché des systèmes d’exploitations mais il arrive encore que l’on ai à installer des versions plus anciennes comme Windows 7.

logo_windows7

En faisant des installations de Windows 7 sur différentes machines à partir d’une clef USB créée avec l’outil officiel de Microsoft : Windows USB/DVD Tool, j’ai eu à plusieurs reprises le message suivant :

Le programme d’installation n’a pas pu créer de nouvelle partition système ni localiser une partition système existante.

imag1776

Après différentes recherches sur les forums et sites d’astuces, la solution qui fonctionne, même si elle est improbable, consiste à débrancher la clef USB et la rebrancher sur un autre port.

clef

Une fois la clef rebranchée, cliquez sur le bouton « Actualiser » pour recharger la liste des disques dur.actualiserVous pouvez maintenant cliquer sur « Suivant » pour continuer l’installation normalement. Le disque dur est maintenant éligible pour l’installation de Windows 7.

Cette solution a été testée sur Windows 7 Home Premium et Windows 7 Pro / Pro SP1.

 

Projet de robotique

Un peu de changement par rapport aux articles précédents, ce n’est pas un tutoriel mais la présentation d’une équipe des écoles UPMC & INSTA  qui développe un robot pour la coupe de France de robotique 2016 !

Cette année les robots vont à la plage ! Voici un descriptif des actions à mener pendant les épreuves :

Les objectifs

Côté technique, le robot est en format 4 roues motrices, équipé de divers capteurs (télémètre à ultrasons, accéléromètre, gyroscope, …) et pour gérer le tout, il dispose d’une carte Nucleo­F401RE. Pour les curieux, c’est un processeur de type ARM mais loin des puissances apportées par les Raspberry Pi. Ici le processeur dispose d’une fréquence de 84 MHz et de 512 KB de mémoire flash. Un vrai challenge pour l’équipe !

NUCLEO-F401RE

Et voici le prototype de l’engin en 3D :

Robot

N’hésitez pas à suivre le projet sur leur site internet :

http://robotique.insta.fr/2016/

Rendez-vous les 5,6 et 7 mai pour les épreuves !

Let’s Encrypt sous Debian – Apache

Parlons rapidement de Let’s Encrypt avant de passer à l’action.

149e86cd7f135095e9c92f4e67a4b6a7b80a60c0

Let’s Encrypt est une autorité de certification qui a pour but de proposer des certificats SSL, ou plutôt TLS pour ne pas faire d’abus de langage totalement gratuit. C’est un projet rassemblant des acteurs importants dans le monde du web comme Gandi, OVH, Mozilla, Cisco, Facebook, etc … ( https://letsencrypt.org/sponsors/ )

La volonté première est de rendre l’httpS accessible à tous et de la manière la plus simple possible, avec une installation quasi automatique des certificats sur le serveur.

Sorti tout récemment de la phase de beta-test depuis le 3 décembre, le service est ouvert à tous et le code du client est disponible sur GitHub à cette adresse :

https://github.com/letsencrypt/letsencrypt

lets

1- Installations du client Let’s Encrypt

Cet article décrit la procédure d’installation et de configuration sur une Debian 8.2 à jour.

Continuer la lecture de Let’s Encrypt sous Debian – Apache 

Reverse proxy avec Apache

Après Nginx voici un autre exemple de reverse proxy, cette fois-ci nous utiliserons Apache avec Redmine.

Si vous utilisez un serveur avec Redmine, voici l’url d’accès à l’application :

http://redmine.myserver.com:3000

De même que pour l’exemple de Kibana, cette URL n’est ni pratique ni jolie, ni même utilisable à travers certains réseaux qui limitent l’utilisation de certains port. Cela donne un avantage de plus quand à l’utilisation d’un reverse proxy.

Nous commençons par installer apache :

httpd_logo_wide_new

Sous Gentoo (en ayant ajouter les variables USE proxy et proxy_http :

# emerge -avq apache

Sous Debian :

# apt-get install apache2

Nous configurons ensuite le vhost correspondant à Redmine et dans le bloc <VirtualHost *:80> nous ajoutons ces lignes :

ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/

ProxyPass permet d’indiquer que nous relayons les requêtes envoyées sur la racine vers notre Redmine sur le port 3000.

ProxyPassReverse permet de retransmettre les informations entre les deux parties.Voilà, votre Redmine est joignable directement sur une URL sur le port 80 :

http://redmine.myserver.com