Linux

Linux and Unix tips

Migration LXD sur Ubuntu 18.04 vers 20.04

J'ai récemment migré mon serveur d'une version 18.04 LTS Ubuntu vers une version 20.04.

Lors de la migration, j'ai du passer sur la version snap de LXD, en version 4. Et suite à cette migration, les containers n'avaient plus d'adresse IP (que ce soit en V4 ou en V6).

Après de nombreuses recherches sur les forums LXD, j'ai trouvé la source du problème, en analysant les différents symptômes.

Sur le serveur, le service dnsmasq ne tournait pas. ce qu'on peut vérifier par :

Tags

Problème de démarrage LXC sur device Btrfs

Analyse et résolution d'un problème curieux, arrivé après un reboot sur un serveur Rise1 OVH.

Contexte

Après installation LXD, et transfert d'images entre 2 machines, tout fonctionnait bien. Le storage par défaut a été créé lors de l'installation (par la commande lxd init) de type btrfs.

Au redémarrage, les containers ne veulent plus redémarrer :

lxc start openldap
Error: Common start logic: no such device
Try `lxc info --show-log openldap` for more info

On essaie donc la commande :

Tags

Optimisation du temps de démarrage Ubuntu Linux

Depuis quelques temps, je trouve que le temps de démarrage de mon PC sous Ubuntu est bien long... alors que le disque principal est un SSD.

Identifier le temps total de démarrage

Sur les O.S. qui utilisent systemd, il existe une commande permettant de connaître le temps nécessaire au démarrage : systemd-analyze.

Sans option, cette commande donne juste le temps total nécessaire au démarrage, ainsi que le temps après lequel on arrive à l'écran de connexion. Exemple :

Configuration des services avec systemd

Lors d'un précédent article sur chkconfig, j'avais décrit comment activer les services sous Red Hat, avec les scripts init.d (à la mode SysV).

Depuis, la majorité des distributions GNU/Linux est passée sous systemd, qui apporte son lot de changement.

LA commande à connaître est maintenant systemctl. C'est elle qui permet de gérer la grande majorité des interactions au niveau administrateur.

La syntaxe est la suivante :

Apache : reverse proxy https

Je suis intervenu récemment chez un client dont le certificat https expirait dans les quinze jours, mais dont le serveur webmail est un Lotus Domino, dans une version qui n'est pas compatible avec des certiifcats encodés en autre chose que SHA1.

Leur prestataire ne pouvant générer que des certiicats en SHA256 leur a proposé 2 options  :

Conversion LXC vers LXD

J'utilisais déjà les containers LXC depuis pas mal de temps, ce qui me semblait une solution intéressante pour une virtualisation légère, par rapport à du KVM et bien avant Docker (et tout le foin qu'on fait autour de ça).

J'ai donc une dizaine de containers LXC, que j'utilisais sur un disque externe, sous Ubuntu 14.04 LTS.

PHP / Nginx : page blanche lors de l'appel d'un script php

J'ai migré récemment certains sites d'un VPS sous Debian Squeeze vers Jessie, et suite à cette migration, les sites étaient KO.

Par d'erreur dans les logs nginx, mais une simple page blanche. Pas de code html généré, rien.

J'ai regardé les permissions sur les répertoires, tout était OK. Un test avec une page HTML simple renvoie bien ce qu'il faut.

Après quelques investigations, il apparaît que ceci est lié à la version de nginx utilisée :

Sauvegarde d'un serveur Linux sur un NAS Synology

J'ai acquis récemment un NAS Synology DS215J , afin de m'en servir comme serveur de fichiers à la maison.

Vu la capacité installée (2 x 2 To en RAID 1), je me suis dit que je pouvais aussi l'utiliser pour la sauvegarde externalisée des VPS utilisés pour mon activité d'hébergeur HebInWeb.com

J'avais déjà un script shell que je lançais sur mon PC perso, qui allait récupérer par rsync les données sur les VPS.

Exporter ou sauvegarder une VM KVM

En dehors des containers LXC que j'utilise souvent pour isoler mes environnements de test, j'utilise aussi des "vraies" machines virtuelles avec KVM, notamment lorsque j'ai besoin d'une VM windows ou d'un autre Linux ; par exemple CentOS 6.x alors que j'ai une Ubuntu 14.04 LTS sur mon poste.

Pour le stockage des données KVM, j'utilise des volumes logiques avec LVM.

Pour exporter ou sauvegarder une VM, il faut donc récupérer la définition de la VM, ainsi que les données.

Mise en place d'un serveur FTP cloisonné

Comme le dit Wikipedia, chroot (change root) est une commande des systèmes d'exploitation UNIX permettant de changer le répertoire racine d'un processus de la machine hôte. Ceci est un bon moyen de cloisonner les utilisateurs sur une machine, en les isolant, sans leur permettre d'avoir accès à toute l'arborescence. C'est généralement ce qui est utilisé, par exemple, sur les hébergements mutualisés pour les accès ftp.

Un exemple sans le chroot. L'utilisateur a accès à toute l'arborescence, depuis /  :