서버 작업 부하를 처리하기 위해 LVM의 사용 가능한 모든 공간을 사용하여 자동으로 디스크를 확장하는 스크립트 작성

서버 작업 부하를 처리하기 위해 LVM의 사용 가능한 모든 공간을 사용하여 자동으로 디스크를 확장하는 스크립트 작성

프로그래밍 방식으로 디스크를 확장하는 스크립트를 작성하려고 합니다(LVM 활성화).

ubuntu 서버 22.04 이미지는 호스트 시스템에 자동 프로비저닝된 VM을 만드는 데 사용됩니다.

명령어 는 알지만 sudo lvextend -L +[size] [partition]사용 가능한 공간을 자동으로 쿼리한 /dev/sda다음 lvextend.

모든 시나리오에는 가변 여유 공간이 있는 디스크가 1개만 있고 전체 공간을 차지하도록 Linux 파티션을 자동으로 확장하고 싶습니다.

df -h모습은 다음과 같습니다.

runner@hya-worker-temp:~$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                               91M  928K   90M   2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  7.6G  3.9G  3.3G  55% /
tmpfs                              453M     0  453M   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          1.7G  126M  1.5G   8% /boot
/dev/sda1                          537M  5.3M  532M   1% /boot/efi
tmpfs                               91M  4.0K   91M   1% /run/user/1001

사용 가능한 공간을 쿼리하고 이를 스크립트 lvextend에서 전달하는 방법이나 스토리지를 확장하는 더 쉬운 방법이 있습니까?.sh

답변1

필요한 작업을 정확히 수행하는 다음 스크립트를 만들었습니다.

growpart /dev/sda 3
pvresize /dev/sda3
lvresize -l+100%FREE --resizefs /dev/mapper/ubuntu--vg-ubuntu--lv

답변2

디스크 크기가 자동으로 확장되는지 여부는 설정한 할당 스토리지 유형에 따라 다릅니다.

VirtualBox를 예로 들면, 선택하면 fixed size storage디스크 크기가 자동으로 확장되지 않고, 선택하면 Dynamically allocated storage디스크가 자동으로 확장됩니다.

그러나 동적 할당을 설정하는 위치에 관계없이 , VirtualBox심지어 에서도 Hy-V디스크에는 최대 크기가 있습니다. 예: Debian/Ubuntu의 최대 동적 공간 크기는 입니다 12GB.

따라서 디스크가 가득 차면 12GB가상 머신의 디스크 공간을 수동으로 다시 확장해야 합니다.

최근에는 님처럼 VM Debian을 동적으로 확장하도록 설정하고 VM의 공간 크기도 설정해 놓았 12GB는데, 몇 달 지나니 VM Debian의 디스크 공간이 다 써버려서 100%일주일 정도 시간을 들여서 어떻게 해야 하는지 알아보는 시간을 가졌습니다. 내 가상 머신이 말한 대로 가상 머신의 디스크 크기를 수동으로 확장합니다 Low disk space, only less than 100MB free!. 아, 옛날이여!

참고: 디스크 사용량 비율이 8080%에 도달하면 디스크는 위험 상태입니다.

30GB결론적 으로 , 가상 머신에 더 많은 공간을 활성화하는 것이 좋습니다 60GB.

초과하다!

관련 정보