tech:lvm_-_migrer_les_systemes_de_fichiers_avec_la_partition_racine

LVM - migrer les systèmes de fichiers avec la partition racine

Exemple avec avec RedHat / Amazon Linux

Partition /var /var/log (Hors racine /)

Arrets des services pouvant accéder à /var et /var/log

systemctl stop systemd-journald*
systemctl stop nfs-client*
systemctl stop rpc*
systemctl stop mariadb.service
systemctl stop smb.service
systemctl stop atd.service
systemctl stop acpid.service
systemctl stop gssproxy.service
systemctl stop atop.service
systemctl stop irqbalance.service
systemctl stop chronyd.service
systemctl stop postfix.service
systemctl stop rsyslog.service
pvcreate /dev/xvdk
vgcreate vg_os /dev/xvdk
 
lvcreate -n var -L 1G vg_os
lvcreate -n log -L 1G vg_os
mkfs.xfs /dev/vg_os/var
mkfs.xfs /dev/vg_os/log
 
mkdir /var/log2
mount /dev/vg_os/log /var/log2
rsync -ax /var/log/ /var/log2/
rm /var/log -rf
umount /var/log2/
rmdir /var/log2/
 
mkdir /var2
mount /dev/vg_os/var /var2
rsync -ax --exclude='/log/' /var/ /var2/
rm /var -rf
umount /var2
rmdir /var2
 
mkdir /var
echo "/dev/mapper/vg_os-var  /var  xfs   defaults,noatime   0 2" >> /etc/fstab
mount -a
 
mkdir /var/log
echo "/dev/mapper/vg_os-log  /var/log  xfs   defaults,noatime   0 2" >> /etc/fstab
mount -a
 
restorecon -R /var

Conf /tmp sur /var/tmp

## /tmp
rsync -ax /tmp/ /var/tmp/
echo "/var/tmp /tmp    none bind 0 0"  >> /etc/fstab
rm -rf /tmp
mkdir /tmp
chmod 1777 /tmp
mount -a

Au tour de la swap

lvcreate -n swap -L 1G vg_os
mkswap /dev/vg_os/swap
echo "/dev/mapper/vg_os-swap none            swap    sw              0       0" >> /etc/fstab
swapon -a

Terminer par

touch /.autorelabel

Partition racine

Voir https://www.linuxsysadmins.com/migrate-from-single-partition-boot-device-to-lvm-in-centos7/

Chroot

mkdir /newroot
lvcreate -n root -L 3G vg_os
mkfs.xfs /dev/vg_os/root
mount /dev/vg_os/root /newroot/
 
rsync -ax --exclude "/newroot/" --exclude "/boot/" / /newroot/
mkdir /newroot/boot
rsync -ax /boot/ /
rm /boot -rf
mkdir /boot
mount -o bind / /newroot/boot/
 
mount -o bind /dev/ /newroot/dev/
mount -o bind /sys/ /newroot/sys/
mount -o bind /proc/ /newroot/proc/
#mount -t proc proc /newroot/proc/
mount -o bind /run /newroot/run/
mount -t devpts devpts /newroot/dev/pts
mount -o bind /var/ /newroot/var/
mount -o bind /var/log /newroot/var/log/
mount -o bind /tmp /newroot/tmp
 
chroot /newroot/
 
cp -p /etc/fstab /etc/fstab.orig
cp -p /etc/default/grub /etc/default/grub.orig

/etc/fstab

#UUID=a1e1011e-e38f-408e-878b-fed395b47ad6     /           xfs    defaults,noatime  1   1
/dev/mapper/vg_os-root                          /           xfs    defaults,noatime  1   1
UUID=a1e1011e-e38f-408e-878b-fed395b47ad6     /boot           xfs    defaults,noatime  1   1
/dev/mapper/vg_os-var  /var  xfs   defaults,noatime   0 2
/dev/mapper/vg_os-log  /var/log  xfs   defaults,noatime   0 2
/dev/mapper/vg_os-swap none            swap    sw              0       0
/var/tmp /tmp    none bind 0 0

Conf grub et /boot

sed -i '1i/dev/mapper/vg_os-root                          /           xfs    defaults,noatime  1   1' /etc/fstab
sed -ie 's|^UUID=\(.*\)/\(.*\)|UUID=\1/boot\2|' /etc/fstab

/etc/default/grub

#GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 nvme_core.io_timeout=4294967295 rd.emergency=poweroff rd.shell=0"
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0 nvme_core.io_timeout=4294967295 rd.emergency=poweroff rd.shell=0 console=ttyS0,115200n8 console=tty0 rd.lvm.lv=vg_os/root"

Ajouter rd.lvm.lv=vg_os/root et si SELinux changer l'ordre console=ttyS0,115200n8 console=tty0

sed -ie 's/^GRUB_CMDLINE_LINUX_DEFAULT/#&/' /etc/default/grub
echo >> /etc/default/grub
echo 'GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0 nvme_core.io_timeout=4294967295 rd.emergency=poweroff rd.shell=0 console=ttyS0,115200n8 console=tty0 rd.lvm.lv=vg_os/root"' >> /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
#dracut -f -v /boot/initramfs-4.14.123-111.109.amzn2.x86_64.img
dracut -f -v /boot/initramfs-*.img
grub2-install --recheck /dev/xvda
touch /.autorelabel
exit
/sbin/reboot -f
tech/lvm_-_migrer_les_systemes_de_fichiers_avec_la_partition_racine.txt · Dernière modification : de Jean-Baptiste

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki