Bagaimana cara mengecilkan volume root logis (LV) pada LVM?

11

Saya tidak perlu mengecilkan partisi MBR, hanya volume logis yang berisi sistem file root “/”. Sekarang ~ 200GB, dan saya perlu mengecilkannya menjadi ~ 150GB untuk memberi ruang bagi volume logis baru. Bagaimana saya melakukannya?

Michael Kropat
sumber

Jawaban:

23

SEBELUM ANDA MENGUBAH APA PUN PASTIKAN ANDA MEMILIKI CADANGAN SAAT INI. Ini semua bekerja untuk saya, tetapi mungkin tidak berhasil untuk Anda. Jika meledak karena alasan tertentu, Anda tidak ingin kehilangan apa pun yang tidak dapat Anda pulihkan. Melanjutkan ...

Tidak mungkin (sepengetahuan saya) untuk mengecilkan sistem file saat sedang di-mount, jadi kita perlu melakukan perubahan ukuran aktual dari Live CD. Semua instruksi berikut menganggap Anda telah mem-boot dari CD Instalasi Desktop 11.10.

Setelah Live CD melakukan booting ke desktop, buka Terminal.

Alat LVM tidak terintegrasi dengan Live CD, jadi pertama-tama kita harus menginstalnya:

sudo apt-get install lvm2

Temukan nama Volume Group (selanjutnya "somevg") yang berisi root Volume Logika:

sudo lvs

(Jika tidak muncul, coba jalankan sudo lvmdiskscandan sudo pvscancoba lagi.)

Jika Anda menjalankan, ls /dev/mapper/Anda mungkin melihat bahwa Logical Volume tidak muncul. Jika tidak ada di sana, Anda perlu menjalankan perintah berikut untuk membuat kernel mengetahui volume logis:

sudo vgchange --available y <somevg>

Karena kita belum menginstal sistem file root, itu harus aman untuk mengubah ukuran. Lanjutkan untuk melakukan pengubahan ukuran aktual Volume Logika. Perhatikan bahwa perintah ini ( --size -50G) mengecilkan volume hingga 50GB - baca halaman manual lvreduce (8) untuk mempelajari cara menentukan ukuran yang berbeda.

sudo lvreduce --resizefs --size -50G /dev/<somevg>/root

(Volume Logical Saya disebut "root", tetapi Anda mungkin diberi nama yang berbeda.)

Perintah ini pertama-tama akan mengecilkan sistem file, kemudian mengecilkan Logical Volume yang berisi itu, yang merupakan satu-satunya cara aman untuk melakukannya.

Anda sekarang dapat me-restart sistem dan mem-boot ke sistem file root yang sudah diubah ukurannya.

Michael Kropat
sumber
Instruksi ini tidak berfungsi. lvsmenunjukkan ukuran baru yang benar, tetapi GPartedmasih menunjukkan LVM dengan ukuran aslinya. Yang Anda lakukan hanyalah menjelaskan cara menyusutkan sistem file, bukan partisi. Partisi masih mengambil jumlah ruang disk asli.
Cerin
Apakah Anda mungkin mencoba untuk mengecilkan partisi VG dan / atau MBR di samping LV? Instruksi ini hanya untuk menyusutkan LV. Saya akan memperbarui pertanyaan karena (saya melihat setelah membaca ulang) tidak terlalu jelas.
Michael Kropat
asumsi Anda tidak benar. Mengubah ukuran secara online (saat partisi dipasang dan digunakan) dari partisi ext3 / ext4 telah ada sejak lama. Saya sering menggunakan ini, dan tidak pernah memiliki masalah dengan itu. Dan ya, saya memiliki cadangan saat ini setiap saat.
Floyd
@ Floyd: Anda kebetulan mengutipnya? Saya menyadari bahwa mengubah ukuran online dimungkinkan saat memperpanjang, tetapi tidak ketika menyusut. Jika penyusutan online sekarang mungkin, itu akan menjadi berita keren.
Michael Kropat
4
@ Floyd, ext3 / 4 mendukung TUMBUH online, tetapi tidak menyusut.
psusi
4

Baik lvresizedan lvreducesekarang mendukung ukuran kembali sistem file sebelum menyusut volume logis.

Ini adalah cuplikan dari halaman manual di CentOS 6.5

-r, --resizefs
       Resize underlying filesystem together with the logical volume using fsadm
jlmontes
sumber
3

Setiap partisi dan pengubahan ukuran LV harus dilakukan pada partisi yang tidak di-mount, jadi Anda harus boot dari disk instalasi Ubuntu atau USB stick, jalankan sebagai live CD, sambungkan ke Internet, instal lvm2

sudo apt-get install lvm2

... atau Anda dapat menggunakan CD cadangan Linux yang sudah lvm2tersedia. Kemudian pastikan, bahwa root LV Anda belum diinstal, oleh

mount 

dan unmount ketika diperlukan, kemudian lakukan pemeriksaan filesystem

e2fsck -f /dev/yourVG/yourLV 

pada LV ini. Kemudian menyusutkan sistem file

resize2fs /dev/yourVG/yourLV 150G

dan mengurangi LV

lvreduce -L -50G /dev/yourVG/yourLV

Reboot ke sistem Anda, selamat menikmati!

Empedu
sumber
3
+1 Terima kasih atas bantuan Anda. Saya mencari jawaban untuk pertanyaan saya setelah saya menanyakannya. Alat LVM sekarang memiliki --resizefsopsi yang tampaknya berfungsi dan memungkinkan Anda melewati satu langkah.
Michael Kropat