Apakah mungkin untuk mengubah kotak Linux ke LVM setelah fakta?

17

Server Linux saya menggunakan LVM karena saya mengganti mesin setahun yang lalu dan diinstal dari awal. LVM telah menjadi penyelamat dan saya suka fleksibilitasnya. Laptop Linux saya, bagaimanapun, terakhir terinstal sepenuhnya tiga tahun yang lalu, dan dengan demikian menggunakan partisi lurus.

Apakah mungkin - tanpa menginstal ulang - untuk mengubah sistem yang ada ke LVM? Jika demikian, alat apa yang dapat melakukan pekerjaan ini?

Saya berharap bahwa setiap sistem file untuk dibagikan dengan Windows pada sistem dual-boot tidak boleh LVM. Jika saya salah, tolong beri tahu saya, tetapi saya akan terkejut.

Eddie
sumber

Jawaban:

11

Ya, ini bisa dilakukan.

Ya, Anda dapat menggunakannya untuk sistem windows dual-boot, asalkan Anda menjadikan Windows partisi pertama, dan itu adalah partisi primer (bukan perluasan di dalam logika). Instruksi saya di sini tidak mencakup situasi ini, yang mengharuskan Anda memiliki pengalaman berurusan dengan dual boot. Jika Anda setelah pemasangan windows / linux dual-boot, jangan ikuti saran di bawah ini.


Aku akan pergi satu lebih baik: dengan hanya beberapa pengecualian, Anda harus dapat bermigrasi seluruh laptop Anda hidup , asalkan Anda menggunakan drive eksternal dengan kapasitas yang cukup.

Peringatan! Prosedur ini SANGAT BERBAHAYA! Ini mengasumsikan Anda memiliki pengetahuan yang mendalam tentang proses partisi, Anda memiliki partisi / boot terpisah, dan Anda tahu upaya yang gagal dapat meninggalkan Anda dengan instalasi yang rusak otak YANG TIDAK AKAN BOOT! ANDA TELAH DIPERINGATKAN!

Kamu akan membutuhkan:

  • / boot terletak di partisi yang terpisah. Jika Anda memiliki sistem file root gabungan (setiap isian dimasukkan ke /) maka ini tidak akan berfungsi.
  • Kemampuan untuk boot dari hard drive USB.
  • drive eksternal yang cukup besar untuk menampung semua data dan program di sistem yang ada. Pastikan untuk menjalankan "du /" dan tunggu hasil akhirnya, untuk merasakan jenis ruang yang Anda butuhkan.

Prosedur Umum (maafkan saya karena kurangnya beberapa perintah, saya menulis ini dengan sangat cepat):

  1. Pasang drive eksternal dan cari nama perangkatnya. Mari kita berpura-pura melihatnya sebagai / dev / sdb.
  2. Buat dua partisi di drive eksternal Anda. Dalam contoh kita, ini akan ditampilkan sebagai / dev / sdb1 dan / dev / sdb2.

    berpisah / dev / sdb

  3. Format partisi pertama sebagai ext2 atau ext3, dan berlabel "boot". Format partisi kedua pada drive eksternal sebagai jenis "Linux LVM".

  4. Dapatkan volume LVM yang baru dicetak dikenali oleh sistem menggunakan

    pvscan; vgscan

  5. Ukir sepotong volume LVM eksternal yang cukup besar untuk menahan seluruh hard drive laptop. Jika ragu, cukup gunakan semua ruang yang tersedia.

  6. Format volume berbasis LVM Anda sebagai ext3 atau sistem file apa pun yang menggelitik kesukaan Anda.

    mke3fs / dev / ExternalUSBVolume / ExternalRoot

  7. Untuk setiap pemasangan sistem file non-khusus , buat direktori pada disk eksternal Anda dan salin (dengan atribut) semua file Anda di setiap mount ke disk tersebut. Abaikan salinan mountpoint seperti / proc, dll. Karena ini "istimewa".

  8. buat mountpoints khusus dengan tangan, sehingga ada di drive eksternal Anda. Jangan mengisi mereka, pastikan nama dan izin cocok.
  9. (Sangat hati-hati) gunakan bootloader Anda untuk menginstal image boot di drive eksternal Anda, ke partisi / boot. Proses ini agak rumit sehingga saya akan menyerahkannya kepada Anda untuk menemukan info di tempat lain. Ini juga berbahaya jika Anda merusaknya - Anda bisa berakhir mencoba menimpa bootloader Anda di drive laptop Anda. Hati-hati.
  10. Nyalakan kembali laptop Anda. Ketika sedang melewati POST, pastikan untuk menentukan drive eksternal sebagai boot drive Anda. Pada titik ini, Anda harus memiliki (hampir atau kurang) replika hampir drive laptop Anda. (ke admin lain di luar sana: ya, saya tahu, file log dan lain-lain tidak dalam kondisi disalin 100%, tapi itu bukan penekanan di sini ... ini untuk mendapatkan data dan alat dipindahkan ...)
  11. Setelah Anda dapat mem-boot dari drive eksternal, Anda kemudian dapat menggunakannya untuk menghapus drive laptop Anda. Pada titik ini, Anda "hidup dari" drive eksternal Anda. Ingatlah ini.
  12. Kemudian gunakan editor partisi - gparted atau apa pun - untuk menghapus partisi laptop asli (bye-bye data ...), lalu tandai area yang baru dicetak sebagai "LVM". Ikuti proses untuk membuat volume LVM Anda dikenali, dipartisi, diformat, dll.
  13. Menggunakan proses mirroring LVM, mirror sistem hidup Anda (yang saat ini ada di drive eksternal) kembali ke drive laptop. Istirahat makan siang (atau dua) untuk ini karena akan memakan waktu.
  14. Remount sistem file langsung, pindahkan sistem file / dari drive eksternal ke volume LVM laptop Anda.
  15. Jalankan kembali proses instalasi bootloader Anda. Ini sangat penting karena ramdisk saat ini tidak akan memiliki pengaturan yang tepat dan tidak akan tahu Anda telah memindahkan banyak hal. Gagal melakukan ini akan menghasilkan sistem yang tidak bisa di-boot dan mengunjungi disk penyelamat. Jika semuanya gagal, Anda dapat mem-boot dari drive eksternal Anda lagi (tidak ada yang hilang ...)
  16. Reboot laptop tanpa drive eksternal terpasang, dan tentukan drive internal laptop sebagai gantinya. Seharusnya boot dengan baik. Catat apa pun yang terasa atau terlihat sakit atau patah (tidak boleh ada apa pun), dan perbaiki.
  17. Duduk dan nikmati minuman untuk pekerjaan yang dilakukan dengan baik.
Avery Payne
sumber
3
Tentu saja mungkin untuk melakukan migrasi langsung ke penyimpanan eksternal (jika Anda cukup berani, Anda bahkan dapat memutar sistem yang sedang berjalan ke disk eksternal dan kembali tanpa reboot: D); melakukan seluruh proses dari live CD harus kesalahan kurang rentan meskipun (misalnya Feasibility maya keluar dari jalan ...)
Luca Tettamanti
2
Dan omong-omong, LILO dan versi baru GRUB (yang akhirnya akan menjadi 2.0) memiliki dukungan asli untuk LV - tidak perlu untuk partisi / boot terpisah.
Luca Tettamanti
Aku tahu. Tapi saya pikir "lebih baik aman daripada menyesal". Memiliki partisi asli membuat memperbaiki hal-hal sedikit lebih mudah. Mungkin OP harus menggunakan alat berbasis windows yang tidak mengerti LVM (banyak yang tidak) - dalam hal ini, setidaknya dia dapat memodifikasi menu. Pertama dengan grub, dll sesuai kebutuhan. Tapi terima kasih atas masukannya! :)
Avery Payne
6

Baru-baru ini saya menulis blok (née lvmify) yang melakukan konversi ini di tempat. Dibutuhkan satu partisi, menyusutkan filesystem jika perlu, memindahkan awal filesystem ke akhir partisi, dan menyalin superblock LVM (prakonfigurasi dengan PV / LV / VG yang tepat) sebagai gantinya. Jika Anda memiliki beberapa partisi, menggabungkan grup volume yang baru dibuat dilakukan dengan vgmerge. Itu tidak dapat bekerja pada sistem file yang di-mount.

Gabriel
sumber
2
Saya baru saja memigrasikan partisi 2 ext4 saya (total 120GB) ke LVM dalam waktu sekitar 2 menit menggunakan blok. Bekerja dengan sempurna.
Amr Mostafa
3

Cara termudah untuk memindahkan sistem linux ke LVM adalah dengan menggunakan disk eksternal (USB, eSATA) dan sistem berbasis CD-ROM seperti grml untuk memindahkan semua data dari PC ke disk eksternal, kemudian mempartisi ulang PC dengan LVM. Akhirnya salin semuanya kembali dan konfigurasikan dan instal ulang grub ke MBR.

Prosedur ini sedikit terlibat, tetapi Anda selalu memiliki data pada drive eksternal dan CD-ROM untuk mem-boot sistem Anda.

Seperti yang Anda harapkan dengan benar, Windows tidak dapat mengakses volume LVM.

David Schmitt
sumber
1

Mulai dari bawah: tidak, windows tidak dapat membaca volume logis LVM (partisi).

Jika Anda memiliki disk cadangan yang dapat digunakan sebagai penyimpanan sementara, itu hanya masalah mem-boot dari CD langsung, menyalin data ke lokasi sementara, membuat satu atau lebih LV dan mengembalikan data. Tidak praktis (tetapi mungkin) untuk melakukan konversi di tempat ke LVM; Anda pada dasarnya harus mengecilkan partisi lama dan mengubah ukuran LV beberapa kali (dan LV akhir akan terfragmentasi)

Luca Tettamanti
sumber
1

Anda memiliki instalasi lama beberapa tahun di laptop. Itu adalah proposisi yang hilang untuk mengubahnya menjadi LVM. Cadangkan data Anda, instal ulang, dan salin kembali data Anda. Anda akan memiliki sistem bersih dengan perangkat lunak baru, dan data Anda.

Jika Anda tidak dapat melakukan ini karena Anda tidak tahu di mana data Anda, Anda memiliki masalah besar dan ini adalah kesempatan Anda untuk menyelesaikannya.

carlito
sumber
1

http://serialized.net/2006/04/migrating-live-filesystems-to-lvm/ memiliki cara yang menarik untuk melakukan migrasi live fs. Tambahkan itu sebagai bagian dari grup RAID-1, yang kemudian dicerminkan oleh OS ke perangkat lain (yang bisa berupa volume logis LVM). Agak ketinggalan jaman, jadi saya tidak tahu apakah itu masih bekerja.

Brian Minton
sumber
0

Anda mungkin harus membuat cadangan data ke drive atau partisi lain (atau iso?), Membuat wadah LVM, dan kemudian mengembalikan data ke wadah.

Brent
sumber