Beispiel: Verzeichnis /var/log auf neue Partition verschieben

Pakete: rsync lsof

Neues Blockdevice:

Partition anlegen: 1)

parted /dev/sdb
print
mkpart
quit

Mountpoint anlegen und temporär mounten

mkfs.ext4 /dev/sdb1
mkdir /mnt/sdb1
mount /dev/sdb1 /mnt/sdb1
df -Th /mnt/sdb1

Daten von /var/log auf das neue Dateisystem kopieren:

rsync -aXAHS --del /var/log/ /mnt/sdb1

Prüfen welche Prozesse auf /var/log zugreifen:

lsof +D /var/log

Zu den gefundenen Prozessen die zugehörigen Dienste rausfinden:

systemctl status 742

Dienste stoppen: (bis alle Prozesse die auf /var/log zugreifen beendet sind)

systemctl stop xyz.service

Daten von /var/log auf das neue Dateisystem kopieren:

rsync -aXAHS --del /var/log/ /mnt/sdb1

temporären Mountpoint wieder aushängen

umount /mnt/sdb1

Partition endgültig mounten:

blkid /dev/sdb1
UUID=$(blkid --output value --match-tag UUID /dev/sdb1)
echo "UUID=$UUID /var/log ext4 auto,rw,nosuid,nodev 0 2" | tee -a /etc/fstab
mount -av

Falls SELinux-Attribute verloren gegangen sind:

touch /.autorelabel

reboot oder Dienste wieder starten

Daten auf Orginalpartition löschen:

mkdir /mnt/original
mount --bind / /mnt/original
ls -i /mnt/original/var/log/ /var/log/
shopt -s dotglob
rm -rf /mnt/original/var/log/*
umount /mnt/original
1)
alternativ:
fdisk /dev/sdb
n