Vì vậy, những gì tôi có thể thấy là mọi thứ đang diễn ra /dev/md125p2
và chúng tôi muốn giảm kích thước của PV này.
đầu ra của bạn từ pvs -v --segments /dev/md125p
cho thấy bạn có một không gian trống rất lớn (Kích thước==81947
) phía sau của cậu lv_mysql
và trước của bạn lv_root
. Cái này đủ lớn để chứa lv_root
và tất cả các của các LV xuất hiện sau nó trong bố cục vật lý.
Vì vậy, bộ số đầu tiên tôi đề xuất là:
***# pvmove --alloc ở mọi nơi /dev/md125p2:480745-488244 /dev/md125p2:384000+7499
nghĩa là, di chuyển toàn bộ lv_home
đến không gian trống bắt đầu ngay sau lv_mysql
.
Sau đó chạy lại pvs -v --segments /dev/md125p
để xem các số đã sửa đổi và di chuyển khối tiếp theo vào bất kỳ khoảng trống nào còn lại.
Điều này sẽ chống phân mảnh PV của bạn một cách hiệu quả.
Hiện nay, pvmove
có thể có đường nhiều tùy chọn hơn những gì tôi đang sử dụng (có thể chỉ định PV thay vì phạm vi?) nhưng điều tôi cảm thấy thoải mái là chỉ rõ ràng với các khối, vì vậy tất cả các nguồn và mục tiêu của tôi đều ở dạng /dev/<dev>:<Bắt đầu>-<Kết thúc>
hoặc /dev/<dev>:<Start>+<SSize-1>
.
Tôi nghi ngờ vấn đề của bạn chủ yếu là thiếu phạm vi của thông số kỹ thuật "nguồn" của bạn.
Tôi đã thấy một vài ví dụ về việc họ sử dụng -chấm dứt
- Tôi không biết nếu đó là một cái gì đó giả sử để làm việc, nhưng nó sẽ đặt ra câu hỏi "kết thúc Gì?". Vì vậy, tôi tránh nó và sử dụng các số khối rõ ràng. Bạn chỉ cần lưu ý rằng +
cú pháp là một thêmvà cần nhỏ hơn SSize một đơn vị.
Thêm
OK, về phía nguồn có vẻ như bạn có thể làm -tên lv_home /dev/md125p2
như một cách viết tắt của /dev/md125p2:480745-488244
- nhưng cũng lưu ý rằng điều này sẽ trở nên phức tạp hơn nếu lh_home
đã bị phân mảnh thành nhiều phạm vi (điều đó có nghĩa là "tất cả các mảnh?") - Tôi nghĩ rằng tôi vẫn thích cách tiếp cận số hơn. Lưu ý rằng ví dụ của bạn trong câu hỏi không bao gồm tên LV, vì vậy tôi không chắc chắn những gì pvmove
sẽ hiểu từ những gì bạn đã cho nó ...