Linux에서 resize2fs 명령의 역할은 무엇입니까

Linux에서 resize2fs 명령의 역할은 무엇입니까

논리 볼륨을 확장하거나 축소할 때 resize2fs 명령이 수행하는 작업 lvextend 및 lvreduce 명령을 사용하는 기능은 동일합니까, 아니면 다릅니까?

답변1

실제로 네 가지 다른 동작이 있을 수 있습니다 resize2fs(그 중 하나는 사소한 것입니다). 이는 파일 시스템이 마운트 또는 마운트 해제되었는지 여부와 축소 또는 확장 여부에 따라 달라집니다.

  1. 설치, 확장

    여기에서 resize2fs온라인으로 크기를 조정해 보세요. 어느 정도 이것은 커널에게 작업을 수행하라고 지시하는 것뿐입니다. 그런 다음 커널은 새로 사용 가능한 스토리지에 추가 파일 시스템 메타데이터를 쓰기 시작합니다. 이 경우 파일 시스템을 계속 사용할 수 있습니다.

    실제로 오래된 ext3 파일 시스템은 온라인 크기 조정을 지원하지 않을 수 있습니다. 확장하려면 이전 파일 시스템을 마운트 해제해야 합니다.

  2. 설치되지 않음, 확장됨

    이번에는 resize2fs커널 대신 작업을 수행합니다. 대부분의 경우 새로 사용 가능한 스토리지에 추가 파일 시스템 메타데이터를 쓰는 작업이 포함됩니다.

  3. 설치, 축소

    이 작업은 지원되지 않습니다. 오류만 인쇄하면 됩니다. 이것은 사소한 행동입니다.

  4. 설치되지 않음, 축소됨

    이것은 가장 시간이 많이 걸리고 가장 위험하기도 합니다(여전히 상당히 안전하긴 하지만). 가능하다면(예: 충분한 공간이 있는 경우) resize2fs파일 시스템이 첫 번째 파일만 사용하도록 합니다.크기저장된 바이트 수입니다. 파일 시스템 메타데이터와 데이터를 이동하여 이를 수행합니다. 완료되면 파일 시스템이 사용할 블록 장치(논리 볼륨) 끝에 사용되지 않은 저장 공간이 생깁니다.

lvextend그리고 lvreduce논리 볼륨의 크기를 변경합니다. 옵션이 제공되면 파일 시스템의 크기를 변경할 수도 있는데 -r, 이는 특히 축소할 때 올바른 접근 방식일 수 있습니다. 불행하게도 lvreduce실수로 잘못된 크기를 제공하면 데이터가 손실되기 쉽습니다 ( 동일한 크기를 알려 -r줌으로써 ).resize2fs

관련 정보