Làm cách nào để xác định kích thước mới cho resize2fs?


22

Tôi muốn thu nhỏ một hệ thống tập tin ext4 để dành chỗ cho một phân vùng mới và bắt gặp resize2fschương trình. Lệnh này trông như thế này:

resize2fs -p /dev/mapper/ExistingExt4 $size

Làm cách nào để xác định $sizexem tôi có muốn trừ chính xác 15 GiB từ hệ thống tệp ext4 hiện tại không? Tôi có thể sử dụng đầu ra của một số dfcách?

Câu trả lời:


39

Bạn không nên sử dụng dfvì nó hiển thị kích thước như được báo cáo bởi hệ thống tập tin (trong trường hợp này là ext4).

Sử dụng dumpe2fs -h /dev/mapper/ExistingExt4lệnh để tìm ra kích thước thực của phân vùng. Các -hlàm cho tùy chọn dumpe2fshiển thị thông tin khối siêu mà không có nhiều chi tiết không cần thiết khác. Từ đầu ra, bạn cần số khốikích thước khối .

...  
Số khối:               19506168  
Số lượng dự trữ: 975308  
Khối miễn phí: 13750966  
Inodes miễn phí: 4263842  
Khối đầu tiên: 0  
Kích thước khối:                4096  
...

Nhân các giá trị này sẽ cho kích thước phân vùng theo byte . Các con số trên xảy ra là bội số hoàn hảo của 1024:

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

Vì bạn muốn thu nhỏ phân vùng thêm 15 GiB (tức là 15 MiB nhân 1 KiB):

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

Khi resize2fschấp nhận một số loại hậu tố, một trong số chúng là K"1024 byte", lệnh thu nhỏ phân vùng thành 62296032 KiB trở thành:

resize2fs -p /dev/mapper/ExistingExt4 62296032K

Không có đơn vị, số sẽ được hiểu là bội số của kích thước khối của hệ thống tệp (4096 trong trường hợp này). Xem người đàn ông thay đổi kích thước2fs (8)


3
man resize2fs: Tùy chọn, tham số kích thước có thể được thêm vào bởi một trong các chỉ định đơn vị sau: 's', 'K', 'M' hoặc 'G', cho các cung 512 byte, kilobyte, megabyte hoặc gigabyte, tương ứng . Có thể đơn giản hơn so với làm tính toán khối.
lkraav

1
Bạn không bỏ lỡ một klúc resize2fs -p /dev/mapper/ExistingExt4 62296032?
Sopalajo de Arrierez

@SopalajodeArrierez Bạn nói đúng, một số vốn Kbị thiếu. Nếu không có thư này, resize2fs sẽ khiếu nại trong trường hợp của tôi vì kích thước lớn hơn đĩa thực.
Lekensteyn

2
dumpe2fskhông báo cáo kích thước phân vùng; nó thực sự báo cáo kích thước của hệ thống tập tin. (Điều này là tốt, bởi vì đó có thể là những gì bạn muốn.)
Mehrdad
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.