LINUX: Debian, Proxmox, Dernières nouvelles, a must have

05.02.2015 by MatMoul

Je n'ai pas besoin de vous cacher que j'ai totalement croché sur la solution de virtualisation Proxmox.

La dernière version que j'utilise (3.3-5) commence à répondre à tout mes besoins.

Premièrement, celle-ci utilise le système de virtualisation intégré au noyau Linux, c'est à dire KVM/QEMU ou les container OPENVZ (j'estpère que Docker fera sont apparition bientôt).

Et Deuxième et troisièmement, il est possible de gérer des clusters ainsi qu'une spécificité propre à chaque VM contrairement à OpenStack ou des solutions propriétaires (Azure, AWS) qui nous impose des templates. Là on définit ce que l'on veut pour chaque VM (CPU, HD, Mémoire, Cartes réseaux). C'est vraiment une solution de virtualisations aussi souple que VMWareWorkstation en version serveur et accessible via un navigateur Web.

Je ne vous ferrais pas la description de Proxmox mais l'une des dernières mises à jour nous offre un accès à l'écran de la machine virtuel via HTML5. Donc plus besoin de VNC ou n'importe quel autre client à installer sur votre ordinateur, on crée une VM et on s'y connecte via un page web.

Les deux seuls points négatifs restent que lors de l'installation, nous ne pouvons pas choisir les détails de la construction des partitions et qu'il n'y a rien dans l'interface web qui permette de mettre en pause une VM.

Au vu de leurs travaux, je ne peux que vous conseiller d'utiliser cette solution open-source et gratuite.
Je vous invite toutefois à les soutenir en souscrivant à un abonnement.

Pour l'installation, deux options s'offre à vous :

La première et la plus simple est de télécharger l'ISO d'installation mais vous n'aurez pas le choix concernant le partionement de votre disque.

La deuxième solution consiste à l'installation d'une distribution Debian Wheezy avec toutes ses options d'installations puis d'installer Proxmox (J'essayerai de fair un Post là desus).

A vous de choisir, je vous rappel aussi un de mes Post précédant sur le RAID software.

Vive la démocratie

15.01.2015 by MatMoul

Aujourd'hui était une journée mouvementée sur les marchés suite à la décision de la BNS d'abandonner son taux plancher pour l'EURCHF à 1.20.

En effet, nous, petit suisse, devions voter le 30 novembre 2014 sur les réserves d'or gérer par la BNS. Ce fut une des rares fois où la BNS est intervenu dans les médias pour diriger le vote en indiquant qu'il lui serait impossible de maintenir ce taux plancher si nous acceptions l'initiative.

Et là, jeudi 15 janvier 2015, elle change sa stratégie en indiquant que si elle avait communiqué sur ce sujet, l'effet n'aurait pas été le même.

Comment le citoyen lambda peut prendre une décision sur un domaine ou même nos conseiller fédéraux ne sont pas informés (enfin cela reste à voir mais restants on aux faits).

Que peut valoir une démocratie si les informations ne sont pas remontées aux citoyens et même à nos plus hautes autorités ?

En tant que citoyen, je me sans vraiment floué (même si je n'avais pas de positions ouvertes sur les marchés). J'en viens vraiment à me demander ce que vaut notre démocratie.

Vu ce qui c'est passé, cela indique qu'il est possible de faire passer des résultats de vote sur des informations cachées, erronées ou manipulées.

La démocratie reste une très bonne idée, mais pour moi, il faut défendre une démocratie locale et promouvoir la transparence dans ses fonctions. Si l'économie était transparente et non manipulée (premier QE en vue pour la BCE, où se trouve le taux de change EURCHF normal), à l'exception de la défense extérieur de notre pays, aucunes informations ou manipulations de l'information n'ont leur place dans notre société démocratique.

Une démocratie locale répondrait bien mieux aux difficultés immédiates des citoyens, permettrait des micro-sociétés avec une liberté locale de décisions répondants aux visions de chacun (fumée ou pas de fumée, alcool ou pas d'alcool, OGM ou pas d'OGM, ...) et limiterait certainemant l'ingérence des lobby.

A vous de méditer sur ce sujet.

LINUX: Debian, Proxmox, RAID software, GPT

27.08.2014 by MatMoul

Lors de ma dernière installation de proxmox, j'ai utilisé des disques de 2To et cela à créer une table de partition GPT qui n'est pas supportée par la procédure précédente.

Voici donc une procédure mise à jour pour les tables de partitions GPT :

apt-get -y install mdadm
# OK
# all
sgdisk -R=/dev/sdb /dev/sda
mdadm --create -l 1 -n 2 /dev/md1 missing /dev/sdb2
# Y
mdadm --create -l 1 -n 2 /dev/md2 missing /dev/sdb3
# Y
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
mkfs.ext4 /dev/md1
mount /dev/md1 /mnt
cp -ax /boot/* /mnt
nano /etc/fstab
# Replace  UUID=<your UUID here> boot/boot ext3 defaults 0 1 by
/dev/md1 /boot ext4 defaults 0 1
# CTRL+X;Y
reboot

mount|grep boot
echo '# customizations' >> /etc/default/grub  
echo 'GRUB_DISABLE_LINUX_UUID=true' >> /etc/default/grub  
echo 'GRUB_PRELOAD_MODULES="raid dmraid"' >> /etc/default/grub  
echo raid1 >> /etc/modules 
echo raid1 >> /etc/initramfs-tools/modules 
grub-install --recheck /dev/sda
grub-install /dev/sdb
grub-install /dev/md1
# I Have A Segment Fault But I Ignore
update-initramfs -u
update-grub
reboot

pvcreate /dev/md2
vgextend pve /dev/md2
pvmove /dev/sda3 /dev/md2
vgreduce pve /dev/sda3
pvremove /dev/sda3
reboot

mkfs.ext4 /dev/sda2
mdadm --add /dev/md1 /dev/sda2
mdadm --add /dev/md2 /dev/sda3
watch -n 5 cat /proc/mdstat
# Wait end of replication
echo 800000 > /proc/sys/dev/raid/speed_limit_min
echo 1600000 > /proc/sys/dev/raid/speed_limit_max
reboot

Et voilà, ca devrait fonctionner !!!

LINUX: Proxmox, Gestion des interfaces réseaux

27.08.2014 by MatMoul

Maintenant que votre serveur de virtualisation Proxmox est en service, une des première chose à comprendre et la gestion des interfaces réseaux.

Pour ma part, j'ai 3 cartes ethernet (eth0, eth1, eth2).

Vous pouvez créer des cartes virtuels pour Proxmox depuis l'interface Web (node du serveur, onglet réseaux).
On utilisera le type Brige pour une carte unique et le type Bond pour agréger plusieurs cartes physiques.

Dans ma config, j'ai utilisé le mode Bridge pour créer vmbr1 sur eth1, vmbr2 sur eth2, vmbr0 étant créer par défaut sur eth0.

Il est aussi intéressant d'avoir des interfaces virtuels (switch internes).
Pour créer ces interfaces (de type dummy), il faudra passer par la console (local ou SSH).

Une fois connecter tapez la commande suivante où 1 est le nombre d'interfaces dummy maximum -1; puis modifiez le fichier intefaces pour ajouter vos interface (ici, vmbr90 et vmbr91):

# Définir le nombre d'interfaces dummy
modprobe dummy numdummies=1

nano /etc/network/interfaces
auto vmbr90
iface vmbr90 inet manual
        bridge_ports dummy0
        bridge_stp off
        bridge_fd 0
auto vmbr91
iface vmbr91 inet manual
        bridge_ports dummy1
        bridge_stp off
        bridge_fd 0
# CTRL+X;Y
service networking restart

Et vous voilà avec deux interfaces/switch virtuels.

Pour utiliser des VLAN sur vos machines virtuelles, il faudra définir les interfaces au niveau de la machine hôte.

Dans l'exemple suivant, on définira 2 VLAN (1 et 2) sur l'interface eth1 :

nano /etc/network/interfaces
auto vmbr111
iface vmbr111 inet manual
        bridge_ports eth1.1
        bridge_stp off
        bridge_fd 0
auto vmbr112
iface vmbr112 inet manual
        bridge_ports eth1.2
        bridge_stp off
        bridge_fd 0
# CTRL+X;Y
service networking restart

/!\ Lors de mes tests, j'ai du redémarrer pour que tout fonctionne mais cela demande approfondissement.

LINUX: Proxmox, Créer une machine virtuelle (KVM)

23.01.2014 by MatMoul

Maintenant que votre serveur de virtualisation est opérationnel, nous allons créer des machines virtuelles.

Vous aller rencontrez deux possibilités (Create VM (KVM) et Create CT (OpenVZ)). Nous allons nous concentrer sur Create VM qui est une machine virtuelle complète.

Créer une machine virtuelle n'est pas compliqué. Il suffit de cliquer sur le bouton et suivre l'assistant.

Toutefois il est utile d'optimiser les paramètres.

Choix d'un adaptateur réseau :

  • Intel E1000 (compatible avec la majorité des systèmes d'exploitations)
  • VirtIO (C'est le plus performant mais nécessite des drivers)
  • Realtek (compatibilité maximale mais 100mbs)

Choix d'un contrôleur HD :

  • SCSI (dans la majorité des cas)
  • VirtIO (performance maximale mais nécessite des drivers) 
  • IDE (compatibilité maximale) 
  • SATA (je n'ai pas vu d'amélioration par rapport à IDE) 

Choix d'un contrôleur SCSI :

  • LSI (compatibilité maximiale) 
  • VirtIO (performance maximale mais nécessite des drivers)

Choix d'un format de disque :

  • QEMU (Taille dynamique, idéal pour les machines de tests et les templates)
  • Raw disk image (Pour la prod, utilise d'office la taille allouée)
  • VMWare (Disque au format vmdk à utiliser uniquement pour la compatibilité)

Pour le processeur, je vous conseil le mode "host" ou "kvm64".
Nous pourrons encore désactiver l'option "user tablet for pointer" si l'on a pas besoin de la souris.

Comme vous avez pu le constater, Proxmox utilise le composant Java dans son interface web pour afficher la console d'une machine virtuelle.
Si comme moi vous êtes allergique à Java, vous pouvez modifier les fichiers de configuration de vos machines virtuelles afin d'utiliser vnc.
Editer le fichier /etc/pve/qemu-server/{id}.conf et ajoutez la ligne suivante :
args: -vnc:0.0.0.0:100
Vous pourrez vous connecter sur le port 5900 + 100 avec vnc (le nombre 100 peut être modifier pour chaque machines)