Rediriger répertoire vers autre partition (squid) [RESOLU]

Bonjour à tous,

Voici la situation:

J’ai monté un serveur Proxy SQUID (Debian Squeeze) virtualisé sous ESXi, avec à l’origine une taille de 15 Go.
J’ai séparé les différentes partitions (/, /home, /var, /tmp…), et mon /var ne fais que… 2,5Go.

J’ai précédemment tester de changer, dans les fichiers de configuration de squid et squidGuard, les destinations des répertoires de logs (/var/log/squid/), de cache (/var/spool/squid) pour qu’ils pointent sur un autre répertoire, en vain: squidGuard ne veut pas entendre parler d’un changement d’emplacement…

J’ai donc créé une partition supplémentaire (appelée /LOGS) faisant 20Go afin de palier au futur manque de place (éventuel?) de /var.

D’après ce que j’ai compris (page de man y compris), on ne peut créer de liens physiques d’une partition à une autre (problème d’inode), et je ne sais pas si ça aurait de toute façon fonctionné.

Ma question: serait-il possible de rediriger le contenu de /var vers un répertoire situé sur une autre partition, dans le cas où celle-ci serait pleine, sans avoir à modifier le chemin dans les fichiers de configuration?
J’aimerais bien évidemment que tout cela soit dynamique (pas de copie directe en somme, sauf si vraiment pas le choix).

J’espère avoir été clair (pas sur)… N’hésitez pas à me demander plus d’informations, j’en ai peut-être oublié (certainement)…

Merci d’avance,

Chr0my`

J’espère avoir saisi assez de chose pour que ce que je propose soit cohérent :shifty:

As-tu tenté :
[ul][li]soit de créer une partition que tu montes comme /var/ton_repertoire ? Il faut bien entendu prendre soin avant de la monter définitivement de déplacer les fichiers existants du répertoire vers la nouvelle partition.[/li]
[li]soit d’utiliser des liens symboliques pour “rediriger” tes répertoires actuels ? Ici aussi il faudra transférer les fichiers existants avant de supprimer les répertoires puis de créer les liens.[/li][/ul]

Je n’y connais rien dans les méthodes que tu cites mais perso c’est ce qui me semble le plus simple à utiliser et peut-être le plus efficace :think:

Merci de t’être penché sur mon problème.

[quote]As-tu tenté :
soit de créer une partition que tu montes comme /var/ton_repertoire ? Il faut bien entendu prendre soin avant de la monter définitivement de déplacer les fichiers existants du répertoire vers la nouvelle partition.[/quote]

J’ai bien essayé de créer une partition contenant /var… Mon seul problème est le SquidGuard, qui continue de chercher /var/log/squid/, bien que je lui indique le nouvel emplacement dans son fichier de conf (rechargement de la base impossible, j’ai tenté le reboot bien sur, recharger les fichiers, réinstaller…), la misère comme on dit! Mon problème serait d’ailleurs résolu si quelqu’un avait déjà eu affaire à ce problème :s.

J’ai même tenté de renommer la partition /LOGS que j’avais créé en /var (en ayant pris soin de tout copier, démonter /var proprement…) mais rien du tout comme je pouvais l’imaginer. Merci les snapshots!

Si mes connaissances en liens symboliques sont bonnes, ils ne correspondent qu’à un banal raccourci vers le fichier source? Si la partition est full, les fichiers ne seront pas écrits sur la nouvelle si?
Les liens physiques me paraissaient une meilleure solution (car “copie” du fichier source), mais ils sont impossibles à mettre en place dans mon architecture… (et je ne suis pas du tout sûr du résultat).

J’aurais droit à un test grandeur nature demain, on verra si mon /var tient le coup. Au pire, je ferai une copie à intervalle régulier pour désengorger un peu…

Bonne soirée! Si je trouve une réponse, je vous la communiquerai bien évidemment…

Dans les deux cas l’idée c’est de transférer intégralement un répertoire sur une autre partition, et ce au niveau du système et non de la configuration de l’application.

Dans le premier cas tu crées la nouvelle partition et la déclare dans le système comme le répertoire que tu veux, même s’il s’agit d’un sous-répertoire de /var/ ! Tu crées donc ta partition, tu la montes dans /media/tmp/ par exemple, tu y déplaces tous les fichiers, y compris cachés, contenus dans /var/mon_repertoire/ (mais pas le répertoire en lui-même) que tu peux ensuite supprimer, puis dans /etc/fstab tu ajoutes cette partition en lui donnant comme point de montage /var/mon_repertoire/. Tu démontes et tu remontes automatiquement la partition qui aura ainsi son nouveau point de montage et ça roule. En faisant ainsi ton système travaillera avec une partition dédiée à ce répertoire. C’est exactement le même principe que d’avoir une partition /var/ à l’intérieur de la racine / qui dispose elle aussi d’une partition :wink:

Avec les liens symboliques ça serait la même idée mais réalisée de façon différente. En effet dans ce cas tu crées une partition /media/ma_partition/ par exemple, tu la rajoutes dans /etc/fstab puis tu déplaces le ou les répertoires qui gonflent (avantage et intérêt par rapport à la première solution : tu peux en gérer ainsi plusieurs) dans cette partition et depuis /var/ tu crées des liens symboliques vers tes répertoires déplacés, disons /var/mon_repertoire1/ et /var/mon_repertoire2/. Ainsi quand ton système rentre dans /var/mon_repertoire1/ ou /var/mon_repertoire2/ il se trouve alors physiquement dans ta nouvelle partition mais au niveau de l’arborescence des fichiers c’est transparent. C’est toute la puissance des liens symboliques sous GNU/Linux que Windows ne sait pas gérer :wink: La structure logique et la structure physique ne sont pas liées.

Au final dans les deux cas tu n’as rien à toucher à la configuration de ton application, tout se passe au niveau de ton système. C’est propre et simple à gérer une fois en place. Il faut simplement s’assurer de ne rien perdre lors de la création de tout ça :023

Merci beaucoup pour ces informations Coq, il y a certaines notions que je n’avais pas, je vais tester les solutions au plus vite et je te tiens au courant!

Malheureusement, mes test n’ont pas été concluant avec les liens symboliques, ni même avec le montage de la partition /LOGS sur /var.

Néanmoins, j’ai écrit un petit script qui me permet de faire une copie tous les soirs à 23h30 de mes fichiers logs vers ma nouvelle partition de façon très organisée (ce que je souhaitais en fin de compte…). Si vous le voulez, dîtes le, je ne pense pas que ce soit utile mais sait-on jamais…

Bref, problème résolu!

Ah :think: Ça me surprend mais c’est peut-être dû à des informations déjà stockées par l’application.

Par contre quand tu parles du montage d’une partition à la racine sur une autre à la racine, je me demande si j’ai été assez clair :geek:

Bon, content que tu aies trouvé une solution malgré ça.

Peut-être n’ai-je pas réellement saisi l’intérêt des liens symboliques et leur utilité dans mon cas de figure…

Pour ce qui est du montage de /LOGS, j’ai essayé de le monter sur /var/log (et non /var… faute), mais étant donné que cette dernière était busy (impossible pour moi de la démonter en journée), je n’ai évidemment pas réussi.
Je ne comprend pas comment le système peut accepter de monter une partition (/dev/sda3) sur une autre partition (/dev/sda6)…

Dès que je le pourrais, je testerais à nouveau le montage car je n’aime pas rester sur un échec. Il faut dire que je suis encore un novice et que j’ai encore beaucoup de connaissances à acquérir sur ces systèmes…

Merci en tout cas de te pencher sur mon problème.