`resize2fs` 파일 시스템의 크기를 변경하는 방법은 무엇입니까?

`resize2fs` 파일 시스템의 크기를 변경하는 방법은 무엇입니까?

~에 따르면https://unix.stackexchange.com/a/501454/674,

parted의 resizepart는 파일 시스템에 전혀 신경 쓰지 않습니다. 이제 파티션이 끝나는 새 위치를 지정하기 위해 파티션 테이블을 변경하기만 하면 됩니다. 해당 위치 또는 그 근처의 어떤 것도 다루지 않습니다. 파티션 테이블을 수정한 후 파티션 테이블이 변경되었음을 커널에 알립니다. 커널은 새 테이블을 읽고 적용합니다(가능한 경우).

resize2fs파일 시스템의 크기를 변경하는 방법은 무엇입니까 ? 비슷한 방식으로 이 작업을 수행합니까 parted resizepart? 특별한:

https://unix.stackexchange.com/a/231623/674다음을 통해 파일 시스템을 확장한다고 말합니다.

새로 사용 가능한 스토리지에 추가 파일 시스템 메타데이터를 씁니다.

"새로 사용 가능한 스토리지"에 어떤 파일 시스템 메타데이터를 기록합니까? "새로 사용 가능한 스토리지"에 쓰는 것은 "새로 사용 가능한 스토리지"에 0을 쓰는 것을 의미합니까? 아니면 파일 시스템의 슈퍼 블록에 저장된 일부 값만 변경합니까?

https://unix.stackexchange.com/a/231623/674파일 시스템을 축소한다고 말합니다.

파일 시스템 메타데이터 및 데이터를 이동합니다.

어딘가에 "파일 시스템 메타데이터"를 쓰지 않을까요?

감사해요.

답변1

"새로 사용 가능한 스토리지"에 어떤 파일 시스템 메타데이터를 기록합니까?

공간을 사용 가능하게 만드는 데 필요한 특정 파일 시스템이 무엇이든 상관없습니다.

예를 들어 ext4, 파일 시스템은 블록 그룹으로 나누어지며, 각 그룹에는 다수의 데이터 블록, 다수의 inode, 블록 및 inode의 사용 가능/사용 비트맵이 포함됩니다. (그리고 다른 장부 데이터도 있을 수 있습니다.)

그런 다음 파일 시스템의 크기 등을 이해하려면 파일 시스템의 주요 데이터 구조를 이해해야 합니다. 또한 업데이트해야 합니다.

"새로 사용 가능한 스토리지"에 쓰는 것은 "새로 사용 가능한 스토리지"에 0을 쓰는 것을 의미합니까?

아마도 그렇지 않을 것입니다. 파일 시스템에서 사용되지 않은 블록이 삭제되는 것은 사실 이지만 mkfs.ext4파일 시스템의 확장된 부분에 대해서도 동일한 작업이 수행될 수 있습니다.

관련 정보