14 Apr 2025, 00:00

Créer des fichiers sparse avec truncate

truncate -s 20G ./file.dat

12 Apr 2025, 00:00

Activation du Wake-On-Lan (sur un Dell Optiplex 3050)

Le but est d’activer le WoL sur un Dell Optiplex 3050.

https://www.dell.com/support/kbdoc/en-uk/000129137/wake-on-lan-wol-troubleshooting-best-practices

Il faut bien sûr que le matériel supporte le WoL. C’est le cas de l’Optiplex 3050.
Il est nécessaire de paramétrer le BIOS, mais également le pilote sous l’OS que l’on utilise, car il va déterminer le comportement de la carte réseau à l’extinction de l’OS.

Paramétrage BIOS

J’ai commencé par faire une mise à jour du BIOS vers la version la plus récente, pour limiter les risques de bug logiciel du BIOS.
Vérifier les paramètres suivants :

  • System configuration -> Integrated NIC -> Enabled
  • Power Management -> Wake on LAN/WLAN -> Lan Only (ou autre réglage qui active sur le WoL sur le LAN)
  • Power Management -> Deep Sleep control -> Disabled

À ce stade, normalement le WoL est actif. Il se voit par l’allumage d’une des 2 LEDs de la carte réseau.
On peut “réinitialiser” le statut WoL en débranchant électriquement le poste puis en le rebranchant. Il devrait s’allumer un court instant, puis s’éteindre, mais la LED du NIC doit rester allumée.

Paramétrage Debian

Lorsqu’on éteint le poste via la commande sudo poweroff, la carte réseau s’éteint complètement, car l’OS peut contrôler son comportement à l’extinction.
Il faut donc lui dire de maintenir la carte en fonctionnement.

On commence par installer ethtool, qui permet de voir/gérer l’état des cartes réseau :
apt install ethtool

On définit la carte à gérer :
iface=ethX

et on peut consulter une carte avec :
sudo ethtool $iface ou
sudo ethtool $iface | grep -i Wake-on

et on a notamment les lignes :

Supports Wake-on: pumbg
Wake-on: d

Chaque lettre a une signification, trouvable dans man ethtool, et qui sont :

p   Wake on PHY activity
u   Wake on unicast messages
m   Wake on multicast messages
b   Wake on broadcast messages
a   Wake on ARP
g   Wake on MagicPacket™
s   Enable SecureOn™ password for MagicPacket™
f   Wake on filter(s)
d   Disable  (wake on nothing).  This option clears all previous options.

Le WoL implémenté généralement est le “MagicPacket™”, il faut donc avoir que la carte supporte “g”.

L’état “Wake-on” correspond à l’état actuel ; on voit ici qu’il est désactivé, donc si j’éteins le poste, la carte-réseau n’aura aucune LED allumée et il sera impossible de le rallmuer via WoL.
À ce stade, le WoL restera désactivé même si on va dans le bios, qu’on sauvegarde, qu’on ré-éteint le poste.
Il est nécessaire de débrancher/rebrancher électriquement le poste pour que le WoL recommence à fonctionner.

Pour activer le WoL, il faut entrer cette commande :
sudo ethtool -s $iface wol g

dont la réussite se voit dans la sortie de :
sudo ethtool $iface | grep -i Wake-on

Si on éteint le poste, le WoL restera activé.
Mais au prochain boot, le status WoL sera à nouveau défini sur d !

Il faut donc l’activer à chaque démarrage.
Des infos ici : https://wiki.debian.org/fr/WakeOnLan

Je passe par la méthode de création d’un service systemd : On peut créer le fichier de définition du service avec cette commande, à lancer en root :

if [ -z "$iface" ] ; then echo -e '\nIl faut définir la variable $iface !\n' ; else echo "[Unit]
Description=Configure Wake-up on LAN

[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s $iface wol g

[Install]
WantedBy=basic.target" > /etc/systemd/system/wol.service ; fi

On active le service au démarrage, ainsi qu’immédiatement, et on recharge le démon systemd :

sudo systemctl enable wol
sudo systemctl start wol
sudo systemctl daemon-reload

On doit normalement avoir “g” sur le paramètre “Wake-on” à chaque démarrage, et donc pouvoir éteindre le poste via poweroff en maintenant le status WoL actif.

Paramétrage Windows

https://www.dell.com/support/kbdoc/en-uk/000129137/wake-on-lan-wol-troubleshooting-best-practices

Il semblerait que ce soit via le gestionnaire de périph, aller dans les propriétés du NIC -> Power Management ->
Allow this device to wake the computer
Only allow a magic packet to wake the computer

advanced tab
Energy-Efficient Ethernet -> Disabled

config panel :
Turn on fast startup ?

Allumage à distance

On note l’adresse mac de la cible à réveiller :
distantmacaddr=00:11:22:33:44:55

Sous Debian il y a au moins 2 outils pour réveiller un poste via WoL :
sudo apt install etherwake wakeonlan

On peut utiliser etherwake, qui nécessite les droits root et de préciser explicitement l’interface qui envoie le paquet magique :
sudo etherwake -i ethX $distantmacaddr

ou bien wakeonlan :
wakeonlan $distantmacaddr

Consommation électrique

Sur l’Optiplex 3050, je constate environ 0.9W lorsque le poste est éteint avec WoL activé.

En phase de BIOS/démarrage, je constate environ 20W, et lorsque Debian est lancé mais sans aucune activité, je constate environ 9W.

En lançant quelques processus u peu gourmands en CPU/RAM/disque (mais sans être un test intensif non plus), je monte à 40W.

12 Dec 2024, 00:00

Azure Files - Généralités sur les partages de fichiers

Général

Azure Files est un stockage cloud, accessible via SMB par une machine locale, ou une VM Azure.

Azure Files peut stocker plusieurs types de ressources, comme les conteneurs blob, mais je m’intéresse ici uniquement aux partages de fichiers.

Il y’a également la possibilité de créer des partages NFS, mais je n’aborde pas ce cas ici. Un partage est accessible soit par SMB soit par NFS, mais pas les 2 en même temps.

Guide de planification général Azure Files

https://learn.microsoft.com/en-us/azure/storage/files/storage-files-planning

Quelques considérations

MS conseille de ne pas mélanger les différents types de ressources au sein d’un même compte de stockage (si il contient un partage Azure Files, alors il est déconseillé d’y mettre un stocke blob par exemple).

Dans la mesure du possible, essayer de ne mettre qu’un seul partage par compte de stockage (chaque partage aura son propre compte de stockage).

Compte de stockage

https://learn.microsoft.com/fr-fr/azure/storage/common/storage-account-overview

La gestion se fait sur le portail Azure, section “Comptes de stockage”.
Il faut créer un compte de stockage (qui lui-même doit appartenir à un groupe de ressources).
Les performances du compte de stockage (standard ou premium) est défini définitivement à la création du compte.

Le compte de stockage est protégé par 2 clés, “storage account key”. On peut les voir sur le portail Azure, dans le compte de stockage -> Sécurité + réseau (colonne de gauche) -> Clé d’accès.
Ces clés donnent un accès admin complet à l’ensemble des partages et données du compte de stockage.

Partages

Une fois le compte de stockage créé, on peut créer des partages (Portail -> Comptes de stockage -> Partages de fichiers puis + Partage de fichiers). Le nom ne peut pas contenir de majuscule.

Chaque partage a son propre niveau de performance (froid, chaud, optimisé pour les transactions).
Celui-ci peut se changer par la suite si besoin.
MS conseille, s’il y a des gros volumes à transférer, de commencer par le niveau optimisé pour les transactions le temps de la migration, puis de repasser à un autre niveau après.

Chaque partage a ses paramètres de sauvegarde.

Paramètres SMB

Récap chez Microsoft

L’accès SMBv3 est ok pour Windows 10 et Debian Bullseye. Les paramètres SMB sont identiques pour tous les partages au sein d’un compte de stockage.

Accéder au partage Azure Files

Article chez Microsoft

Obtenir l’UNC

Ça devrait toujours être \\nomducomptedestockage.file.core.windows.net\nom-du-partage .

Pour le vérifier :
Azure Portal -> Comptes de stockage -> Sélectionner le compte de stockage souhaité -> Partage de fichiers (colonne de gauche du panneau central) puis clic sur Connecter
Cela donne un script, dans lequel on trouve l’UNC.
On y voit aussi la clé de sécurité, derrière le /pass=

Connexion via clé

Si on veut établir la connexion manuellement, on peut ajouter les informations de connection dans Panneau de configuration -> Comptes d'utilisateur -> informations de connexion Windows (ou à la volée lors de la connexion) :

  • Adresse : nomducomptedestockage.file.core.windows.net
  • Utilisateur : nomducomptedestockage (ou localhost\nomducomptedestockage )
  • Mot de passe : clé du compte de stockage

Il est bien sûr possible d’automatiser le déploiement de ce partage via GPO (ou Intune).

Depuis Linux

smb://nomducomptedestockage.file.core.windows.net/nom-du-partage
Mêmes utilisateurs et mot de passe. “Domaine” non-pertinent.

Authentification/autorisations

Article chez Microsoft

L’accès au partage se fait :

  • soit par la “storage account key” (donne un accès complet admin à tous les partages du compte de stockage)
  • soit par un accès basé sur l’identité (IAM)

Si on veut utiliser l’IAM, il est bien de commencer par vérifier que le montage fonctionne en utilisant la storage key, pour s’assurer du bon fonctionnement de la partie réseau sans s’occuper de la partie authentification.

Si on veut utiliser l’IAM, il faut le paramétrer. Un paramétrage sur le compte de stockage lui-même est nécessaire (chaque entité doit avoir les droits d’accès au compte de stockage pour accéder à un partage inclus dedans).

Ce paramétrage se fait sur le portail, dans Compte de stockage -> le choisir -> Access Control (IAM) -> Add -> Add role assignment .
On recherche “SMB”, puis on choisit le rôle “Storage File Data SMB Share Contributor” (pour un contributeur simple, qui peut modifier les fichiers).
On y affecte ensuite l’entité qui doit bénéficier de ce rôle (un groupe, un utilisateur).

Chaque partage de ce compte héritera de cette IAM. Il me semble qu’il est possible de surcharger chacun des partage avec d’autres droits (par exemple refus d’accès ?).

Il y a 3 méthodes d’authentification auprès d’une “source AD”, chacune avec ses spécificités.

Auprès d’un AD local (AD DS)

Il est nécessaire de pouvoir contacter ce DC local lors de l’établissement de la connexion au partage.
Ce DC local peut éventuellement être hébergé dans le cloud, avec accès via un VPN.
Disponible seulement pour les utilisateurs hybrides (synchronisés depuis le DC local vers Entra ID).

Introduction - MS
Activation - MS

Entra Domain Services (Entra DS, anciennement Azure AD DS)

Il s’agit d’un domaine géré (managé) par MS, qui fournit entre autres des fonctionnalités de DC et de GPO.
Il semble plutôt fait pour la gestion centralisée de serveurs virtuels, et il ne peut être contacté que via la connexion à un VPN.
Prend en charge les utilisateurs hybrides ainsi que cloud-only.
Les clients (postes utilisateurs) ne peuvent pas être Entra-joined ou Entra-registered.
les clients doivent être joints au domaine hosté pour que tout soit automatisé.
Il est toutefois possible de monter le partage depuis un poste non-joint à un domaine en fournissant des IDs explicites.

Récap chez Microsoft
Activation

Entra Kerberos

C’est une authentification directement auprès d’Entra, uniquement pour les utilisteurs hybrides (synchronisés depuis un DC local).
L’accès peut se faire sans besoin de connexion au DC (sauf pour régler les droits d’accès, là une connexion au DC sera nécessaire).
Les postes clients doivent être Entra-joined ou Entra-hybrid-joined ; pas ok si joints à Entra DS ou si joints uniquement à un AD local.

Détails sur mon memo

Migration des données

https://learn.microsoft.com/fr-fr/azure/storage/files/storage-files-migration-overview

Plusieurs méthodes possibles ; par exemple :

  • simplement avec robocopy d’un lecteur à l’autre
  • avec Azure Storage Mover
  • avec Azure Files Sync

Azure Files Sync

Pour synchroniser un serveur local avec un partage Azure Files Sync
https://learn.microsoft.com/en-us/azure/storage/file-sync/file-sync-planning

Possible de faire de la synchro simple.
Possible aussi de donner au server local un rôle de cache, les clients s’adressant à lui et lui échangeant avec Azure.

Azure Storage Mover

https://learn.microsoft.com/en-us/azure/storage-mover/service-overview

Capable de gérer des gros volumes de données.
Transfère les metadonnées.

Requiert la création sur Azure d’une ressource Azure Storage Mover
Requiert ensuite la création d’un agent (apparement c’est une VM)

Coût

https://azure.microsoft.com/fr-fr/pricing/details/storage/files/#pricing

Il y’a plusieurs choses distinctes qui sont facturées : stockage utilisé, transactions (lecture/écriture de données), metadonnées, backups, snapshots etc…

Facturation provisionnée (espace pré-payé, qu’il soit utilisé ou non)

Facturation à l’usage pour les modes standard (optimisé pour les transactions, chaud, froid).

Le stockage est de moins en cher quand on descend dans les gammes (optimisé pr transactions -> chaud -> froid)
Les transactions sont de + en + chères quand on descend dans la gamme.

Il est possible de changer le niveau de chacun des partages à tout moment. Ceci entraîne toutefois des transactions donc de la facturation.

Redondance

https://learn.microsoft.com/fr-fr/azure/storage/common/storage-redundancy

LRS : 3 copies dans le même datacenter
ZRS : 1 copie dans chacun de 3 datacenter différents (dans la même région primaire)
GRS : LRS en zone primaire + LRS en zone secondaire
GZRS : ZRS en zone primaire + LRS en zone secondaire

Peut se changer après la création du compte de stockage.

Zones de disponibilité :
https://learn.microsoft.com/fr-fr/azure/reliability/availability-zones-overview?tabs=azure-cli#azure-regions-with-availability-zones

Sauvegarde

https://learn.microsoft.com/en-us/azure/backup/azure-file-share-backup-overview

Vault

Il faut créer un “Recovery Services vault”
https://learn.microsoft.com/en-us/azure/backup/backup-create-recovery-services-vault
Pour ceci, dans le portail Azure, chercher “Business Continuity Center”, et ouvrir Manage -> Vaults.

Backup policy

Il faut ensuite créer une politique de sauvegarde ; consiste en un vault de destination, un type de sauvegarde, une fréquence de sauvegarde et une durée de rétention des sauvegardes. Pour ceci :
https://learn.microsoft.com/en-us/azure/backup/quick-backup-azure-files-vault-tier-portal
Une fois créé, toujours dans “Business Continuity Center”, ouvrir Manage -> Protection Policies puis Create policy -> Create backup policy. Choisir “Azure Files (Azure Storage)” et sélectionner le vault précédemment créé.

Pour une sauvegarde complète, MS recommande de choisir “Vault-Standard” comme niveau de sauvegarde.
Choisir la fréquence de sauvegarde (au + fréquent toutes les 4h, et 6 sauvegardes par jour).

Une fois créée, la politique apparaît dans la liste des “Protection policies”, en tant que politique gérée par Azure. Il faut toutefois s’assurer que la “Datasource type” est bien définie sur “Azure Files (Azure Storage)” pour la voir apparaître.

Activation de la sauvegarde

Aller dans “Business Continuity Center -> Overview” et cliquer sur “+ Configure protection”. Choisir “Azure”, “Azure Files” et “Azure Backup” en solution.
Choisir le vault créé précedemment.
Choisir le compte de stockage contenant les données à sauvegarder. Choisir le ou les partages à inclure dans la sauvegarde. Choisir la stratégie de sauvegarde désirée (celle créée précédemment).

Les différents partages au sein d’un même compte de stockage ne peuvent pas utiliser des vaults différents. On peut ne pas sauvegarder tous les partages d’un compte de stockage, mais ceux sauvegardés le seront tous dans le même vault.

Déclenchement manuel d’une sauvegarde

Aller dans les détails du vault, puis Protected items -> Backups items. Choisir “Azure Storage”.
Choisir le partage à sauvegarder, et ouvrir les détails, puis clic sur “Backup now”.
Les points de sauvegarde déclenchés manuellement ne sont pas soumis à la politique de rétention standard, mais ont une date de validité définie directement lors de la création du backup (par défaut c’est 1 mois).
L’avancement de la sauvegarde peut être suivi dans les notifications.

Restauration

https://learn.microsoft.com/en-us/azure/backup/restore-afs

Changement de Vault pour un compte de stockage

https://learn.microsoft.com/en-us/azure/backup/backup-azure-files-faq

Pour pouvoir changer le vault qui recevra les sauvegardes d’un compte de stockage, il faut d’abord désactiver la protection pour chacun des partages de ce compte, puis désenregistrer le compte de stockage du vault.

Pour stopper la protection, aller dans Business continuity Center -> Protected items. Choisir “Azure Files” en source. Choisir les partages appartenant au compte de stockage concerné. Choisir Stop Backup dans la barre du haut.
La doc MS indique qu’on peut choisir de conserver les données sauvegardées, ou bien de les supprimer ; mais dans mon expérience, il est indispensable de les supprimer pour pouvoir désenregistrer le compte de stockage.

Une fois la protection stoppée, ouvrir le vault actuel, puis aller dans Manage -> Backup infrastructure puis Azure storage accounts -> Storage accounts.
Choisir le compte de stockage à désassocier, clic sur les … à droite puis “Unregister”.

Limites de quantités de sauvegarde

https://learn.microsoft.com/en-us/azure/backup/azure-file-share-support-matrix

Rapport par mail

Business Continuity Center -> Monitoring + Reporting -> Reports

Suppression réversible (Soft delete)

Concerne uniquement la suppression d’un partage (et non de fichiers dans ce partage).
Si activé, lorsqu’un partage est supprimé, il reste “dans la corbeille” pendant un temps (configurable).
Activé au niveau du compte de stockage, pour tous les partages lui appartenant.
Article chez MS

Coût

https://azure.microsoft.com/fr-fr/pricing/details/backup/
Cout de l’espace utilisé par les snapshots (tarification Azure Files) + cout abonnement (~6€/mois)

Disques managés

disques virtuels attachables à une VM azure en tant que disque local
https://azure.microsoft.com/fr-fr/pricing/details/managed-disks/
en HDD, 8To = 300€/mois

Montable sur plusieurs serveurs virtuels ?

15 Nov 2024, 00:00

Roles FSMO (Flexible Single-Master Operations)

https://www.it-connect.fr/chapitres/les-cinq-roles-fsmo/

Les rôles FSMO sont des rôles spéciaux, chacun détenu par un seul DC au sein du domaine (le maître d’opération).

5 rôles

Primary DC
Maitre des noms de domaine
Contrôleur de schema
Gestionnaire RID
Maitre d’infrastructure

Connaître les maîtres d’opération

Pour avoir les 5 d’un coup :
netdom query fsmo

Pour les avoir 1 par 1 :
dsquery server -hasfsmo <role>
avec <role> pouvant valoir “pdc”, “name”, “schema”, “rid” ou “infr”.

Changer les maîtres d’opération

Sur le détenteur du rôle FSMO, lancer la commande ntdsutil
puis
role
connections
connect to server newservername puis touche q
transfer <role> master
avec pouvant valoir “rid”, “schema”, “infr”, “naming” ou “pdc”
(sauf pour pdc, ne pas mettre “master”)
et confirmer le transfert

Si le maître d’opération n’est plus disponible

Il faut alors “seize” le rôle.
Pour ceci, passer par ntdsutil.
https://support.microsoft.com/help/255504

02 Sep 2024, 00:00

Apetag

Il m’est arrivé d’avoir un fichier mp3 sur lequel vlc me sortait des tags qui n’étaient pas du tout ceux mentinnés par id3v2.
Après analyse du fichier, j’ai vu qu’il s’agissait de tags Monkey’s Audio (APE tags).

Pour les gérer sous Linux, j’ai trouvé le logiciel apetag (qui n’est pas dans les dépôts Debian).

git clone https://github.com/robertmuth/apetag
make
qui nous donne l’éxécutable apetag (que l’on peut éventuellement mettre dans /usr/local/bin pour l’avoir dans le $PATH).

Usage pour supprimer les tags

apetag -m erase -i file.mp3

Pour plusieurs fichiers à la fois, il me semble que la wildcard ne fonctionne pas, donc avec find :
find ./ -iname "*.mp3" -exec apetag -m erase -i {} \;

01 Sep 2024, 00:00

Lancer une série de commande en boucle en batch

FOR /L %N IN () DO @echo "commande" & timeout 5 & "C:\mysoft.exe"

20 Aug 2024, 00:00

Connnecteurs SSD des Macbooks

12 Jul 2024, 00:00

Communication avec un switch Cisco par le port console

Une source quie m’a aidé

Identification du switch et du port série

Modèle de switch : Catalyst 3560 v2
Port console RJ45 à l’arrière du switch ; câble fourni RJ45 <-> DB9

Sur une Debian Bookworm ; on utilise setserial pour identifier le port, puis minicom pour interagir avec le switch.
apt install minicom setserial
Pour identifier le port série utilisé :
sudo setserial -g /dev/ttyS*

À noter qu’un convertisseur usb sera probablement de la forme /dev/ttyUSB0 .

Ici, le port utilisé est /dev/ttyS0.

Configuration et usage de minicom

La doc Cisco nous indique la config nécessaire : 9600 bauds ; 8b de données ; 1b d’arrêt ; aucune parité ; aucun contrôle de flux.
C’est une config assez classique connue sous la forme “9600 8N1”.

sudo minicom -s
A -> entrer “/dev/ttyS0”
La configuration étant assez classique, elle fait partie des options prédéfinies ; on la sélectionne :
E -> C puis Q ; on vérifier que la config actuelle est bien “9600 8N1”
Entrée
Entrée
Enregistrer config sous .dsl (écrit /etc/minicom/minirc.dfl )

“Sortir de minicom” quitte vraiment minicom
“Sortir” quitte la config et nous affiche l’interface avec le port série.

Il est possible qu’il faille relancer minicom pour activer la config qu’on vient de définir.

Pour quitter minicom :
Ctrl-A -> X

Afficher l’aide :
Ctrl-A -> Z

Communication avec le switch

Une fois minicom lancé, on branche le switch au port serie, on le branche au secteur, et au bout de qqs instants, le log du démarrage devrait apparaître dans minicom.

Une fois le démarrage du switch terminé, avec Entrée on lance l’invite de commande ( Switch> )

Pour afficher les infos ip :
show ip interface

29 Jun 2024, 00:00

ESP visible dans Windows

Il arrive que l’ESP soit visible parmi les lecteurs dans l’explorer Windows.

Pour la cacher même après reboot, si diskpart ne fonctionne pas, essayer :
mountvol X: /d

07 Jun 2024, 00:00

Notes sur syslog

rsyslog

Sous Debian Bookworm, c’est le paquet rsyslog qui est utilisé par défaut.

Son fichier de conf est /etc/rsyslog.conf et il inclut /etc/rsyslog.d/*.conf
rsyslog a ses propres filtres qui lui sont uniques, mais je parle ici des filtres par sélecteurs, qui sont les filtres classiques du syslog originel.

Son principe est d’associer un ou plusieurs sélecteurs à une action.
Page de doc sur les filtres

Un sélecteur est composé d’un ou plusieurs “facility” (sous-système qui a produit le message) et d’une priorité (la sévérité du message).

facility : auth, cron, mail, etc  
priorité : warn, crit, info etc.  (ou * )  

On peut accoler plusieurs facility avec une même priorité graçe à la virgule ,
On peut accoler plusieurs sélecteurs à une même action avec le point-virgule ;

Les actions sont ce qu’on fait du message ; principalement écrire dans un fichier, envoyer sur un tty, envoyer vers un autre poste etc.
Page de doc des actions facility1,facility2.priorité1;facility3.priorité3 action

on peut mettre un “moins” - à ‘action ; pour les fichiers, cela signifie ne pas flush le cache à chaque écriture.

Rediriger cron vers un fichier à part :

Dans /etc/rsyslog.conf, il y’a un catchall qui integrera tout dans syslog, sauf les facility “auth” et “authpriv”.
Si on ne veut pas du tout les logs de cron dans le syslog, et limiter les modifications du fichier principal de conf, il faut commenter cette ligne :
#*.*;auth,authpriv.none -/var/log/syslog

Puis on peut ajouter le fichier /etc/rsyslog.d/00-catchall.conf dans lequel on met :

# Catch everything except auth, authpriv and cron msgs into syslog
*.*;cron,auth,authpriv.none          -/var/log/syslog

et le fichier /etc/rsyslog.d/10-cron.conf avec :

# Log cron stuff
cron.*          /var/log/cron.log

Puis on redémarre rsyslog :
sudo service rsyslog restart