Linux에서는 디스크를 다시 검색하지 않고도 디스크 크기가 변경되었는지 알 수 있습니까?

Linux에서는 디스크를 다시 검색하지 않고도 디스크 크기가 변경되었는지 알 수 있습니까?

VMware에서 디스크 크기를 변경한 후(예: 10GB 늘리기) 다음 단계는 Linux에서 디스크 크기를 다시 검색하여 커널이 이 크기 변경을 인식하도록 하는 것입니다.

이를 위해 다음 명령을 사용합니다.

echo 1>/sys/class/block/sda/device/rescan

우리 스크립트에서는 cron몇 분마다 작업을 다시 검색하여 관련 디스크의 크기를 조정해야 하는지 확인합니다.

다시 검색하지 않고 디스크 크기가 변경되었는지 식별하고 실제로 디스크 크기가 변경된 경우에만 다시 검색할 수 있는 방법이 있는지 궁금합니다.

지금까지는 재검사 없이 디스크 크기가 변경되었는지 확인할 수 있는 방법을 찾지 못했지만, 여기서 그 답을 얻을 수 있기를 바랍니다.

제가 이 질문을 하는 이유는 이 활동에 위험이 없음에도 불구하고 몇 분마다 다시 검색하는 것이 불편하기 때문입니다.

인용하다:https://kerneltalks.com/disk-management/how-to-rescan-disk-in-linux-after-extending-vmware-disk/

답변1

블록 장치의 크기가 조정되었는지 확인하는 방법은 장치를 다시 검색하는 것입니다. 그게 다야. 재검색 여부를 결정하기 위해 블록 장치를 재검색하는 다른 방법을 찾을 필요가 없습니다.

가상화된 환경에서는 2분마다 실행하는 것이 안전합니다. 재검색이 실행될 때마다 재검색이 인터럽트 잠금을 획득하므로 성능에 약간의 영향을 주지만 가상 블록 장치 재검색은 매우 빠릅니다. 2분마다 다시 검색하는 것이 불편하다면 빈도를 줄일 수 있습니다. 실제로 2분 안에 디스크 크기 조정에 반응해야 합니까?

(일부 반가상화 스토리지 드라이버는 게스트가 보는 크기를 자동으로 업데이트하므로 재검색이 필요하지 않습니다.아니요VMware의 경우도 마찬가지입니다. )

한 번 살펴보고 싶을 수도 있습니다open-vm-tools아마도 이를 통해 호스트의 게스트 내부에서 워크로드가 트리거될 수 있습니다. 이렇게 하면 외부에서 디스크 크기를 조정하고 게스트 내부에서 작업을 트리거하여 볼륨을 다시 검색하고 크기를 조정할 수 있습니다. 저는 이런 일을 해본 적이 없어서 실제로 가능한지는 잘 모르겠습니다.

관련 정보