resize2fs의 새로운 크기를 어떻게 결정합니까?


22

새 파티션을위한 공간을 만들기 위해 ext4 파일 시스템을 축소하고 프로그램을 살펴보고 싶습니다 resize2fs. 명령은 다음과 같습니다.

resize2fs -p /dev/mapper/ExistingExt4 $size

$size현재 ext4 파일 시스템에서 정확히 15GiB를 빼려면 어떻게해야 합니까? df어떻게 든 출력을 사용할 수 있습니까 ?

답변:


39

df파일 시스템이보고 한 크기 (이 경우 ext4)를 표시하므로 사용하지 마십시오 .

dumpe2fs -h /dev/mapper/ExistingExt4명령을 사용하여 파티션의 실제 크기를 찾으십시오. 이 -h옵션을 사용하면 dumpe2fs불필요한 다른 세부 정보없이 슈퍼 블록 정보를 표시 할 수 있습니다. 출력에서 블록 수블록 크기 가 필요합니다 .

...  
블록 수 :               19506168  
예약 된 블록 수 : 975308  
무료 블록 : 13750966  
무료 inode : 4263842  
첫 번째 블록 : 0  
블록 크기 :                4096  
...

이 값을 곱하면 파티션 크기가 바이트로 표시 됩니다. 위의 숫자는 1024의 완벽한 배수입니다.

$ python -c 'print 19506168.0 * 4096 / 1024'
78024672.0

파티션을 15GiB로 줄이려고하므로 (15KiB x 1KiB) :

$ python -c 'print 19506168.0 * 4096 / 1024  -  15 * 1024 * 1024'
62296032.0

으로 resize2fs접미사의 여러 종류를 받아, 그들 중 하나 인 K"1024 바이트", 킬로바이트가된다 62,296,032에 파티션을 축소하기위한 명령 :

resize2fs -p /dev/mapper/ExistingExt4 62296032K

단위가 없으면 숫자는 파일 시스템의 블록 크기의 배수 (이 경우 4096)로 해석됩니다. 참조 남자 resize2fs (8)


3
man resize2fs : 선택적으로 size 매개 변수는 512 바이트 섹터, 킬로바이트, 메가 바이트 또는 기가 바이트와 같은 단위 지정자 's', 'K', 'M'또는 'G'중 하나로 접미사를 붙일 수 있습니다. . 블록 계산을 수행하는 것보다 간단 할 수 있습니다.
lkraav

1
당신이 누락되지 않습니다 kresize2fs -p /dev/mapper/ExistingExt4 62296032?
Sopalajo de Arrierez

@SopalajodeArrierez 당신이 맞아요, 수도 K가 빠졌습니다. 이 문자가 없으면 크기가 실제 디스크보다 크기 때문에 resize2fs가 제 경우에 불만을 제기해야합니다.
Lekensteyn

2
dumpe2fs파티션 크기를보고하지 않습니다. 실제로 파일 시스템의 크기를보고합니다. (아마도 당신이 원하는 것이기 때문에 좋았습니다.)
Mehrdad
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.