Defragmentasi volume logis LVM2

18

Pertanyaan: Apakah ada alat yang mendukung de-fragmentasi volume logis LVM2? (Membuat luasan mereka menjadi urutan yang konsisten)

Lebih disukai dengan mendefinisikan urutan luasan yang diinginkan (sesuatu seperti "partisi A pada awal disk, B setelah A, tetapi X pada ujung PV" )

Tentu saja kasus-kasus berikut harus dipertimbangkan:

  • VG terdiri dari satu PV
  • VG terdiri dari banyak PV, tetapi masing-masing LV duduk di satu PV
  • VG terdiri dari banyak PV, LV memiliki luasan di banyak PV

Apakah partisi dapat dilucuti atau tidak, dapat dibahas.

Tahu-bagaimana: Ini mungkin untuk memindahkan rentang luasan dengan pvmove, misalnya: pvmove --alloc anywhere /dev/sdb1:1000-1999 /dev/sdb1:0-999.

Alasan: Karena memindahkan banyak rentang secara manual dengan pvmoveadalah hal yang murni dapat diulang (dipertanyakan apakah tidak berotak atau tidak), saya ingin tahu apakah ada alat untuk mengotomatisasi / mendukung proses ini. Jika tidak ... mungkin melakukannya sendiri - apakah menurut Anda alat seperti itu akan bermanfaat bagi orang lain?

Grzegorz Wierzowiecki
sumber
Mungkin saja tidak ada alat karena tidak ada kasus penggunaan yang memerlukannya. Saya penasaran, mengapa Anda ingin defragment? Apakah ada teknologi disk di mana ada manfaat untuk ukuran luas tertentu (4MB)?
Gilles 'SANGAT berhenti menjadi jahat'
2
Mari kita perhatikan karakteristik kinerja HardDrive (bukan SSD) tradisional - awal disk menawarkan kinerja yang lebih baik daripada akhir. Itu faktor yang paling penting, mengapa Anda mungkin ingin memiliki luasan terkait dengan beberapa partisi untuk ditempatkan di awal.
Grzegorz Wierzowiecki
1
Untuk kontrol semacam itu, cara sederhana adalah mempartisi disk menjadi beberapa volume fisik.
Gilles 'SO- stop being evil'
1
Tetapi di sisi lain itu membuat lebih banyak kekacauan dalam file konfigurasi dan semua pengaturan kurang fleksibel. Saya percaya bahwa solusi seperti disebutkan oleh @JimParis LVM2 defragmenteratau pvmovemelakukan pekerjaan.
Grzegorz Wierzowiecki

Jawaban:

9

Saya telah menggunakan defragmenter LVM2 sebelumnya. Ini bukan yang paling sederhana atau yang terbaik ditulis, tetapi ia berhasil.

Jim Paris
sumber
Terlihat menarik. Saya perlu mencobanya.
Grzegorz Wierzowiecki
apakah Anda yakin defrag ini dapat membuatnya lebih mudah (berdasarkan itu) mengimplementasikan / membuat cara untuk memulihkan LV sebagian seperti yang dinyatakan mungkin (telah dilakukan) di sini serverfault.com/a/665826/163750 ?
Aquarius Power
1

Nah satu lagi alasan untuk defragmenting adalah untuk mengurangi kemungkinan kehilangan data saat menyusutkan volume logis. Alasan khusus untuk mengecilkan volume logis adalah untuk memungkinkan perluasan / boot dan partisi serupa pada hard drive komputer MBR yang lebih lama. Dalam kasus saya, peningkatan dari LTS 16.04.03 ke LTS 18.04.1 membutuhkan lebih dari 500MB yang dialokasikan untuk / boot oleh instalasi default asli.

Belum membaca ribuan baris kode sumber untuk lvm2 tetapi beberapa bantuan online / petunjuk wiki bahwa lvm2 menggunakan pemotongan yang cukup kasar ketika prosedur penyusutan volume logis digunakan - seolah-olah file dialokasikan di area yang dilepaskan oleh susut Anda mungkin perlu mengembalikan daftar file itu (berpotensi pengejaran angsa liar dengan sendirinya jika aplikasi atau paket sistem terlibat - atau jika daftar file pengguna Anda sangat besar).

Pengamatan
sumber