/var
디렉터리를 새 디스크/파티션으로 옮겼는데 해당 부분은 제대로 작동했지만 이전 경로를 삭제/이동하는 것을 잊어버렸고 여전히 /var
( /
루트) 파티션의 공간을 사용하고 있습니다. /var
모든 프로세스를 다시 실행하지 않고 이전 항목을 어떻게 삭제할 수 있나요 ? 어떤 아이디어가 있나요?
지금까지 내가 한 일은 다음과 같습니다.
fdisk -l
mount /dev/sdb /mnt/newvar/
df -h /mnt/newvar/
rsync -aqxP /var/* /mnt/newvar/
umount /mnt/newvar/ /mnt/var/
umount /mnt/newvar/
umount /disk2/
umount /mnt/newvar/
ls -la /mnt/newvar/
df -h
vim /etc/fstab
fstab 내용:
UUID=c7c73822-b6e8-4aa4-a4b2-41a70c29568f /boot ext2 defaults 0 2
/dev/mapper/zabbix--vg-swap_1 none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
UUID="3195ad53-3aaa-418c-bdc0-d341e33d76d3" /var ext3 defaults 0 2
위 명령의 결과는 다음과 같습니다.
df -P / /var
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/mapper/zabbix--vg-root 11758232 10103908 1033988 91% /
/dev/sdb 25671996 8720916 15640360 36% /var
답변1
바인드 마운트를 사용하여 원시 장치에 액세스할 수 있습니다. 이는 새 /var가 다른 파티션에 있다고 가정합니다.
mountpoint /var # confirm that /var is mounted on a different partition. If not, STOP NOW
mkdir /mnt/root
mount --bind / /mnt/root
ls -lid /var /mnt/root/var # these will be different inodes
ls /var /mnt/root/var # different file contents if you've updated /var
rm -rf /mnt/root/var
mkdir /mnt/root/var
umount /mnt/root
rmdir /mnt/root
일반적으로 권장되는 대로 새 구성에 권장되는 대로 이 작업을 시도하기 전에 모든 것을 백업하십시오. 당신은 아무 잘못도 하지 않았지만 나는 당신의 방식대로 하지 않을 것입니다.
첫 번째 제안: /dev/sdb에 파티션을 만들고 /dev/sdb1에 파일 시스템을 만들어야 합니다. 현학적일 수도 있지만 파일 시스템에 디스크 볼륨을 사용하는 것을 좋아하지 않습니다. 과거에 이것에 문제가 있었습니다.
둘째: /dev/sdb1에 PV 볼륨을 생성하고 이를 /dev/mapper/zabbix에 추가하여 볼륨을 확장할 수 있습니다. 이렇게 하면 전체 LVM 파티션이 두 개의 디스크에 배치되므로 디스크가 손상된 경우 데이터가 손실될 가능성이 높아지지만 데이터를 이동할 필요는 없습니다. 그러나 설정에서 디스크에 오류가 발생하면 어쨌든 플러시될 것입니다. 이는 백업의 목적입니다.