Management de /var

Bonjour
En lisant les posts d’installation et de partition je vois que certains ont des partitions dédiées à /var ou /var/log, en justifiant cela par le fait que les fichiers log peuvent prendre de la place au fil du temps et parfois - je cite - « exploser »
Sur mon SSD de 250 Go le système prend 27.3Go dont 18Go sont utilisés, il reste donc 9.3Go libres
Le dossier /var fait 4.2Go et /var/log fait 1.7Go
Ma question : dois-je envisager d’alléger le dossier /var/log ou d’autres dossiers ? et si oui, comment faire ? ou bien inutile de s’inquiéter ?


joel@hp600:~$ sudo lvs
[sudo] Mot de passe de joel : 
  LV     VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home   hp600-vg -wi-ao---- 180,65g                                                    
  root   hp600-vg -wi-ao---- <27,94g                                                    
  swap_1 hp600-vg -wi-ao----   3,95g                                                    
joel@hp600:~$ 

merci

Bonsoir,
tout dépend de utilisation que tu fait de ta machine.
Personnellement sur un serveur de 60Go je met 4Go dans /var/log et /var/log/audit (les deux répertoire n’ont pas les mème paramètres nosuid, nodev et noexec), et /var représente 25% du volume total alloué (je n’alloue pas forcément la totalité de l’espace physique), je fais aussi 25% à /, 2Go à /tmp et /var/tmp.
Comme j’utilise LVM, ce qu’il reste de disponible sert à ajuster au fur et à mesure de l’utilisation.
/home n’aillant que peu d’importance sur un serveur, il n’a au mieux que 5%, mais sur une machine plus « user friendly » j’utilise ce que j’ai de disponible à volonté.
LVM permet d’avoir un volume physique prenant en compte les capacité physiques de la machine, le volume group de prendre en compte ces volumes physiques et de n’allouer que ce dont j’ai besoin pour une partition donnée. Ensuite, j’ajuste au fur et à mesure des besoins sur les partitions créées voire d’en créer de nouvelles (/opt, /srv etc…)

Y a rien de choquant, après ça dépend de ce qui est installé et son utilisation.
C’est possible de réduire la taille des logs.
chez moi pour une utilisation perso:
/usr : 13,1 Go
/var: 11,2 Go
/var/log: 950 Mo

Bonjour, merci de vos réponses

Réduire la taille des logs, ça veut dire réduire l’espace alloué à /var/log en créant une partition dédiée volontairement exigüe, ou bien est-il possible de supprimer dans le /var/log actuel des fichiers considérés comme inutiles ?

Tu modifies les rotations de logs. Il faut surtout éviter de rendre /var/log/trop exigu car s’il est plein, ton système va avoir un problème.

euh… ça consiste en quoi, modifier les rotations de logs ?

Les rotations des journaux, c’est le fait de supprimer les anciens journaux pour laisser la place au nouveau. Cette opération est gérée, par défaut, par logrotate. Ce service permet également de compresser les anciens fichiers de journaux afin qu’ils prennent moins de place.
Les paramètres de ce service se trouvent dans le fichier /etc/logrotate.conf, ainsi que dans les fichiers qui se trouvent dans le dossier /etc/logrotate.d/.

Pour donner de mon expérience personnelle, j’ai une configuration totalement fixe, ce qui fait que j’ai décidé de n’avoir aucun journal localement sur mes machines et de tout transmettre à un serveur rsyslog qui stocke tous les journaux de toutes mes machines pendant une durée de 53 semaines. Le répertoire /var/log/ de cette machine occupe 820 Mio (en vrai, je m’attendais à plus).

Voici le fichier /etv/logrotate.conf

# see "man logrotate" for details

# global options do not affect preceding include directives

# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
#dateext

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# system-specific logs may also be configured here.

comme l’indique cette ligne , dans le dossier /etc/logrotate.d tu trouveras les configurations de programmes spécifiques et man logrotate est ton ami.

Attention, à partir de Debiab 12 (bookworm) rsyslog n’est plus installé par défaut et les logs système sont gérés uniquement par systemd-journald sur lequel je doute que logrotate ait le moindre effet. Voir man journald.conf pour limiter la taille du journal.

2 J'aime

Ah, merci, j’avais oublié de mettre le stockage volatil dans le fichier /etc/systemd/journald.conf.
De toute façon, je pars toujours du principe qu’il n’est pas installé par défaut.
Concernant la rotation des journaux du service systemd-journald, logrotate est effectivement incapable de faire quoique ce soit, mais ce n’est pas grave car la rotation des journaux est gérée directement par systemd-journald.

Bonjour
J’ai édité le fichier /etc/systemd/journald.conf

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it under the
#  terms of the GNU Lesser General Public License as published by the Free
#  Software Foundation; either version 2.1 of the License, or (at your option)
#  any later version.
#
# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file, or by creating "drop-ins" in
# the journald.conf.d/ subdirectory. The latter is generally recommended.
# Defaults can be restored by simply deleting this file and all drop-ins.
#
# Use 'systemd-analyze cat-config systemd/journald.conf' to display the full config.
#
# See journald.conf(5) for details.

[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=10000
#SystemMaxUse=
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
#LineMax=48K
#ReadKMsg=yes
#Audit=no

et suis allé voir le manuel de systemd-journal mais c’est bien au dessus de mon niveau
Avec ce que j’ai indiqué jusqu’ici, est il à prévoir de modifier la configuration des journaux dans le but de ne pas encombrer inutilement mon système ?
merci

N’oublie pas que les logs c’est la seule chose qui te permettra de savoir ce qui s’est passé en cas de problème. Les réduires à tout prix peut avoir un effet néfaste sur ta capacité à gérer les problèmes éventuels.

C’est plutôt la page de manuel de journald.conf qu’il faut lire.

1 J'aime

J’ai lu le manuel de journal.confmais là aussi c’est trop technique pour moi.
Au bout du compte je vais laisser la configuration de mes journaux telle quelle, j’ai encore de la marge dans le dossier système de fichiers (9.3 Go libres), je reposerai la question si cette marge diminue trop. Ca m’évitera de me lancer imprudemment …
Merci à tous