บนเซิร์ฟเวอร์อินทราเน็ตของฉันฉันมีพาร์ติชัน / dev / sda5 100.00 GiB ซึ่งฉันใช้เป็นฟิสิคัลวอลุ่มสำหรับ lvm2
- เป็นฟิสิคัลวอลุ่มเดียวในกลุ่มวอลุ่มของฉัน vg01
- ปัจจุบัน vg01 มีโลจิคัลวอลุ่มหนึ่งรายการ lv01 โดยใช้ 100.00 GiB เต็ม - จริงแล้ว 99.99 GiB เนื่องจากการปัดเศษ (นั่นคือที่ที่ปัญหาเริ่มต้นขึ้น)
- lv01 มีระบบไฟล์ ext3 โดยใช้พื้นที่ทั้งหมด
ฉันต้องการลด lv01 เหลือประมาณ 97 GiB ดังนั้นฉันจึงสามารถสร้าง lv02 ได้โดยประมาณ 3 GiB (ฉันต้องการใช้สแนปชอต lvm)
สิ่งที่ฉันทำจนถึงตอนนี้:
e2fsck -f /dev/mapper/vg01-lv01
resize2fs /dev/mapper/vg01-lv01 97G
สิ่งนี้ใช้ได้ดี แต่ตอนนี้ฉันจะต้องวิ่ง
lvreduce --size ? /dev/mapper/vg01-lv01
และฉันไม่แน่ใจว่าต้องระบุค่าที่แน่นอน lvreduce
หน้าคนเตือนอย่างชัดเจนว่าขนาดที่เกิดขึ้นจะต้องไม่น้อยกว่าระบบไฟล์ ฉันไม่ต้องการทำให้มันใหญ่กว่าที่เป็นอยู่ แต่ตอนนี้ฉันมีตัวเลขต่างกัน:
- ฉันระบุ
97G
ใน resize2fs df -h
บอกว่ามันคือ 96 กรัมdf
บอกว่ามันคือ 100115936 1K-blocks- lvdisplay (แน่นอน) ยังคงรายงาน 99.99 GiB สำหรับโลจิคัลวอลุ่ม
ฉันจะต้องระบุlvreduce
อะไร
แก้ไข:
คำตอบที่ยอมรับในปัจจุบันให้วิธีแก้ปัญหาที่ดี อย่างไรก็ตามเพื่อที่จะรวมสิ่งต่าง ๆ ในสคริปต์ที่เป็นของแข็งเป็นต้นโดยทั่วไปฉันต้องการใช้การวัดที่แม่นยำแทน หรืออาจมีสคริปต์หรือเครื่องมือ (!) ที่เชื่อถือได้ซึ่งดำเนินการขั้นตอนการปรับขนาดทั้งหมดในขั้นตอนเดียว
resize2fs
เพื่อลดระบบไฟล์ลงเหลือ 90GiB หรือมากกว่านั้นจากนั้นโคลนรอบ ๆ ด้วยอาร์กิวเมนต์lvreduce
(ตามด้วยresize2fs
) เพื่อดูว่าอะไรดีที่สุด