Je gère une ferme de serveurs Mac Minis. Pour des raisons de performance et de longévité du SSD, j'ai (Mojave) partitionné le SSD en APFS et monté la nouvelle partition avec l'option noatime
et limiter les constructions à cette partition. Maintenant que Catalina et les versions ultérieures ont l'option /System/Volumes/Data
dans le cadre du système d'exploitation, je me demande s'il existe un moyen d'activer le système d'exploitation. noatime
pour cette partition sans avoir à se pencher sur les /etc/fstab
c'est-à-dire d'une manière approuvée par Apple.
Réponse
Trop de publicités?Oui, je pourrais ajouter le noatime
à l'option de montage du /System/Volumes/Data
de manière persistante à l'aide d'un démon launchd. Cela a fonctionné pour moi sur MacOS Catalina, Big Sur et Monterey.
J'ai créé un fichier /Library/LaunchDaemons/local.noatime.plist avec ce contenu :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!-- Install: copy to /Library/LaunchDaemons/, chown root:wheel and chmod 644 -->
<plist version="1.0">
<dict>
<key>Label</key>
<string>local.noatime</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-c</string>
<!-- first get the current mount options to see if there are any default options that we missed to provide here -->
<!-- as mount overwrites the default options except the ones it reads out from the filesystem table -->
<string>mnt=/System/Volumes/Data; mount | grep -F " $mnt "; mount -vuwo nobrowse,noatime "$mnt"</string>
</array>
<!-- launchd appends the output to the log file so write it to /tmp that is removed on each reboot -->
<key>StandardOutPath</key>
<string>/tmp/noatime.log</string>
<key>StandardErrorPath</key>
<string>/tmp/noatime.log</string>
<key>RunAtLoad</key>
<true/>
<key>LaunchOnlyOnce</key>
<true/>
<key>KeepAlive</key>
<false/>
</dict>
</plist>
Vous pouvez choisir n'importe quel nom de LaunchDaemon à la place de local.noatime
qui n'existe pas encore, mais je pense que le Label dans la configuration et le nom du fichier (sans l'extension .plist) doivent être les mêmes.
Normalement, ce LaunchDaemon démarre à chaque démarrage, il ajoute donc le paramètre noatime
après un redémarrage.
Mais je vois que vous avez une ferme de serveurs et je suppose qu'un redémarrage de toutes ces machines n'est pas idéal, vous pourriez donc déclencher manuellement le démon sans redémarrage :
sudo launchctl bootstrap system /Library/LaunchDaemons/local.noatime.plist
Si vous vérifiez le fichier journal, vous devriez voir quelque chose comme ceci :
cat /tmp/noatime.log
/dev/disk3s1 on /System/Volumes/Data (apfs, local, journaled, nobrowse)
/dev/disk3s1 on /System/Volumes/Data (apfs, local, journaled, noatime, nobrowse)
La première ligne contient les options de montage originales et la deuxième ligne les nouvelles. Je pense que c'est une bonne idée de conserver les options de montage originales au cas où Apple ajouterait d'autres options par défaut. nobrowse
(les autres options sont ajoutées automatiquement à partir de la table du système de fichiers) car je n'ai pas trouvé de moyen d'ajouter le paramètre noatime
sans supprimer les options de montage précédentes. Ceci étant dit, utilisez cette option à vos risques et périls.