Masalahnya
Tidak dapat melakukan lvresize, lvextend atau lvcreate pada volume logis dan kesalahan di bawah ini diterima setelah menjalankan perintah LVM apa pun:
device-mapper: resume ioctl on (major:minor) failed: Invalid argument Unable to resume vgname-lvname (major:minor) Failed to activate new LV
Solusinya
Kesalahan di atas dipicu jika beberapa kesalahan konfigurasi telah dilakukan dengan LVM. Masalah ini disebabkan ketika PSize (Ukuran Fisik) disetel lebih besar dari Ukuran Dev (Ukuran Perangkat). Itu dapat diverifikasi oleh output dari perintah di bawah ini:
# pvs -v Scanning for physical volume names PV VG Fmt Attr PSize PFree DevSize PV UUID /dev/xvdc testvg1 lvm2 a- 10.00G 5.00G 5.00G 2XEI4w-LmJi-iR3B-xXVU-XxK3-dfTf-WPZXF6
Di sini Anda dapat melihat bahwa PSize diatur ke 10G tetapi ukuran Perangkat sebenarnya hanya 5G dan karenanya PSize harus lebih kecil atau sama dengan DevSize. Anda juga dapat melihat perubahan yang dibuat dengan melihat file arsip lvm.
# cd /etc/lvm/archive # less testvg1_00000-320386444.vg description = "Created *before* executing 'pvresize --setphysicalvolumesize 10G /dev/xvdc'"
Di atas, ukuran volume fisik untuk file arsip disetel ke 10G yang mengakibatkan kerusakan atau penguncian fungsi LVM.
Rencana Tindakan
CATATAN :Karena Anda akan mengurangi ukurannya, jadi pertama-tama ambil cadangan lengkap untuk mencegah kehilangan data Anda dalam kasus terburuk karena ini adalah metode yang sangat berisiko dan Anda juga telah mengatur /root Anda pada volgroup yang sama.
1. Kembalikan semua perubahan yang dibuat ke volume logis Anda dan buat ke ukuran aslinya.
2. Kemudian gunakan pvresize -v /dev/xxxxx/xxxxx — berdasarkan konvensi penamaan Anda.
3. Sekarang periksa output pvs -v dan pastikan PVSize dan DEVSize cocok.
4. Akhirnya jalankan lvresize, itu akan berhasil.
Jika Anda ingin memperbesar ukuran volume fisik, pertama-tama buat partisi baru lalu inisialisasi dengan pvcreate dan tambahkan partisi ini ke volgroup yang ada dengan vgextend dan mulai prosedur normal untuk lv extend.
Contoh
Di bawah ini adalah contoh Rencana Aksi di atas:
1. Mengembalikan perubahan yang dibuat pada LV dan memastikan bahwa LVSize berada dalam batas Devsize.
# lvresize -L 4G /dev/testvg1/test_lv WARNING: Reducing active logical volume to 4.00 GB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce test_lv? [y/n]: y Reducing logical volume test_lv to 4.00 GB Logical volume test_lv successfully resized
2. Sekarang akan menggunakan pvresize -v /dev/xxxx/xxxx
# pvresize -v /dev/xvdc Using physical volume(s) on command line Archiving volume group "testvg1" metadata (seqno 9). Resizing physical volume /dev/xvdc from 2559 to 1279 extents. Resizing volume "/dev/xvdc" to 10485376 sectors. Updating physical volume "/dev/xvdc" Creating volume group backup "/etc/lvm/backup/testvg1" (seqno 10). Physical volume "/dev/xvdc" changed 1 physical volume(s) resized / 0 physical volume(s) not resized
3. Memverifikasi dengan perintah pvs -v:
# pvs -v Scanning for physical volume names PV VG Fmt Attr PSize PFree DevSize PV UUID /dev/xvdc testvg1 lvm2 a- 5.00G 1020.00M 5.00G 2XEI4w-LmJi-iR3B-xXVU-XxK3-dfTf-WPZXF6
Sekarang dimungkinkan untuk melihat PSize sama dengan DevSize.
4. Sekarang lakukan operasi normal lainnya dengan LVM Anda.
-
“mdadm:Tidak ada array yang ditemukan di file konfigurasi” – kesalahan saat menjalankan ‘mdadm –assemble –scan’
-
Volume "test_vg/lvol0" tidak aktif secara lokal – Kesalahan saat menjalankan lvcreate
-
“Perangkat /dev/mapper/mpath25 Tidak Ditemukan (atau Diabaikan Dengan Pemfilteran)” – kesalahan saat membuat volume fisik dengan pvcreate