Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/06/2017, à 20:05

MiniApp

[RÉSOLU] Contournez un point de montage

Bonjour,

J'ai une idée qui peut être utile pour boostez son PC (c'est une idée, mais je pense la réaliser un jour).

Il s'agit d'user et d'abuser (sans abus bien sur smile) du tmpfs de façon intelligente avec un deamon et fuse.

L'idée serait d'utiliser FUSE (je connais pas une ligne du kernel...) pour crée un système de fichier qui serait en RAM mais sauvegarderait les donnés sur le disque dur à la fin et quand le disque est libre (préservons nos donnés). Cela peut être utile pour /var/tmp. Le tout avec une gestion intelligente des ressources (RAM, CPU, I/O HDD) et personnalisable (par exemple précharger les donnés ou immédiatement écrire les donnés sans attendre que le disque soit libre).

Mais voilà big_smile comment on fait pour passez outre un point de montage et accédez à celui du point de montage parent ?

C'est pour enregistrez les fichiers sur le disque dur régulièrement car la RAM c'est vraiment très mortel lol ! En plus tout le monde n'a pas une RAM ou un swap extensible (ex charger tous au boot et à la fin démonter puis vider sur le disque) sad.
Aussi je pense que des montages démontages intensifs et aléatoires ne serait pas une idée brilliante roll.

Je serais obligé de directement patcher le kernel ou les droits root et des outils me permettront de prendre l'itinéraire BIS.

Dernière modification par MiniApp (Le 03/07/2017, à 13:38)

Hors ligne

#2 Le 30/06/2017, à 09:02

Bigcake

Re : [RÉSOLU] Contournez un point de montage

Bonjour

MiniApp a écrit :

Mais voilà big_smile comment on fait pour passez outre un point de montage et accédez à celui du point de montage parent ?.

Tu a pas forcement besoin, tu peux créer dans ton fmpfs un dossier équivalent, au lieu de monter du tmps sur /home/user, tu monte ton tmps sur /tmp/user par exemple (de tout façon dans tout les cas, il faudra copier les données avant utilisation)

Si j’essayai de me rapprocher le plus de ton idée, voila comment je ferai:
- Création d'un point de montage du /home/user au démarrage avec tmpfs
- A l'ouverture de session ou du pc, lancement d'un script qui copie avec rsync les fichiers user dans le tmpfs (on pourrait imaginer que ton dossier user se trouve dans /sauvegarde/user)
- Peut être l'ajout d'un crontab qui sauvegarde régulièrement ce qui est dans le tmpfs vers le disque dur
- A la fermeture de la session, on fait un rsync dans l'autre sens du tmpfs (/home/user) vers le dossier diu disque dur (/sauvegarde/user)

Par contre, il y a des gros point négatifs à faire cette procédure :
- Plus le home de ton utilisateur contiendra des données plus tu ralentira le démarrage et l'arrêt de ta session ou ton ordinateur (selon la méthode choisit)
- Si un problème arrive entre 2 sauvegardes, tu aura perdu l'éventuel travaille effectué
- Si tu utilise un crontab/script pour sauvegarder régulièrement, que tu n'utilise pas ton pc et qu'il reste allumé, ton pc va faire des accès disques régulièrement et utiliser ton CPU pour rien.

Personnellement, j'ai fait 2 points de montage avec du tmpfs :
/tmp
/var/cache/apt/archives

Ensuite j'ai configuré un maximum de logiciels (comme firefox par exemple) pour utiliser le /tmp comme dossier temporaire.
Après, étant développeur, lorsque je bosse sur mes projets, à chaque lancement de compilations, les sources sont mis à jours dans le /tmp, compilés dans le /tmp et le résultat est ensuite copié dans le bon dossier du disque dur. (tout ça est automatisé bien sur)

Peut-être que tu peux adapter ce que j'ai fait a tes besoins, tes habitudes d'utilisation.
Après tu a une autre solution un poil plus longue wink: créer une couche FileSystem (genre ext4, btrfs, ntfs, ...) qui aurait le comportement que tu souhaite.


"Les gens" ne sont pas cons, ils ont été habitués à la facilité et à la désinformation. Le meilleur moyen de ne pas les aider, c'est de se moquer. Le meilleur moyen de les aider, c'est de les informer, encore et encore. La réflexion viendra. N'oubliez pas que vous aussi, vous êtes le con d'un autre.
Smartphone+GNU/Linux=Librem5

Hors ligne

#3 Le 30/06/2017, à 15:18

MiniApp

Re : [RÉSOLU] Contournez un point de montage

Salut,

Merci de ta réponse. Ton idée est très bonne. Mais je souhaiterais faire un système plus sophistiqué qui ne ferais pas de chargement massif au démarrage (j'ai 94,4Go dans mon home lol et que 8Go RAM+16Go SWAP). Par exemple une sécurité anti surcharge de RAM (c'est mieux cool ) et un système de profils : le 1 absorbe les pics d'écriture et purge immédiatement (/var/log), le 2 si la RAM le permet charge le contenu sans requête préalable (/etc ou les pages d'un serveur HTTP) et le 3 la fusion des deux (/home).

La fin de ton message m'a inspirée et surtout j'ai trouvé ici ma solution. Je bind l'ancien point de montage pour crée une porte. Ensuite je fuse ou mount le point de montage que je gérerais moi même et qui si besoin cherchera à travers la porte les donnés réelles. J'ai testé et ça fonctionne même après un mount (monte le / dans ton /tmp/realsys s'il est sous tmpfs et regarde les anciens restes dans /tmp/realsys/tmp).

Hors ligne