[root@localhost ~] vgdisplay
--- Volume group ---
VG Name vg_root
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 297,59 GiB
PE Size 4,00 MiB
Total PE 76182
Alloc PE / Size 59392 / 232,00 GiB
Free PE / Size 16790 / 65,59 GiB
VG UUID XXXXXXXXXX
PV:
[root@localhost ~] pvdisplay
--- Physical volume ---
PV Name /dev/mapper/udisks-luks-uuid-ASDFASDF
VG Name vg_root
PV Size 297,59 GiB / not usable 2,00 MiB
Allocatable yes
PE Size 4,00 MiB
Total PE 76182
Free PE 16790
Allocated PE 59392
PV UUID YYYYYYYYYYY
Jadi saya punya VG dengan ruang kosong 65 GByte. Tetapi ketika saya ingin mengecilkan Volume Group ini sekitar ~ 50 GByte:
pvresize -tv --setphysicalvolumesize 247G /dev/mapper/udisks-luks-uuid-ASDFASDF
Test mode: Metadata will NOT be updated and volumes will not be (de)activated.
Using physical volume(s) on command line
Test mode: Skipping archiving of volume group.
/dev/mapper/udisks-luks-uuid-ASDFASDF: Pretending size is 517996544 not 624087040 sectors.
Resizing volume "/dev/mapper/udisks-luks-uuid-ASDFASDF" to 624087040 sectors.
Resizing physical volume /dev/mapper/udisks-luks-uuid-ASDFASDF from 0 to 63231 extents.
/dev/mapper/udisks-luks-uuid-ASDFASDF: cannot resize to 63231 extents as later ones are allocated.
0 physical volume(s) resized / 1 physical volume(s) not resized
Test mode: Wiping internal cache
Wiping internal VG cache
Jadi pesan kesalahannya adalah:
cannot resize to 63231 extents as later ones are allocated.
T: Bagaimana saya bisa mendefrag vg_root sehingga saya dapat menghapus bagian yang tidak dibutuhkan itu?
ps: Saya sudah mengetahui bahwa saya hanya perlu mengubah ukuran PV untuk mengubah ukuran VG, atau adakah perintah yang lebih baik untuk melakukan perubahan ukuran VG (mis .: apa yang dapat saya lakukan jika saya ingin beberapa VG menggunakan PV? ... )?
sumber
sudo pvmove --alloc anywhere /dev/sdX2:60000-76182 /dev/sdX2:3000-19182
Ini adalah langkah-langkah yang diperlukan untuk mengubah ukuran partisi LVM atau LVM2:
Perintah terakhir
pvresize
,, dapat menghasilkan kesalahanAnda harus mengatur ulang ruang yang tidak terisi di akhir LVM. Itu berarti setelah partisi root dan swap_1. Anda dapat melihat pengaturan ruang saat ini dengan perintah ini
pvs
akan menampilkan output seperti iniSekarang gunakan
pvmove
untuk menghapus fragmentasi eksternal:Sekarang mari kita lihat apakah perpindahan volume swap berhasil.
harus menunjukkan volume pesanan baru:
Setelah itu, gunakan GParted dan ubah ukuran LVM ke area maksimum yang digunakan. Sisanya akan berada di ruang yang tidak terisi.
sumber
pvmove --alloc anywhere /dev/sda5:yyyy-end 0-newend
"newend" yang dihitung sebagai akhir - yyyy. Namun saya tidak yakin apakah ini berfungsi jika ruang kosong di awal lebih kecil dari kisaran yang akan dipindahkan. Juga saya pikir ada kesalahan ketik pada output pvs Anda, saya pikir Anda maksudkan/dev/sda5:0-xxx
bukan/dev/sda:0-xxx
.--resizefs
Parameterlvresize
sudah mengatur ukuran sistem file yang mendasarinya.Posting lama ini mencakup jenis penyusutan sehingga Anda dapat menggunakan ruang baru untuk hal lain. Anda harus mengubah ukurannya menjadi data namun sebelumnya. Ini harus mencakup itu dan kesalahan lain yang Anda dapatkan juga. Karena sudah lebih tua, baca dulu:
sumber
saya menggunakan metode ini, tidak yakin apakah itu yang terbaik tetapi bekerja untuk saya
menghitung perbedaan yang menyebabkan masalah
324% 4 = 0 tidak ada masalah
tapi
324% 32 = 10.125
itulah masalahnya sehingga tidak cocok
saya pikir itu disebut "dapatkan bilangan real"
untuk daftar partisi yang terlibat
kemudian
saya harus menambahkan 4M ekstra untuk bekerja, saya pikir ini terkait dengan ukuran PE lama
akhirnya
sumber
Jawaban sebelumnya membantu saya memecahkan masalah ini, tetapi saya perlu mengotomatiskannya dan menulis pvshrink
Ini memanggil pvmove untuk Anda sebanyak yang diperlukan untuk defragment PV, dan kemudian mengubah ukurannya ke ukuran minimum yang mungkin (yang sedikit lebih dari ukuran yang digunakan karena metadata).
sumber