LVM - ./home ./var ./srv를 동일한 파티션으로 재배치

LVM - ./home ./var ./srv를 동일한 파티션으로 재배치

CentOS-8을 가상화 호스트로 사용하고 있습니다(그래서 너무 많은 애플리케이션을 설치하는 것을 피하고 싶습니다). 1x 드라이브, LVM 파일 시스템

새로 설치했습니다. ./boot, ./boot/efi, ./home./

각각에는 자체 파티션이 있습니다.

/var, /tmp, 및 을 /srv포함 파티션에 재배치 하려면 어떤 도구와 명령이 필요합니까 /home?

답변1

이러한 디렉터리를 아래에 복사하고 /home( 사용 ) 기호 링크를 생성( 사용)하여 이를 수행할 수 있지만 이는 좋은 생각이 아닙니다.mvln -s

심볼릭 링크로 의도되지 않은 최상위 디렉터리를 심볼릭 링크하면 많은 응용 프로그램에서 이 동작을 예상하지 않기 때문에 디버그하기 어려운 문제가 발생하는 경우가 많습니다. 예를 들어 O_NOFOLLOW파일을 열 때 보안상의 이유로 애플리케이션을 사용하는 경우 심볼릭 링크를 생성할 때 해당 애플리케이션이 작동하지 않습니다. 나는 이런 일이 발생하는 여러 상황을 보아왔고 배포 관리자(소프트웨어 작성자는 말할 것도 없고)는 일반적으로 이 상황에서 발생하는 문제에 관심이 없습니다. 왜냐하면 지원되지 않기 때문입니다.

/일반적으로 , /home, /var, /tmp및 을 /srv하나의 파티션에 두고 LVM을 사용하여 확장 가능하게 하거나 별도로 필요한 것에 대해 별도의 파티션을 만드는 것이 좋습니다 .

이미 LVM을 사용하고 있고 이미 사용 중인 동일한 볼륨 그룹의 일부로 추가 논리 볼륨을 생성하려는 경우 볼륨 그룹을 찾은 후 sudo vgdisplay -c | cut -b3- | cut -d: -f1다음과 같이 추가 논리 볼륨을 생성할 수 있습니다.

SIZE=100m # for example
DIRNAME=/srv # for example
VOLGROUP=$(sudo vgdisplay -c | cut -b3- | cut -d: -f1)
sudo lvcreate -L $SIZE -n $(basename "$DIRNAME") $VOLGROUP
sudo mkfs.ext4 /dev/mapper/$VOLGROUP-$(basename "$DIRNAME")
sudo mount /dev/mapper/$VOLGROUP-$(basename "$DIRNAME") /mnt
sudo cp -a $DIRNAME/* $DIRNAME/.* /mnt
sudo umount /mnt
# Add the new /dev/mapper/$VOLGROUP-$DIRNAME device pointing to
# $DIRNAME to /etc/fstab

단일 사용자 모드에서 이 작업을 수행한 다음 재부팅해야 합니다.

관련 정보