Yép, on peux dire que drbd est une sorte de raid1 sur IP. Pour le moment je ne me suis pas encore documenté dessus (HA), le but du jeu pour le moment est de pouvoir répliquer les datas en temps réel sans se préoccuper de la haute dispo (ne criez paaas) il sera mis en place après ( ).
Perso j’utiliserai bien : /dev/sda3, il n’est pas trop “occupé”. sauf que, sauf que…je peux pas “découper” un partie de cette partoch (la faire en primaire ou étendue), a chaque fois que j’essaie de la “découper”, j’ai : Partition 1 is already defined. Delete it before re-adding it. Logique, mais je ne sais pas trop comment faire. Je viens de me renseigner sur LVM, c’est un principe qui m’a l’air d’être relativement souple, je vais approfondir.
Le /usr permet simplement d’avoir une partoch distinct afin d’y mettre tous les packages que tu installeras.(Pas la peine de mettre une taille de partition trop importante, en règle générale, sa taille n’évolue presque pas).
Il faut distinguer le filesystem (ext* ou autres) de la partition elle-même :
- fsck pour être certain que tout va bien
- réduire le filesystem (resize2fs pour de l’ext, en désactivant le journal avant si ext3/ext4) un peu plus petit que la partition que tu envisages
- supprimer la partition (ça ne supprimera pas tes données) puis la recréer exactement au même bloc de début, mais taille différente
- refaire un resize2fs pour que le filesystem utilise toute la place disponible
- réactiver la journalisation du filesystem
La manip avec LVM est sensiblement identique (toujours les resize2fs obligatoires) à une exception près (celle qui fait toujours le plus peur ) : le changement de la taille de la “partition” (volume logique) se fait directement à l’aide des outils LVM. Et l’espace libre que tu rajoutes à tes partitions n’a pas besoin d’être contigu.
Vu que t’es en VM, je suppose que tu utilises un disque virtuel (fichier sur l’hôte) plutôt qu’un disque physique. Auquel cas LVM a encore un avantage supplémentaire : quand tu manques de place il suffit que tu rajoutes un disque virtuel à ta VM, tu le mets dans le volume group LVM et tu peux étendre n’importe quelle partition avec ce nouvel espace libre.
Sachant que du LVM “de base” (sans dmcrypt ni snapshots ni autres fonctions avancées) ne consomme quasiment rien en ressources, pas de raison de se priver. Bon ok, là faut réinstaller mais on n’a rien sans rien.
Avec du RAID sur ton hôte pour pallier aux pannes disques et drbd sur un LAN dédié ça devrait commencer à tenir la route, après faut attaquer le multi-sites.
La taille de / dans son ensemble n’est pas censée varier beaucoup, mis à part /home /tmp et /var, donc c’est plutôt eux les points de montage candidats (voire /var/log séparé pour éviter les DoS liés aux logs). T’façons avec LVM la taille des partitions n’a plus beaucoup d’importance (surtout en virtualisé) et cerise sur le gâteau apparemment on peut agrandir (pas diminuer) de l’ext3/4 à chaud (ce qui me fait me demander si la désactivation du journal est bien toujours nécessaire) :
Je dois maintenant mettre à jour les outils de drbd, sauf que quand je claque un “make menuconfig” il me dit : No rule to make target `/usr/src/linux-headers-2.6.32-5-common/scripts/basic/Makefile’. D’accord, sauf que le resultat de umane -a : Linux cluster1 2.6.38-bpo.2-686. C’est quoi la blague? J’ai bien booté sur le nouveau noyau.Qu’est ce que j’ai loupé?
Tu as bien installé les headers correspondant à ta version du noyau ? linux-headers-$(uname -r)
Cela dit, tu es obligé de compiler ? Le module est dans ton kernel 2.6.38 et les outils sont dispos dans Squeeze, testing et unstable : packages.debian.org/search?suite … words=drbd donc tu peux choisir facilement quelle version te convient le mieux.
Dans ce cas, pourquoi est ce que j’ai ce ****** de message : DRBD module version: 8.3.9 userland version: 8.3.7 you should upgrade your drbd tools! ?
J’ai ce resultat quand je fais un make menuconfig
Comme je te disais, ces outils sont dispos à la fois dans stable / testing et unstable donc tu peux choisir la version qui va bien :
$ apt-cache policy drbd8-utils
drbd8-utils:
Installé : (aucun)
Candidat : 2:8.3.9-1
Table de version :
2:8.3.9-1 0
992 http://ftp.debian.org/debian/ testing/main amd64 Packages
502 http://ftp.debian.org/debian/ unstable/main amd64 Packages
2:8.3.7-2.1 0
102 http://ftp.debian.org/debian/ stable/main amd64 Packages
Avec ton kernel 2.6.38 le message est clair : le module drbd est en version 8.3.9 donc il te faut la même version des outils (qui se trouve être en testing en ce moment). Pas besoin de compiler quoi que ce soit.
Attention toutefois avant de commencer à jouer avec ton sources.list, si tu inclus testing ou unstable il va te falloir un fichier preferences (cf. section Trucs & Astuces le sujet sur le sources.list) pour éviter d’upgrader toute ta machine.
Ça veux donc dire que j’ai passé une bonne partie de la journée à me prendre la tête pour rien…
Donc si je comprend bien, le résultat de apt-cache policy drbd8-utils ne permettra de "mettre à jour mon sources.list?
drbd8-utils:
Installed: 2:8.3.7-2.1
Candidate: 2:8.3.7-2.1
Version table:
*** 2:8.3.7-2.1 0
500 ftp://debian.advalem.net/debian/ squeeze/main i386 Packages
100 /var/lib/dpkg/status
Oui oui le message est plus que clair mais je me voyait pas comment le mettre a jour…
Pourrais-tu en dire un peux plus sur la petite subtilité que tu as énoncé quand tu as parlé de sources.list, “testing ou unstable il va te falloir un fichier preferences”(ne pas privilégier un sources.list plus qu’un autre? Dans ce cas, il est possible de lui dire, tient c’est dans lui que je tape pour update, et celui-ci pour quelque chose d’autre…)
Le résultat de cette commande te permet de voir les versions disponibles pour ce paquet. Si la version dont tu as besoin n’est pas dedans, effectivement soit tu compiles (toujours assez galère) soit tu prends ce qu’il te faut dans un autre dépôt.
Le fichier /etc/apt/sources.list c’est là où tu indiques tous les dépôts que tu veux utiliser.
Pour le moment tu n’as que Squeeze et les backports donc tu n’as pas encore accès aux autres versions de drbd8-utils. Pour cela il te faut rajouter au moins testing.
Mais si tu rajoutes testing sans prendre de précautions, au prochain apt-get update / apt-get upgrade il va vouloir te passer tous tes paquets en testing. Pour éviter cela il te faut un fichier /etc/apt/preferences qui rabaisse la priorité de testing.
Pour plus de détails : sources-list-au-carre-ou-minimaliste-t5659.html
Pour encore plus de détails :
Une fois que tu auras lu et compris tout ça, il te faut :
- un sources.list contenant squeeze (+ security et updates), backports et testing
- un preferences qui met par exemple squeeze à 990 et testing à 500 pour rester globalement en squeeze
- apt-get update
- apt-get -t testing install drbd8-utils
Bonne lecture.
ubunteros.tuxfamily.org/spip.php?article177
C’est dinguuuue je ne pensais pas que c’était “gollé” comme ça. haaaa je kiiiif, allé j’y r’tourne!!
Une question ,une questiiioon…
Je n’est pas trop compris l’histoire des dépendances. Le fait de faire attention aux dépendances, signifie qu’il faut faire gaff aux priorités que tu as soigneusement mis dans ton fichier de conf? Pour ne pas faire une mise à niveau de tous les paquets, ex: Testing à Sid?
Les dépendances ça se passe entre paquets : un paquet peut rarement fonctionner tout seul, il a besoin de fonctionnalités fournies par d’autres paquets.
Exemple qui te concerne :
$ apt-cache show drbd8-utils
Package: drbd8-utils
Source: drbd8
Version: 2:8.3.9-1
Installed-Size: 640
Maintainer: Debian DRBD Maintainers <debian-ha-maintainers@lists.alioth.debian.org>
Architecture: amd64
Replaces: drbd, drbd-utils
Provides: drbd-utils
Depends: debconf | debconf-2.0, libc6 (>= 2.7)
Suggests: heartbeat
[...]
Tu noteras la ligne Depends: qui indique que ce paquet a besoin des paquets suivants :
- soit debconf soit debconf-2.0 sans spécifier de version particulière (le -2.0 ici n’est pas à proprement parler la version du paquet, ça fait partie de son nom)
- libc6 version >= 2.7
Pour debconf on n’a pas à s’en faire (aucune version spécifique n’est nécessaire), mais par contre on va vérifier libc6 :
$ apt-cache policy libc6
libc6:
Installé : 2.13-21
Candidat : 2.13-21
Table de version :
2.13-23 0
502 http://ftp.debian.org/debian/ unstable/main amd64 Packages
*** 2.13-21 0
992 http://ftp.debian.org/debian/ testing/main amd64 Packages
100 /var/lib/dpkg/status
2.11.2-10 0
102 http://ftp.debian.org/debian/ stable/main amd64 Packages
La version stable est la 2.11 et des brouettes, c’est bien >= 2.7 donc le paquet drbd8-utils 8.3.9 provenant de testing s’installera sans souci même sur une stable.
Ça c’est pour ce qui se passe “en coulisses”.
En pratique tu vas plutôt faire une simulation (option -s de apt-get) et voir les paquets qu’il veut t’installer ou te mettre à jour :
# apt-get -s -t testing install drbd8-utils
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Paquets suggérés :
heartbeat
Les NOUVEAUX paquets suivants seront installés :
drbd8-utils
0 mis à jour, 1 nouvellement installés, 0 à enlever et 22 non mis à jour.
Inst drbd8-utils (2:8.3.9-1 Debian:testing [amd64])
Conf drbd8-utils (2:8.3.9-1 Debian:testing [amd64])
Si ça posait un problème il te préviendrait à ce stade. Il faut également faire attention aux paquets qu’il voudrait te mettre à jour car à cause de l’option -t testing ils proviendraient de… testing, (ce que tu ne veux probablement pas).
Si tout va bien, tu rappelles ta commande en enlevant l’option de simulation -s (et si ça allait pas faudrait trouver une autre solution ).
Petite precision concernant l’installation d’un nouveau noyau. C’est n’y plus n’y qu’un package à installer, son nom est different selon la distrib sur laquelle on travail. Dans ma situation ce package s’appel linux-image-X.X.XX. Tu m’a posé la question qui était de savoir si j’avais bien pensé à installer les headers en fonction de la version de mon noyau. Ce package header contient quoi?(c’est une sorte de boite à outils qui possède tout ce dont il a besoin pour fonctionner). Si cette definition vulgaire est correct, ces deux paquets sont indisociable?
Je me suis lancé dans la configuration de mon fichier sources.list ainsi que de ses preferences.
Pourrais tu me dire si tout cela est politiquement correct
Resultat de apt-cache policy:
resultant cache policy:
500 ftp.fr.debian.org/debian/ squeeze-updates/non-free i386 Packages
release o=Debian,a=stable-updates,n=squeeze-updates,l=Debian,c=non-free
origin ftp.fr.debian.org
500 ftp.fr.debian.org/debian/ squeeze-updates/contrib i386 Packages
release o=Debian,a=stable-updates,n=squeeze-updates,l=Debian,c=contrib
origin ftp.fr.debian.org
500 ftp.fr.debian.org/debian/ squeeze-updates/main i386 Packages
release o=Debian,a=stable-updates,n=squeeze-updates,l=Debian,c=main
origin ftp.fr.debian.org
500 security.debian.org/ squeeze/updates/non-free i386 Packages
release v=6.0,o=Debian,a=stable,n=squeeze,l=Debian-Security,c=non-free
origin security.debian.org
500 security.debian.org/ squeeze/updates/contrib i386 Packages
release v=6.0,o=Debian,a=stable,n=squeeze,l=Debian-Security,c=contrib
origin security.debian.org
500 security.debian.org/ squeeze/updates/main i386 Packages
release v=6.0,o=Debian,a=stable,n=squeeze,l=Debian-Security,c=main
origin security.debian.org
500 ftp.fr.debian.org/debian/ squeeze/non-free i386 Packages
release v=6.0.3,o=Debian,a=stable,n=squeeze,l=Debian,c=non-free
origin ftp.fr.debian.org
500 ftp.fr.debian.org/debian/ squeeze/contrib i386 Packages
release v=6.0.3,o=Debian,a=stable,n=squeeze,l=Debian,c=contrib
origin ftp.fr.debian.org
500 ftp.fr.debian.org/debian/ squeeze/main i386 Packages
release v=6.0.3,o=Debian,a=stable,n=squeeze,l=Debian,c=main
origin ftp.fr.debian.org
Mon fichier de preferences:
Package: *
Pin: release o=Debian,a=stable-updates,n=squeeze-updates,l=Debian,c=non-free
Pin-Priority: 900
Package: *
Pin: release o=Debian,a=stable-updates,n=squeeze-updates,l=Debian,c=contrib
Pin-Priority: 900
Package: *
Pin: release o=Debian,a=stable-updates,n=squeeze-updates,l=Debian,c=main
Pin-Priority: 900
Package: *
Pin: release v=6.0,o=Debian,a=stable,n=squeeze,l=Debian-Security,c=non-free
Pin-Priority: 900
Package: *
Pin: release v=6.0,o=Debian,a=stable,n=squeeze,l=Debian-Security,c=contrib
Pin-Priority: 900
Package: *
Pin: release v=6.0,o=Debian,a=stable,n=squeeze,l=Debian-Security,c=main
Pin-Priority: 900
Package: *
Pin: release v=6.0.3,o=Debian,a=stable,n=squeeze,l=Debian,c=non-free
Pin-Priority: 900
Package: *
Pin: release v=6.0.3,o=Debian,a=stable,n=squeeze,l=Debian,c=contrib
Pin-Priority: 900
Package: *
Pin: release v=6.0.3,o=Debian,a=stable,n=squeeze,l=Debian,c=main
Pin-Priority: 900
Package: *
Pin: release o=Debian Backports,a=squeeze-backports,n=squeeze-backports,l=Debian Backports,c=main
Pin-Priority: 100
Ouhla, tu te lançais dans de la compilation sans savoir ce que c’est des headers ? Pas étonnant que tu aies galéré.
Bon grosso modo les headers c’est la partie des sources d’une bibliothèque partagée qui permet à un autre programme d’être compilé en utilisant cette bibliothèque. Les headers ne sont nécessaires que pour compiler, pas lors de l’exécution.
Dans le cas des outils drbd user-land, ils s’adressent au module drbd du noyau donc pour compiler ces outils il te faudrait les headers du module, qui eux-mêmes font partie des headers du noyau (depuis le 2.6.33). Et bien entendu les headers du noyau changent en même temps que le noyau lui-même, il faut donc que les paquets installés concordent au niveau des versions.
Edit: mets tes fichiers entre balises [ code ] s’il te plaît, ça sera plus lisible (d’autant que j’ai pas les yeux en face des trous, comme d’hab ).
Edit 2: plutôt que le résultat d’apt-cache policy, tu voudrais pas poster ton sources.list stp ?
Encooore? ( désolé, je vais faire la modification la prochaine fois que je metterai des fichiers de conf)
Mais sont-ils correct?
[code]###############################################
backports
deb http://backports.debian.org/debian-backports squeeze-backports main
################################################
squeeze
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
squeeze security
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
squeeze update
deb http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free
################################################
sid
deb http://ftp.fr.debian.org/debian/ sid main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ sid main contrib non-free
################################################
experimental
deb http://ftp.fr.debian.org/debian/ experimental main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ experimental main contrib non-free
[/code]
Pour le sources.list c’est presque OK, juste quelques remarques :
- tu tiens absolument à utiliser unstable (sid) plutôt que testing, qui elle a l’avantage de rester un peu plus proche de la stable ? Avec unstable c’est souvent beaucoup plus compliqué au niveau des dépendances.
- experimental ne te servira à rien
- les lignes deb-src ne servent que si tu veux compiler des paquets à partir des sources Debian (apt-get source / apt-get build-dep) donc, vu mes conseils précédents tu peux te douter que ça ne devrait pas t’être utile
/etc/apt/sources.list :
[code]## backports
deb http://backports.debian.org/debian-backports squeeze-backports main
squeeze
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
squeeze security
deb http://security.debian.org/ squeeze/updates main contrib non-free
squeeze update
deb http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free
unstable (éventuellement remplacer par testing)
deb http://ftp.fr.debian.org/debian/ unstable main contrib non-free[/code]
Pour le preferences c’est beaucoup trop verbeux à mon goût ce qui en plus peut provoquer des oublis (tu n’es pas obligé d’indiquer tous les champs Pin : d’expérience o et a/n suffisent largement la plupart du temps)… Et tu as oublié le pinning pour unstable.
/etc/apt/preferences :
[code]Package: *
Pin: release o=Debian,n=squeeze
Pin-Priority: 900
Package: *
Pin: release o=Debian,n=squeeze-updates
Pin-Priority: 900
Package: *
Pin: release o=Debian Backports,n=squeeze-backports
Pin-Priority: 100
Package: *
Pin: release o=Debian,a=unstable ### note: ou bien testing
Pin-Priority: 90[/code]
Une fois que c’est fait, refais un apt-cache policy pour vérifier qu’il ne te reste aucun dépôt à 500 à part les “Translation” des fois que j’aurais zappé un truc.
Ha oui en effet c’est bien plus soft
Par contre il n’y a aucunes concordances entre les fichier de preferences et le resultat du nombre de lignes affichées suite au resultat de apt-cache policy ?
J’ai remarqué aussi que suite à ce resultat il y avait une priorité de 100 sur un chemin (/var/lib/dpkg/status), c’est quoi? C’est ici ou sont stocké tous les packages par défaut quand tu installes ta debian?
Et qu’appels tu “Translation”?
Edit: Quand tu décides de changer de noyau, les deux packages indispensable sont les linux-image et linux-headers
Les lignes “Pin” du fichier preferences sélectionnent tous les dépôts dont les attributs correspondent à ceux que tu as saisis. Pour les attributs que tu n’as pas saisis, il les ignore (équivalent à “n’importe lequel”). Ça te permet de regrouper plusieurs dépôts similaires facilement.
C’est les paquets actuellement installés sur ta machine.
$ apt-cache policy | grep Translation
500 http://ftp.debian.org/debian/ stable/main Translation-fr_FR
500 http://ftp.debian.org/debian/ stable/main Translation-fr
500 http://ftp.debian.org/debian/ unstable/main Translation-fr
500 http://ftp.debian.org/debian/ testing/main Translation-fr
linux-image toujours, mais les headers uniquement si tu en as besoin pour compiler des programmes qui en dépendent.
D’acc d’acc…
Par contre, après toutes ces prises de tête, lorsque je fais un /etc/init.d/drbd stop/start, afin de verifier si au niveau de ma confi. ça ne “hurle” pas trop, j’ai de nouveau le droit à ceci:
root@cluster1:~# /etc/init.d/drbd start
DRBD module version: 8.3.9
userland version: 8.3.7
you should upgrade your drbd tools!
Starting DRBD resources:DRBD module version: 8.3.9
userland version: 8.3.7
you should upgrade your drbd tools!
J’ai zapé de faire quelque chose dans mon sources.list?(identique à celui qui est plus haut)
Résultat de apt-cache policy drbd8-utils:
root@cluster1:~# apt-cache policy drbd8-utils
drbd8-utils:
Installed: 2:8.3.7-2.1
Candidate: 2:8.3.7-2.1
Version table:
2:8.3.9-1 0
500 http://ftp.fr.debian.org/debian/ unstable/main i386 Packages
*** 2:8.3.7-2.1 0
900 http://ftp.fr.debian.org/debian/ squeeze/main i386 Packages
100 /var/lib/dpkg/status
Edit: Ces dépots “Translation” ne sont pas primordiaux ?
[quote=“Tux”]Par contre, après toutes ces prises de tête, lorsque je fais un /etc/init.d/drbd stop/start, afin de verifier si au niveau de ma confi. ça ne “hurle” pas trop, j’ai de nouveau le droit à ceci:
[…]
J’ai zapé de faire quelque chose dans mon sources.list?[/quote]
Tu as simplement oublié de mettre à jour le paquet drbd8-utils…
[code]# apt-get update
apt-get -t unstable drbd8-utils
ou bien si celui-là marche pas (je sais jamais la différence exacte entre les deux)
apt-get install drbd8-utils/unstable[/code]
C’est juste la traduction en français des descriptions des paquets. Pas besoin d’y toucher.