특정 양의 데이터에 대한 최소 ext3 파티션 크기 계산


2

다음의 ext3 파티션은 동일한 데이터를 포함합니다. 보다시피, 파티션 크기가 클수록 동일한 파일에 더 많은 공간이 필요합니다.

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop11            3965777    561064   3199964  15% [...]
/dev/loop19             573029    543843     29186  95% [...]

Filesystem            Size  Used Avail Use% Mounted on
/dev/loop11           3.8G  548M  3.1G  15% [...]
/dev/loop19           560M  532M   29M  95% [...]

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/loop11          1024000    1656 1022344    1% [...]
/dev/loop19          1024000    1656 1022344    1% [...]

많은 공간을 낭비 할 수있는 고정 크기의 파티션으로 시작하고 해당 데이터를 보유 할 수 있지만 최소한의 크기로 파티션을 만들고 싶습니다. 특정 양의 데이터를 저장하는 데 필요한 최소 파티션 크기를 안정적으로 계산하려면 어떻게해야합니까? 데이터 양은 시간이 지남에 따라 변경되므로 이러한 계산을 자동화해야합니다.


아래로 투표 한 사람이이를 설명하는 의견을 남기면 감사하겠습니다.
Daniel Beck

답변:


4

시도 할 수있는 절차는 다음과 같습니다.

  • 필요한 것보다 약간 큰 디스크 이미지를 만듭니다.
  • 이미지에서 파일 시스템을 직접 작성하십시오. billc.cn이 제안한대로 파일 시스템 매개 변수를 설정하고자 할 수 있습니다.
  • 이미지를 루프 마운트하고 파일을 복사하십시오. 마운트 해제
  • 을 사용하여 이미지를 최소 크기로 줄 resize2fs -M입니다. 원하는 경우 Gparted를 그래픽 프런트 엔드로 사용하십시오.

기본적으로 resize2fs파일에서 사용하는 실제 공간을 고려하여 원하는 계산을 동적으로 수행 할 수 있습니다.

실제로 크기를 조정하는 resize2fs -P대신 최소 크기 만 계산하려면 대신 사용하십시오.

데이터는 수백 메가 바이트에 불과하므로 RAM (tmpfs)에 중간 디스크 이미지를 만들어 여유 공간이있는 파일 시스템 (예 : / tmp), 크기 조정 및 dd하드 디스크에 시간을 절약 할 수 있습니다.

한 번 작성된 데이터가 변경되지 않으면 대신 SquashFS 또는 유사한 파일 시스템을 사용하는 것이 좋습니다. 그렇지 않으면 저널링의 오버 헤드를 피하는 ext2를 고려하십시오.


파티션을 축소 한 후 이미지 파일의 크기가 동일하게 유지됩니다. 그리고 어쨌든 파티션보다 크지 만이 프로세스에서 해당 파티션 이후의 데이터를 그대로 유지해야합니다. 나는 데이터의 양이 다르다고 언급했다. 거의 모든 경우에 여러 GB입니다. 압축 파일 시스템을 이미 사용하고 있지만이 경우 ext2 여야합니다.
다니엘 벡

@Daniel Beck : ext2 또는 ext3?
기계 달팽이

@Daniel Beck : 내 시스템 (resize2fs 1.41.12)에서 이미지가 축소됩니다. "해당 파티션 이후의 데이터"는 무엇을 의미합니까?
기계 달팽이

죄송합니다, ext3, 원래 질문에 쓴 것처럼. 또한 이미지에 여러 개의 파티션이 있으며 부팅 섹터로 완성됩니다. 그것이 아마도 나를 위해 크기가 조정되지 않는 이유 일 것입니다 (실제로 크기 조정을 원하지 않습니다). 이상한 제약 조건에 특별한 문제가 있음을 인정합니다.
Daniel Beck

임시 이미지에 여러 파티션을 배치해야하는 이유는 무엇입니까?
기계 달팽이

2

(또는 ) -b옵션을 사용하여 블록 크기를 명시 적으로 설정하거나이 옵션을 사용하여 파일 유형을 지정할 수 있습니다 . 자세한 내용은 매뉴얼 페이지를 확인하십시오.mkfsmke2fs-T

그러나 inode 수와 저널 크기가 적절한 지 확인해야 할 수도 있습니다.


이미 -b를 사용하고 있습니다. 나는 루트를위한 섹터를 예약하지 않습니다. 그래도 저널 크기를 조사해야 할 것입니다. 지금은 확실하지 않습니다.
Daniel Beck
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.