Monter /var sur un autre disque SSD

Bonjour,

Comment faire pour monter /var sur un autre disque SSD sous debian 8?

Merci

Salut,

Avant toute chose il faut que tu monte ton autre disque soit monté avec la commante mount, ensuite tu copie le /var sur /dev/sdb1 ensuite tu automatise le montage du disque dans le fstab

1 J'aime

Merci
et comment le système peut savoir que c’est le nouveau /var ?
Faut il pas supprimer l’ancien /var ?

Le disque dire est en RAID1 avec un autre cela n’aura pas d’influence ?

Merci

Explique nous un peu plus ta configuration et ce que tu veux faire …
Mavric te donne la bonne marche a suivre, ce n’est pas vraiment sorcier.
Quel disque est en RAID ? l’original ? la destination ?

Le système va «savoir» que c’est le nouveau /var car il va regarder ton «/etc/fstab»
Es-tu familier avec le montage de partition ?

Il y a quand même quelques précautions à prendre pour la copie du contenu de /var.

  • monter le nouveau système de fichiers ailleurs que sur /var, sinon le contenu de /var sera masqué et la copie sera impossible.
  • arrêter les programmes et services qui ont des fichiers ouverts dans /var (syslog, bases de données, serveur de mail…) avant d’effectuer la copie sinon ces fichiers risquent d’être copiés dans un état incohérent.

Le plus sûr est de faire la copie en démarrant depuis un autre système.

L’objectif et d’ajouter deux disque dures SSD les liées en RAID1 et puis les consacrer aux serveur des bases de données (SGBD)?
Pour cela j’ai pensé :

  • soit juste d’installer le sgbd (postegres) au nouveau disque dure SSD ou mettre juste le répertoire data de postegres au niveau du disque dure

  • ou mettre /var (contenant le SGBD) dans le disque dure SSD

que pensez vous ?

La première solution est envisageable si postgresql n’éparpille pas ses fichiers un peu partout dans /var. D’après ce que je vois sur un système wheezy, tout semble être contenu dans /var/lib/postgresql. Il y a d’autres répertoires /var/cache/postgresql et /var/lib/postgres mais ils sont vides et n’ont pas été utilisés depuis longtemps, donc je suppose que ce sont des restes d’anciennes versions. L’avantage est qu’il suffit d’arrêter postgresql, déplacer le contenu du répertoire dans le volume RAID puis remonter le volume sur le répertoire et redémarrer postgresql.

La seconde solution évite de se poser des questions sur les emplacements où postgresql met ses fichiers. Mais il faut que tout ce qui utilise /var soit arrêté avant de faire le transfert.

Si jamais postgresql met des fichiers dans plusieurs sous-répertoires identifiés, il y a encore des possibilités intermédiaires :

  • utiliser LVM sur l’ensemble RAID et créer un volume logique pour chaque sous-répertoire utilisé par postgresql
  • monter l’ensemble RAID sur un répertoire quelconque, y déplacer chaque répertoire utilisé par postgresql (et pas seulement son contenu) et le remplacer par un lien symbolique.

Y a-t-il une commande pour arrêter tous les programmes et service qui tournent sur /var ? sachant que cette opération sera fait juste après l’installation de debian ?

Comment faire la copie avec un autre système sachant que j’ai que debian dans le serveur ? et cette copie doit se fait avant démarrage du système ?

Merci

Non, il faut identifier chaque programme concerné et l’arrêter.
Mais si l’opération est faite juste après l’installation, pourquoi ne pas plutôt la faire pendant l’installation, dès la phase de partitionnement ? Tu n’as pas la maîtrise de l’installation ?

Démarrer avec un système live, ou avec l’installateur Debian en mode rescue, installer un second système minimal, utiliser le shell de l’initramfs (en ajoutant l’option break à la ligne de commande du noyau)…

Que veux-tu dire exactement ? Avant le premier redémarrage qui suit l’installation ? Ça n’a pas vraiment d’importance.

SI j’ai la maîtrise de l’installation, mais je ne sais pas comment monter un disque dure à ce moment, si c’est possible je pense il sera la meilleur solution

Avant que les processus travaillant sur /var se lancent

Merci

Ce serait beaucoup plus simple en effet.
Créer et monter un système de fichier d’un autre disque dur n’est pas plus compliqué que sur le disque principal. Par contre il faut sélectionner “partitionnement manuel”, ou bien commencer avec le partitionnement assisté puis revenir en arrière au lieu de valider afin de modifier manuellement le partitionnement.

Dans l’outil de partitionnement manuel de l’installateur, tu sélectionnes l’espace libre du SSD et y crées un volume (partition, volume logique LVM…) de la taille souhaitée. Ensuite tu choisis le type de système de fichiers, ext4 par défaut qui est un bon choix, et le point de montage, /var ou /var/lib/postgresql si tu veux qu’il ne soit utilisé que par PostgreSQL.

Si tu démarres avec un autre système c’est sans importance puisque les processus de ce système n’utilisent par le /var du disque.

Merci

Bonjour,

Petite question toute bête, ne serait-il pas possible de refaire une installation complète en intégrant les fonctionnalité LVM dans ton système?

Bonjour,

Je vous cache pas que je n’ai jamais utilisé LVM, et donc je ne connais pas surtout ses inconvénient ou ses points de faiblesse.

Je n’ai pas de souci pour refaire l’installation, mais avant, j’aimerai bien avoir vous conseils concernant mon serveur qui se compose des :

  • deux disques identiques : 2x600 GB 15K de type SSD 20x

  • deux disques identiques : 2x300 GB 10K SAS 15k

  • deux disques identiques : (4) 2TB 7.2K RPM SATA 6Gbps 3.5in Hot-plug Hard Drive

Ce serveur héberge un système d’information qui utilise le postgresql comme SGBD.
Donc j’ai pensé à lier chaque deux disques dures identiques en RAID 1 , et mettre l’OS et le serveur d’application dans le disque SAS et le SGBD dans le disque SSD et laisser les autres au backup des données.

Que pensez vous et quelle décomposition LVM vous me conseillez ?

Merci

Bonjour,

Je peux te proposer ce lien
http://okki666.free.fr/docmaster/articles/linux113.html
Qui t’explique entièrement les technologie du RAID ainsi que le LMV.

Pour moi (pas sur que ce soit la bonne solution) j’installerais ton système sur les 2 disques de 300Go en RAID1 puis un RAID1 sur les 2 hdd de 600Go puis un RAID1 sur les 2 hdd de 2To.

Ensuite je montrais le LVM comprenant les 2 RAID1 de 600Go et 2To soit un total du volume de 2,6To. Puis je ferais un lien symbolique du /var/lib/postgresql sur le volume LVM

Avantage: Si un HDD est défectueux, tu garde ton système en place et cela te permet de faire les opération de maintenance en tourte tranquilité

Inconvénient: tu perds la moities de l’espace disque.

Si l’espace est suffisant, autant mettre les trois dans les SSD pour bénéficier au maximum de leurs performances.

Concernant le découpage en volumes logiques, sur un serveur je séparerais le contenu quasi-statique (/, /usr) et les contenus variables (/tmp, /var, /home ?, /srv ?) dans des volumes distincts, en laissant de l’espace libre pour l’accroissement futur des volumes.

Pour ma part j’éviterais de mélanger des disques durs et des SSD dans un même groupe de volumes LVM, car ça va “diluer” les performances des SSD.

Ou bien montage direct du volume logique considéré sur /var/lib/postgresql, ce qui a l’avantage de pouvoir se faire dès l’installation du système.