Sujet : storage
-
Préparer un nouveau disque sous Windows Server : de Get-Disk à Format-Volume, et pourquoi il démarre hors ligne
La séquence du module PowerShell Storage, de Get-Disk jusqu'à un volume formaté et monté : Initialize-Disk -PartitionStyle GPT, New-Partition -UseMaximumSize, Format-Volume, puis redimensionnement avec Get-PartitionSupportedSize. S'y ajoute la stratégie SAN, qui laisse par défaut certains disques nouvellement connectés hors ligne.
-
LVM sous AIX en pratique : lsvg/lspv/lslv, extension en ligne d'un système de fichiers JFS2 et miroir de rootvg
Le Logical Volume Manager propre à AIX organise les disques en groupes de volumes, volumes logiques et systèmes de fichiers JFS2, que l'on inspecte avec lsvg/lspv/lslv plutôt qu'avec pvs/vgs/lvs de Linux. L'extension en ligne d'un système de fichiers tient en une commande chfs ; le miroir de rootvg pour la disponibilité exige quatre étapes (extendvg, mirrorvg, bosboot, bootlist), et non le seul mirrorvg.
-
Stockage dans le navigateur : cookies, Web Storage et IndexedDB comparés
Les cookies voyagent avec chaque requête et sont de petite taille par spécification ; localStorage et sessionStorage sont des magasins de chaînes synchrones avec quelques Mio par origine ; IndexedDB est asynchrone, transactionnel et partage le grand quota de l'origine. Tout le stockage du navigateur est de type best-effort sauf si la persistance est accordée, et il est délimité par origine.
-
Créer un stockage résilient sur un serveur autonome avec les espaces de stockage et remplacer un disque défaillant
Regrouper des disques physiques avec New-StoragePool, créer un disque virtuel Mirror ou Parity avec New-VirtualDisk, surveiller l'état avec Get-PhysicalDisk et Get-StorageJob, puis appliquer la séquence documentée pour remplacer un disque défaillant sans perdre le pool.
-
Latence d'E/S disque avec iostat -x : r_await, w_await, aqu-sz, et pourquoi %util induit en erreur sur SSD et RAID
iostat -x complète la vue de débit simple par des champs de latence et de file d'attente par périphérique. r_await et w_await distinguent la latence en lecture et en écriture, aqu-sz indique combien de requêtes sont en attente (avgqu-sz dans les anciennes versions de sysstat), et le manuel de sysstat avertit lui-même que %util ne signifie plus saturation sur les périphériques qui traitent les requêtes en parallèle.
-
Partitionner un nouveau disque en mode non interactif sans écrire sur le mauvais périphérique
parted -s et mkfs s'exécutent sans confirmation dès qu'on leur désigne un périphérique ; la seule vraie protection consiste donc à vérifier l'identité de la cible (numéro de série ou WWN via /dev/disk/by-id) avant la première écriture, et non après. wipefs -n et lsblk sont des vérifications en lecture seule à placer avant chaque étape qui écrit.
-
Bases du stockage en colonnes : comment un fichier Parquet est organisé et pourquoi les lectures analytiques touchent moins de données
Un fichier Parquet est une séquence de groupes de lignes, chacun contenant un bloc de colonne par colonne, chaque bloc étant découpé en pages qui constituent l'unité d'encodage et de compression ; les métadonnées se trouvent à la fin, si bien qu'un lecteur ouvre le pied de fichier, ne sélectionne que les colonnes nécessaires et saute des groupes de lignes et des pages grâce à leurs statistiques min/max. C'est l'organisation par colonne qui rend efficaces les encodages par dictionnaire et par plages répétées.
-
Monter des partages NFS de façon robuste : hard ou soft, timeo, et ce qui se passe quand le serveur disparaît
L'option de montage par défaut hard fait réessayer indéfiniment le client NFS et bloque le processus appelant lorsque le serveur est injoignable. C'est généralement le bon choix, mais un serveur qui ne répond plus fige des commandes comme df ou ls jusqu'à son retour. x-systemd.automount ou nofail évitent qu'un serveur injoignable bloque le démarrage.
-
Créer un miroir RAID1 logiciel avec mdadm et remplacer un disque défaillant
mdadm --create construit une grappe RAID logicielle Linux à partir de partitions ou de disques entiers ; sans entrée dans mdadm.conf et sans mise à jour de l'initramfs, la grappe peut ne pas se réassembler au démarrage suivant, alors qu'elle fonctionne parfaitement juste après sa création.
-
Modifier /etc/fstab en toute sécurité : UUID, nofail, options x-systemd et findmnt --verify
Une ligne erronée dans /etc/fstab peut faire basculer le système dans un shell d'urgence au démarrage suivant. Cette méthode recourt à UUID= plutôt qu'aux noms de périphériques, à nofail et x-systemd.device-timeout= pour les montages facultatifs, puis à findmnt --verify et mount -a pour tester le fichier avant de redémarrer.
-
Chiffrer un volume de données avec LUKS2 : formatage, ouverture, crypttab et conséquences de la perte de l'en-tête
cryptsetup luksFormat et luksOpen créent et déverrouillent un volume LUKS2, et /etc/crypttab automatise le déverrouillage au démarrage ; une phrase secrète perdue comme un en-tête LUKS perdu ou endommagé sont irrécupérables, c'est pourquoi luksHeaderBackup est une étape obligatoire et non facultative.
-
Agrandir à chaud un volume logique LVM et son système de fichiers sans le démonter
lvextend -r redimensionne un volume logique et son système de fichiers en une seule étape, sans démontage, en appelant xfs_growfs ou resize2fs selon le cas. Un système de fichiers XFS ne peut que grandir, jamais rétrécir ; cette méthodologie couvre l'agrandissement à chaud pour les deux types.
-
Supprimer de gros binaires de l'historique Git avec git filter-repo
Un dépôt reste volumineux après la suppression d'un gros fichier, car chaque clone transporte son historique ; le réduire suppose de repérer les blobs fautifs, de réécrire tous les commits qui les contiennent avec git filter-repo dans un clone neuf, de forcer le push de chaque branche et de chaque tag, et de faire recloner tout le monde, car les commits réécrits ont de nouveaux identifiants.
-
Monter des partages SMB/CIFS sous Linux avec un fichier d'identifiants plutôt qu'un mot de passe en clair
mount -t cifs accepte un nom d'utilisateur et un mot de passe directement dans les options de montage, ce qui les expose en clair dans la liste des processus et dans /etc/fstab ; un fichier d'identifiants lisible uniquement par root supprime ces deux expositions. uid/gid/file_mode/dir_mode déterminent qui peut utiliser les fichiers en local, car les permissions SMB ne correspondent pas à la propriété Unix.
-
Administration de ZFS sous Solaris 11.4 : pools, datasets, snapshots et scrubs
zpool gère les pools de stockage (status, list, scrub, iostat) ; zfs gère les datasets qu'ils contiennent (list, create, set, snapshot, rollback, send/receive). Les boot environments étant des datasets ZFS, ces deux commandes sous-tendent aussi bien l'administration du stockage que l'application sûre des correctifs.
-
Sous-échantillonnage et niveaux de rétention pour les données de séries temporelles
Conserver les échantillons bruts pour une courte fenêtre, les agréger en compartiments fixes avec le nombre, la somme, le minimum et le maximum pour une fenêtre plus longue, et supprimer par partition lorsqu'un niveau expire ; choisir des agrégats ré-agrégeables, aligner les compartiments sur une origine fixe, et n'exécuter l'agrégation qu'une fois les données tardives du compartiment arrivées.
-
Git LFS : fichiers pointeurs, filtres smudge et quand ne pas l'utiliser
Git LFS remplace les fichiers volumineux suivis par de petits pointeurs textuels (version, oid sha256, taille) et stocke le contenu sur un serveur séparé via des filtres clean et smudge ; il garde les clones légers mais ajoute un second système de stockage avec ses propres quotas, si bien que suivre avec lui de petits éléments rarement modifiés ou des artefacts de build coûte généralement plus que ce qu'il fait économiser.
Lisible par machine : JSON