Outils pour utilisateurs

Outils du site


fr:rapports:2024:04-06

2024/04/06 (Préparation maintenance)

Heure de début : 11h00

Présences :

  • HgO
  • Célo
  • Tharyrok

Météo

Moment informel durant lequel on exprime en peu de mots comment on se sent et si on a une attente forte pour la réunion. Ce n'est pas un moment de discussion mais d'expression individuelle et ce n'est pas obligatoire 🙂

Attente(s) forte(s)

Si l'une ou l'autre personne exprime une attente forte, merci de vous en occuper en priorité ou de la noter dans le hub ou dans un point approprié.

Fin: jusqu'au ronflement

Ce qui reste a faire

Matériel

  • Préparer les bons rails pour chaque serveur, SAN y compris → fait
  • Remplacer un des OSD par celui de 2To → fait
  • Preparer les oreilles du switch → fait
  • Remplacer les batteries du SAN → fait
  • Tester la connexion management du SAN via un bête switch → fait
  • Préparer 3 x 2 HDD de 900 Gb pour les backups → fait

Config à faire avant

  • Appliquer ansible sur les serveurs (avec modifs bookworm) → fait
  • Config du mikrotik pour les ports de collect, peering et transit → sur place
  • Config de la synchro des backups (optionnel)
  • Config du disque SAN (optionnel)
  • Configurer un autre mot de passe pour l'iDrac → fait
  • set les ip des idrac → fait ipmitool lan set 1 ipsrc static ipmitool lan set 1 ipaddr 10.0.10.116 ipmitool lan set 1 netmask 255.255.255.0 ipmitool lan set 1 defgw ipaddr 10.0.10.1 ipmitool lan set 1 arp respond on ### Config le jour même
  • Retirer un serveur HP et placer deux serveurs Dell (30min)
  • Configurer les deux switchs pour qu'ils se parlent sur le VLAN management (1h)
  • Transférer les VM de l'ancien cluster vers le nouveau (20min)
  • Retirer l'ancien switch (20min)
  • Retirer le dernier HP et Topi et placer le dernier serveur (20min)
  • Pour le transfert des VM, on va:
    • Éteindre un des deux serveurs et transférer les VMs sur le serveur qui reste allumé.
    • Dire à CEPH qu'on ne fonctionne que sur un serveur.
    • Allumer deux machines du nouveau cluster
    • Configurer le nouveau switch
    • Faire un transfert cross-cluster de proxmox.

Note: Parmi les RJ45 vers SFP, on n'a pas assez pour faire les Idrac et les liens de transit mais on peut s'arranger en attendant de tout avoir.

Transfert de connaissance

  • Synchronisation des backups via syncthing (documentation)
  • Switch Mikrotik (apprentissage et documentation)
  • Config du disque SAN (apprentissage, discussion et documentation)
  • Config des backups pour nos membres (discussion)

Datacenter ou pas demain ?

Marcel serait dispo en voiture aujourd'hui.

On aimerait ne pas passer toute la journée de dimanche au datacenter, mais cela implique de faire une partie du boulot aujourd'hui et de venir placer les serveurs dans l'après-midi.

Pour la question du transport, Marcel ne sera dispo qu'au soir. Se pose la question d'un taxi, et de comment on récupère les anciens serveurs. Pour ces derniers, on peut les laisser là, et jmg pourrait venir les transporter un autre jour. Au pire, début mai on a prévu de venir au datacenter.

Qu'est-ce qui est requis en terme de connaissances avant d'aller au datacenter ? Il y a le switch réseau qu'une seule personne maîtrise pour le moment. À l'époque, il y avait aussi une crainte de ne pas maîtriser les serveurs, mais cela n'est plus le cas depuis qu'on a fait des ateliers et des procédures en mars. L'important est qu'on puisse prendre le temps de repasser sur la config du switch.

Il n'y a pas de necessité de savoir profondement la config du switch mais savoir facilement se connecter au vlan de management. Il faut aussi avoir des procédures d'urgence. Savoir comment se connecter à l'Idrac, savoir comment se connecter au switch.

On a aussi eu deux incidents en mars sans doute liés à la vetustité du matériel, donc ça devient un problème de laisser l'infra dans cet état.

Par contre, en février-mars, le fait de se dire qu'on n'allait pas au datacenter tant qu'on avait pas une bonne connaissance du matériel qui allait au datacenter. Il y a une crainte qu'on ne prenne pas ce genre d'iniative quand le matériel sera disponible.

Nous avons manqué de bien avaluer nos priorités, rendre possible le reseau pour les VPS, les backup pour nos membres mais il faut s'occuper de bien partager les savoir entre nous.

HgO et Célo vont organiser des ateliers de partage de connaissances entre elleux, et à partir de septembre on fera des reviews avec Tharyrok. Il n'est pas nécessaire d'avoir le switch pour commencer à expérimenter, on peut le faire dans GNS3. On peut aussi se dire qu'on commandera le deuxième switch à partir de septembre, si la santé financière de Neutrinet va mieux, ce qui semble être le cas jusqu'à présent.

À noter que le MC-LAG (Multi Chassis Link Aggregate Group) n'a pas pu être testé car disponible uniquement sur du vrai matériel et non dans GNS3, le MCLAG permet de faire communiquer deux switch qui ont chaqu'un un port dans un LACP.

On décide de ne pas envoyer le deuxième switch au datacenter tant que Célo et HgO n'ont pas une bonne connaissance du switch Microtik.

Remplacement osd

On a rajouté la procédure pour remplacer un OSD dans https://doc.neutrinet.be/preparation-maintenance-25-02-2024

Lancement du playbook

On rajoute cette ligne dans le fichier d'inventaire ./inventories/production.ini:

[louise_baremetal]
topi.louise.neutri.net ansible_host=172.16.1.147
nam.louise.neutri.net ansible_host=172.16.1.148
bour.louise.neutri.net ansible_host=172.16.1.149

Attention, si jamais la partie telegraf plante, il faudra commenter ceci dans ./roles/telegraf/templates/global.conf.tpl:

[[inputs.systemd_units]]
  ## Filter for a specific unit type, default is "service", other possible
  ## values are "socket", "target", "device", "mount", "automount", "swap",
  ## "timer", "path", "slice" and "scope ":
  unittype = "service"

Espace de backup

Switch Mikrotik

San Dell

GFS2

OCFS2

SSH

snippet.shell
Match group neutrinet-backup-user
    AuthorizedKeysFile /etc/ssh/authorized_keys/%u
    MaxAuthTries 6
    PasswordAuthentication yes
    ChallengeResponseAuthentication yes
    AllowTcpForwarding no
    PermitTunnel no
    X11Forwarding no
    ForceCommand /opt/ssh_user_jail_with_docker/ssh_jail.sh

Dockerfile FROM drakkan/sftpgo:2.5.x-alpine as stage1 FROM alpine:latest as stage2 SHELL ["/bin/busybox", "sh", "-c"] COPY --from=stage1 /usr/local/bin/sftpgo /bin/sftpgo RUN echo -e "root:x:0:\nuser:x:1000:" > /etc/group RUN echo -e "root:x:0:0:root:/:/bin/ash\nuser:x:1000:1000:user:/home:/bin/sh" > /etc/passwd RUN echo -e "root:*::0:::::\nuser:*::0:::::" > /etc/shadow RUN apk add --update --no-cache rsync borgbackup restic openresolv RUN apk del scanelf libc-utils RUN rm -rf /etc/alpine-release /etc/crontabs /etc/issue /etc/os-release /etc/fstab /etc/inittab /etc/logrotate.d /etc/modprobe.d /etc/modules /etc/motd /etc/network /etc/rsyncd.conf /mnt /media /opt /root /run /srv /tmp /usr/local /etc/periodic /etc/opt /etc/mtab /etc/modules-load.d /etc/init.d /etc/conf.d RUN rm -rf /usr/share /var RUN mkdir -p /var/lib/apk; RUN find / -type d -exec chmod -r {} \; RUN chmod -r / RUN chown 1000:1000 /home RUN chmod 755 /home ### Optional: Remove package management RUN apk del apk-tools ca-certificates-bundle libcrypto3 libssl3 ### Alternative: remove all management tools #RUN find /bin /sbin /usr/bin /usr/sbin -type l -exec busybox sh -c 'if [ "$(busybox readlink -f "{}")" = "/bin/busybox" ]; then busybox rm -f "{}"; fi' \; #RUN apk del busybox alpine-baselayout alpine-baselayout-data alpine-keys apk-tools ca-certificates-bundle libcrypto3 libssl3 ### FROM scratch COPY --from=stage2 . .

snippet.bash
#!/bin/bash
# Original from https://github.com/chazlever/docker-jail
# Modifications:
#   - Debug Log
#   - sftp subsystem wrapper for SFTPGo
#   - some small code style changes :P
 
DEBUG=0
DEBUG_LOG=/var/log/jail.log
DOCKER_IMAGE=ssh_user_jail:latest
 
###################################################################
 
containerize()
{
    docker run --rm $1 \
               -v $HOME:/home \
               --workdir /home \
               --hostname ssh-jail-$USER \
               -u 1000:1000 \
               --net none \
               ${DOCKER_IMAGE} ${SSH_ORIGINAL_COMMAND=/bin/sh}
 
    # Original parameters of chazlever to keep the jail more transparent
    # it depends on your use case if you need the version below or above.
 
    # docker run --rm $1 \
    #            -v /etc/group:/etc/group:ro \
    #            -v /etc/passwd:/etc/passwd:ro \
    #            -v $HOME:$HOME \
    #            --workdir $HOME \
    #            --hostname $(hostname) \
    #            -u $(id -u $USER):$(id -g $USER) \
    #            ${DOCKER_IMAGE} $SSH_ORIGINAL_COMMAND
}
 
###################################################################
 
if [ $DEBUG -eq 1 ]; then
    date -R >> "${DEBUG_LOG}"
    set >> "${DEBUG_LOG}"
fi
 
###################################################################
 
if [ "xinternal-sftp" == "x${SSH_ORIGINAL_COMMAND}" ]; then
	[ $DEBUG -eq 1 ] && echo "### START SFTP ###" >> "${DEBUG_LOG}"
	SSH_ORIGINAL_COMMAND="/bin/sftpgo startsubsys"
fi
 
###################################################################
 
# Check if TTY allocated
if tty -s; then
    containerize -it
else
    containerize -i
fi

Réseau Proxmox

Transfert VM

Météo de fin

Moment informel durant lequel on exprime en peu de mots comment, à titre personnel, la réunion a été vécue que ce soit positif ou négatif. Si une ou plusieurs tension est née durant la réunion, il est peut-être nécessaire d'envisager l'une ou l'autre réunion pour y remédier.

fr/rapports/2024/04-06.txt · Dernière modification : 2024/08/24 09:05 de tharyrok