[LVM] Et, ETC !

Bonsoir, suite à mon post précédent, concernant la partition /home gérée par LVM, je me suis dis, pourquoi pas faire de même avec /etc et un volume LVM.

J’applique la même recette - et au lieu de supprimer l’ancien répertoire, je le renomme tout simplement, une première fois en ‘etc.old’, une seconde fois en ‘xyz’, histoire qu’il n’y ait pas de confusion possible …

Et, là, au reboot suivant, c’est le drame, kernet panic

Bien, avec un LiveCD, je renomme le répertoire en ‘etc’, dans la partition relative à la racine /, puis au reboot suivant, ça fonctionne !

De fait, j’ai bien deux choses distinctes :

  • un répertoire ‘etc’ dans ma racine
  • et, une partition ‘etc’ …

Et, mon fichier fstab est bien codé, ainsi : (suivent les commandes df, et mount)

[code]~$ cat /etc/fstab

/etc/fstab: static file system information.

Use ‘blkid’ to print the universally unique identifier for a

device; this may be used with UUID= as a more robust way to name devices

that works even if disks are added and removed. See fstab(5).

/dev/mapper/grp–siou-vol_root / ext4 errors=remount-ro 0 1

/boot was on /dev/md0 during installation

UUID=0913b4e8-1dc3-4c3d-80e0-cfdb90d4d5b3 /boot ext4 defaults 0 2
/dev/mapper/grp–siou-vol_etc /etc ext4 defaults 0 2
/dev/mapper/grp–siou-vol_home /home ext4 defaults 0 2
/dev/mapper/grp–siou-vol_chroot /chroot ext4 defaults 0 2
/dev/mapper/grp–siou-vol_opt /opt ext4 defaults 0 2
/dev/mapper/grp–siou-vol_srv /srv ext4 defaults 0 2
/dev/mapper/grp–siou-vol_tmp /tmp ext4 defaults 0 2
/dev/mapper/grp–siou-vol_usr /usr ext4 defaults 0 2
/dev/mapper/grp–siou-vol_local /usr/local ext4 defaults 0 2
/dev/mapper/grp–siou-vol_var /var ext4 defaults 0 2
/dev/mapper/grp–siou-vol_log /var/log ext4 defaults 0 2

swap was on /dev/md1 during installation

#UUID=8f08c2fc-a568-4e8a-a2b1-c619c63addba none swap sw 0 0
/dev/mapper/cryptswap1 none swap sw 0 0

~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 2000896 4 2000892 1% /dev
tmpfs 402996 540 402456 1% /run
/dev/mapper/grp–siou-vol_root 9480420 571284 8404512 7% /
none 4 0 4 0% /sys/fs/cgroup
none 5120 0 5120 0% /run/lock
none 2014980 0 2014980 0% /run/shm
none 102400 0 102400 0% /run/user
/dev/mapper/grp–siou-vol_etc 3030800 10796 2846336 1% /etc
/dev/mapper/grp–siou-vol_chroot 943128 1204 876800 1% /chroot
/dev/mapper/grp–siou-vol_home 901016 13540 818664 2% /home
/dev/md0 943544 83984 794412 10% /boot
/dev/mapper/grp–siou-vol_srv 288236896 64408 273507784 1% /srv
/dev/mapper/grp–siou-vol_tmp 2817056 4300 2649940 1% /tmp
/dev/mapper/grp–siou-vol_opt 2817056 4296 2649944 1% /opt
/dev/mapper/grp–siou-vol_usr 9480420 789384 8186412 9% /usr
/dev/mapper/grp–siou-vol_var 9480420 470996 8504800 6% /var
/dev/mapper/grp–siou-vol_local 943128 1308 876696 1% /usr/local
/dev/mapper/grp–siou-vol_log 9480420 42596 8933200 1% /var/log

~$ mount
/dev/mapper/grp–siou-vol_root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/md0 on /boot type ext4 (rw)
/dev/mapper/grp–siou-vol_etc on /etc type ext4 (rw)
/dev/mapper/grp–siou-vol_home on /home type ext4 (rw)
/dev/mapper/grp–siou-vol_chroot on /chroot type ext4 (rw)
/dev/mapper/grp–siou-vol_srv on /srv type ext4 (rw)
/dev/mapper/grp–siou-vol_tmp on /tmp type ext4 (rw)
/dev/mapper/grp–siou-vol_opt on /opt type ext4 (rw)
/dev/mapper/grp–siou-vol_usr on /usr type ext4 (rw)
/dev/mapper/grp–siou-vol_var on /var type ext4 (rw)
/dev/mapper/grp–siou-vol_local on /usr/local type ext4 (rw)
/dev/mapper/grp–siou-vol_log on /var/log type ext4 (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
[/code]

Donc, à-priori, j’ai bien le partitionnement /etc monté dans mon volume logique ‘vol_etc’ …
Et, je sais aussi qu’il existe le répertoire ‘etc’ dans le partitionnement / (racine).

Mais si je renomme ce dernier, le système ne démarre plus - je n’ose même pas imaginer, si je le supprime …

Pourquoi ?
Que faudrait-il faire de plus pour que si je supprime le répertoire ‘etc’ dans la racine, cela ne me plante pas le Système d’Exploitation ?!

Merci d’avance.

/etc est un des seuls répertoires dont le contenu doit rester dans le système de fichiers racine. C’est là que se trouvent les scripts d’initialisation et les fichiers de configuration du système, notamment /etc/fstab qui définit les montages des systèmes de fichiers !

Concernant le rôle du répertoire ‘etc’, je connais celui-ci.
Par contre, je ne comprends pas le pourquoi, il doit rester à la racine. En quoi, cela change son fonctionnement ?
Quelle incidence, vue ma config LVM ?
Est-ce qu’il est préférable que je détruise mon volume logique ‘vol_etc’ ?

Je répète : pour monter un volume sur /etc, il faudrait lire les scripts d’initialisation et /etc/fstab qui se trouvent dans /etc qui n’est pas encore monté donc ces fichiers sont inaccessibles. Problème classique de l’oeuf et de la poule, rien à voir avec LVM. Depuis Jessie il y a une exception pour /usr qui est monté dès l’initramfs, comme la racine. Si tu veux faire pareil avec /etc, il te faut modifier les scripts de l’initramfs.

Pourquoi veux-tu détacher le contenu de /etc de la racine ?

Ahhh, ta deuxième version m’aide, m’est plus claire. Merci.

Aucune raison particulière. La proposition était “Pourquoi ne pas le faire !” :wink:

Donc, je peux détruire mon volume logique ‘vol_etc’ qui, en réalité, ne sert à rien, n’est-ce pas ?!

Non seulement il ne sert à rien mais son montage sur /etc peut mettre la pagaille.
Lors du démarrage, tant qu’il n’est pas monté, /etc est le contenu de la racine. Ensuite il est le contenu du volume logique. Par exemple une modification faite après le montage dans un fichier qui est lu avant le montage ne sera pas prise en compte et tu risques de chercher longtemps pourquoi.

Pascal, merci de tes précisions.
Tu confirmes ce que je pressentais, grâce à celles-ci.
Apparemment, c’est ce qui s’appelle une “fausse bonne idée”. (me concernant)

Allez zou. clôture du sujet. Bon WE à tous! :smiley: