Thay đổi kích thước khối lượng logic và hệ thống tệp lvm2: Kích thước chính xác?


10

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 lvreducetrang 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 97Gtrong 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 lvreducegì?

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?


3
Bạn có thể sử dụng 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 sau resize2fs) để xem cái gì hoạt động tốt nhất.
larsks

@larsks: Ý tưởng tuyệt vời (vì resize2fs có thể tự động điều chỉnh theo kích thước phân vùng, trong khi lvreduce không thể điều chỉnh tự động theo kích thước fs). Nếu không ai biết câu trả lời chắc chắn cho câu hỏi của tôi, tôi nghĩ đây sẽ là giải pháp.
Chris Lercher

Tại sao không chỉ chuyển cùng kích thước vào lvreduce? Trừ khi bạn tạo một lỗi chính tả, nên nhận ra nó có cùng kích thước và không thay đổi kích thước lại. Và nếu bạn mắc lỗi đánh máy, ít nhất bạn đã tránh phá hủy hệ thống tập tin của mình. lvreduce -r -L 97g / dev / mapper / vg01-lv01
Bill

Câu trả lời:


5

Theo kinh nghiệm của tôi, LVM và resize2fs có cùng ý tưởng về "97G" nghĩa là gì, vì vậy việc chỉ định cùng kích thước ở cả hai nơi sẽ ổn. Tuy nhiên, tôi bị hoang tưởng và bất cứ nơi nào có thể luôn sử dụng chiến lược được đề xuất bởi những người tham gia câu hỏi và thay đổi kích thước thành một GB nhỏ hơn tôi muốn, thực hiện kích thước lvresize theo kích thước tôi muốn và sau đó chạy lại resize2fs (không có kích thước) để cho phép nó mở rộng ra ngoài để lấp đầy toàn bộ LV.


Tôi nghĩ, điều quan trọng là "hoang tưởng" ở đây - bởi vì không chỉ có khả năng các tệp hiện tại bị hỏng: Nếu hệ thống tệp lớn hơn LV, tôi cho rằng nó có thể phát tàn phá với các khối lượng sau bất cứ lúc nào trong tương lai.
Chris Lercher

Không, LVM sẽ cấm mọi nỗ lực viết vượt quá cuối LV, vì vậy không có LV nào khác có thể bị hỏng. Tuy nhiên, nếu hệ thống tập tin bị cắt ngắn, nó sẽ dẫn đến kết quả khá thảm khốc.
womble

Điều đó thật thú vị - Tôi không biết rằng nó kiểm tra mỗi lần viết! Tốt để biết.
Chris Lercher

14

Tôi nghĩ rằng điều này được thực hiện tốt nhất bằng cách sử dụng tùy chọn --resizefs để lvreduce / lvresize:

   -r, --resizefs
          Resize underlying filesystem together with the logical volume using fsadm(8).

Phải thừa nhận rằng điều đó không giúp ích gì cho bạn bây giờ , nhưng nó có thể trong tương lai.


Đó là những gì tôi đang tìm kiếm! Nó dường như là một tùy chọn mới: Đó là trong phiên bản 2.02.74 (2) -RHEL nhưng nó bị thiếu trong phiên bản 2.02.66 của các công cụ LVM của tôi .
Chris Lercher

1
Khi tôi đã thay đổi kích thước fs bằng các công cụ khác, tùy chọn này đã loại bỏ cảnh báo thông thường và in thông báo "Hệ thống tập tin đã dài 3932160 khối. Không có gì để làm!" Đúng như mong muốn.
D Coetzee

Ngay cả trong năm 2020, không có một số hướng dẫn nào về việc mở rộng / thu hẹp khối lượng lvm do Google đề xuất trên trang kết quả tìm kiếm đầu tiên của nó đề cập đến tùy chọn này. Cảm ơn rất nhiều!
Ivan Shatsky
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.