Trên máy chủ mạng nội bộ của tôi, tôi có phân vùng 100.00 GiB / dev / sda5, mà tôi sử dụng làm khối lượng vật lý cho lvm2.
- Đó là âm lượng vật lý duy nhất trong nhóm âm lượng của tôi vg01.
- vg01 hiện chứa một khối lượng logic lv01, sử dụng 100.00 GiB đầy đủ - thực sự là 99,99 GiB do một số làm tròn (đó là khi vấn đề bắt đầu).
- lv01 chứa một hệ thống tệp ext3, sử dụng toàn bộ không gian.
Tôi muốn giảm lv01 xuống khoảng 97 GiB, vì vậy tôi có thể tạo lv02 với khoảng. 3 GiB (Tôi cần nó để chụp ảnh lvm).
Những gì tôi đã làm cho đến nay:
e2fsck -f /dev/mapper/vg01-lv01
resize2fs /dev/mapper/vg01-lv01 97G
Điều này đã làm việc tốt. Nhưng bây giờ tôi sẽ phải chạy
lvreduce --size ? /dev/mapper/vg01-lv01
Và tôi không chắc chắn, giá trị chính xác nào tôi sẽ phải chỉ định. Các lvreduce
trang người đàn ông cảnh báo một cách rõ ràng, rằng kích thước kết quả không phải là nhỏ hơn so với hệ thống tập tin. Tôi cũng không muốn làm cho nó lớn hơn nó phải thế. Nhưng bây giờ tôi có các số khác nhau:
- Tôi đã chỉ định
97G
trong resize2fs. df -h
nói, đó là 96 G.df
nói, đó là 100115936 khối 1K.- lvdisplay (tất nhiên) vẫn báo cáo 99,99 GiB cho âm lượng hợp lý.
Tôi sẽ phải xác định những lvreduce
gì?
Biên tập:
Câu trả lời hiện được chấp nhận cung cấp một cách giải quyết tốt đẹp. Tuy nhiên, để tích hợp những thứ như vậy vào các tập lệnh rắn, v.v., tôi thường thích sử dụng các phép đo chính xác thay thế. Hoặc có thể đã có một tập lệnh hoặc công cụ đáng tin cậy (!) Thực hiện toàn bộ quy trình thay đổi kích thước trong một bước?
resize2fs
để giảm hệ thống tập tin xuống còn 90GiB hoặc hơn, sau đó tìm kiếm các đối sốlvreduce
(theo sauresize2fs
) để xem cái gì hoạt động tốt nhất.