1. Petits fichiers. Les caches des gestionnaires de paquets, les fragments de couverture et les cartes de symboles multiplient les écritures à faible valeur ; sans defaultReplication adapté ni quotas de collections, un volume SeaweedFS paraît saturé alors que la pression vient surtout d’APFS.
2. Filer. Lorsque le métastore du filer cohabite avec DerivedData ou des archives locales, une compaction tardive ou une tempête de requêtes LIST devient un incident transversal pour toute l’équipe release.
3. rsync. Promouvoir un préfixe encore écrit par un pipeline produit des artefacts partiellement transférés ; sans build lock Nomad ou flock, les digests décrits côté OpenClaw manquent de fil conducteur exploitable.
Topologie : volume servers, filer et périmètre WAN
Volume servers par région ; filer avec métastore PostgreSQL, Redis ou MySQL sur SSD dédié, sauvegardes testées. Inscrivez le WAN contractuel : il borne réplication et fenêtre restic / rclone.
Séparez /data/sw-volume et /data/sw-filer pour des df / df -i lisibles ; ne mélangez pas DerivedData et chunks.
| Voie technique | Petits fichiers chauds | Artefacts de release | Risque disque 1 To / 2 To |
|---|---|---|---|
| SeaweedFS (volume + filer) | réplication 010/020, collections bornées | acceptable si snapshots cohérents | moyen si replicas × nœuds |
| rsync plafonné | déconseillé sans verrou | promotion figée, deltas maîtrisés | faible si fenêtre dédiée |
| Hybride (SeaweedFS + rsync) | namespace partagé + export froid | bundle signé hors filer | à surveiller (double empreinte) |
Synchronisation : paramètres volume/filer, rsync et verrous de build
Volume : fixez defaultReplication à 010 pour un couple maître / suiveur régional, ou 020 lorsque trois copies sont requises, puis bornez volume.max pour éviter qu’un burst de petits fichiers ne fasse gonfler la mémoire du processus weed. Filer : activez un cache métadonnées cohérent avec votre SGBD, limitez les clients qui listent massivement le même préfixe et journalisez les timeouts API pour les corréler aux pics CI.
rsync : imposez --bwlimit entre 8 et 32 Mbit/s selon l’étroitesse du WAN, conservez --partial et plafonnez à deux transferts simultanés par liaison ; décalez les promotions hors des créneaux où Nomad retient déjà l’allocation. Enveloppez le répertoire de promotion avec flock et réutilisez la logique de build lock décrite dans artefacts rsync pour empêcher tout runner d’écraser un bundle incomplet.
| Paramètre | Ordre de grandeur | Effet attendu |
|---|---|---|
volume.max / collections | baisser avant d’ajouter des nœuds | évite la fragmentation extrême des petits fichiers |
filer.store | SSD dédié hors DerivedData | réduit la latence LIST/PUT sur le métastore |
rsync --bwlimit | 8–32 Mbit/s (ajuster WAN) | ménage APFS et laisse respirer SSH |
| Concurrence rsync | ≤ 2 par lien | limite les inversions de priorité CI |
Extension : montée en charge, nouveaux nœuds et doublement 1 To → 2 To
Avant d’ajouter un Mac via achat clustervps, vérifiez que SeaweedFS peut absorber un nouveau volume sans rebalance agressif en pleine journée ; planifiez plutôt une fenêtre où les pipelines sont au vert. Lorsque la capacité brute passe de 1 To à 2 To, reprovisionnez quotas de collections et rétention de snapshots pour que l’espace ne soit pas immédiatement consommé par des réplicas supplémentaires.
- Empreinte. Mesurez la somme chunks SeaweedFS, artefacts rsync et caches par nœud avant toute commande matériel.
- Filer d’abord. Sauvegardez le métastore, appliquez la migration SGBD, validez les temps de réponse LIST.
- Volume weed. Enregistrez le nouveau rack, attendez la fin de la distribution des volumes, surveillez l’inode.
- rsync. Recalculez
--bwlimitpour conserver la même marge WAN après duplication des liens. - Checklist. Revalidez les paliers 70 / 80 / 90 % sur chaque silo APFS (tableau suivant).
- Communication. Publiez la fenêtre dans le canal d’astreinte partagé avec les équipes qui consomment les digests OpenClaw.
| Jalon disque | Disque 1 To | Disque 2 To |
|---|---|---|
| 70 % (vigilance) | alerte Slack + revue rsync | planifier extension ou purge DerivedData |
| 80 % (freinage) | couper promotions rsync non critiques | réduire réplication temporaire hors prod |
| 90 % (urgence) | arrêt CI non essentiel + eviction caches | même règle, vérifier inode (df -i) |
FAQ reprise après sinistre & continuité
Faut-il colocaliser toutes les métadonnées filer sur chaque Mac ? Non : concentrez le plan de métadonnées sur un sous-ensemble surveillé et sauvegardé ; répartissez les chunks sur les volume servers M4, comme indiqué dans le JSON-LD.
Que restaurer après perte d’une région ? Le métastore filer, puis les journaux d’allocation Nomad et enfin les bundles rsync figés ; croisez les preuves avec OpenClaw journaux & webhooks pour éviter les promotions fantômes.
Le rsync remplace-t-il la réplication SeaweedFS ? Il complète : rsync transporte des artefacts immuables, SeaweedFS porte les espaces de petits fichiers lus en parallèle ; mélanger les deux sans préfixes distincts coûte cher en disque.
- Chiffre de garde : viser moins de quatre-vingts pour cent d’occupation soutenue avant d’ajouter un nœud, et moins de soixante-quinze pour cent lorsque DerivedData et SeaweedFS cohabitent.
- Chiffre de garde : conserver au moins quinze pour cent d’inodes libres sur APFS lorsque plus de cinq millions de petits fichiers sont indexés.
- Chiffre de garde : documenter chaque changement de
defaultReplicationdans le même dépôt que les playbooks CI pour assurer la traçabilité.
Étendez vos forfaits Mac mini M4 sur plusieurs régions
Pour absorber filer, volumes et rsync sans franchir brutalement les seuils 1 To / 2 To, composez plusieurs Mac dédiés : la page d’achat aligne les zones, les tarifs détaillent les paliers mensuels — prolongez la lecture avec la série grappe parallèle et le guide OpenClaw.