apakah mungkin untuk secara bersamaan me-mount 2 volume LVM yang merupakan salinan tepat satu sama lain (UUID yang sama)?

11

Saya telah mengkloning (menggunakan dd) hard drive dalam sistem live ke beberapa hard drive cadangan. Partisi root dalam sistem live adalah volume LVM. Salinan cadangan dimaksudkan sebagai pengganti drop-in untuk dokumen asli dan ini berarti mereka harus memiliki UUID yang sama dengan master.

Pertanyaan cepat: apakah mungkin untuk memasang salah satu HD cadangan pada sistem langsung? Ketika saya mencoba untuk melakukannya LVM dapat dimengerti tentang hal ini karena UUID dan nama grup volume yang sama. Mengikuti petunjuk yang ditemukan di [jawaban ini] [1] untuk pertama kali mengganti nama grup LVM asli, saya telah mencoba:

  1. menghubungkan HD cadangan eksternal ke port USB

  2. running (perhatikan bahwa string 'test' adalah nama grup pada sistem ini)

# vgrename test test-live
Volume group "test" successfully renamed to "test-live"
vgscan --mknodes
Reading all physical volumes.  This may take a while...
Found duplicate PV qWUadGaM2MU1UAJ5Spp8upD6fbddk7Zb: using /dev/dm-3 not /dev/dm-0
Found volume group "test" using metadata type lvm2
# vgchange -ay
Found duplicate PV qWUadGaM2MU1UAJ5Spp8upD6fbddk7Zb: using /dev/dm-3 not /dev/dm-0
2 logical volume(s) in volume group "test" now active

Pada titik ini saya diharapkan dapat mengakses volume logis individu di bawah /dev/test/. Menjalankan lvdisplaymenghasilkan.

Found duplicate PV qWUadGaM2MU1UAJ5Spp8upD6fbddk7Zb: using /dev/dm-3 not /dev/dm-0

  --- Logical volume ---
  LV Name                /dev/test/root
  VG Name                test
  LV UUID                UuKUH3-yzPo-CbOz-tU4B-W6om-qdMn-0XSNZU
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                126.48 GiB
  Current LE             32378
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

  --- Logical volume ---
  LV Name                /dev/test/swap_1
  VG Name                test
  LV UUID                OGJhJu-QByo-6AzG-sk1x-jh3e-dU9L-sHk91t
  LV Write Access        read/write
  LV Status              available
  # open                 2
  LV Size                3.90 GiB
  Current LE             999
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

Namun, /dev/test/tidak ada sama sekali dan oleh karena itu saya tidak dapat mengakses volume logis di /dev/test/rootdan /dev/test/swap_1seperti yang disarankan lvdisplay.

laramichaels
sumber
Opini: Jika Anda memiliki cadangan, Anda benar-benar harus mencari untuk menempatkannya dalam konfigurasi RAID (jika bahkan perangkat lunak RAID untuk menghemat koin) daripada memilih solusi seperti ini. RAID1 atau bahkan RAID5 keduanya merupakan opsi yang baik.
Garrett

Jawaban:

0

Inti dari UUID adalah untuk mengidentifikasi sesuatu secara unik, dan apa yang Anda coba lakukan menjadikannya tidak unik. Saya sangat ragu bahwa ini mungkin. Saya bermain-main dengan pvchange -uuntuk mengubah UUID dari duplikat PV, tetapi operasi selalu gagal.

Jika Anda benar-benar perlu me-mount cadangan pada live host, saya sarankan Anda membuat cadangan LV secara individual (yaitu membuat PV, VG dan LV baru pada perangkat cadangan dan dd setiap LV secara terpisah).

Mgorven
sumber
17

Jika Anda ingin me-mount lv's dari clone disk, saya menemukan metode yang berguna ini di sini http://www.linuxquestions.org/questions/linux-hardware-18/unable-to-change-uuid-of-cloning-drive- device-left-open-4175470893 /

vgimportclone -n orignalvgname_clone   /dev/sdx [/dev/sdy....]

sdx, sdy .. adalah disk yang dikloning yang membentuk vg.

vgchange -ay orignalvgname_clone

Setelah ini, Anda harus dapat me-mount lvs dari disk yang dikloning.

trekkerboy
sumber
4
Ini harus menjadi jawaban yang diterima. Bekerja untuk saya, terima kasih!
neuviemeporte
Ini berfungsi dan vgimportclone melakukan apa yang disarankan namanya. Dalam kasus saya, saya harus menentukan semua disk dan partisi yang membangun vg- misalnya vgimportclone -n orignalvgname_clone /dev/sdx /dev/sdx2 /dev/sdx5tapi jelas ini mungkin sangat berbeda dari kasus ke kasus.
Jey DWork
3

Jawaban oleh trekkerboy / modonnell @ linuxquestions sangat mudah, gunakan vgimportclone.

Perhatikan juga bahwa setelah Anda membuat klon, Anda harus mengaktifkannya vgchange -a y newvgname, dan Anda harus membersihkan node perangkat oldvgname dengan dmsetup remove /dev/oldvgname/*.

Sebagai referensi, berikut ini adalah metode yang lebih manual, yang tampaknya menyerupai subset dari apa yang dapat dibaca di sumber vgimportclone.


Anda dapat melakukannya jika pertama-tama Anda dapat menonaktifkan manajemen salinan asli untuk sementara, dengan menambahkan pola yang cocok dengan yang asli ke dalam devicesfilter lvm.conf. Misalnya, jika Anda dikloning /dev/sdxke dalam /dev/sdy, Anda harus menambahkan sementara /dev/sdxke filterdalam devices { ... }bagian.

Perangkat asli akan tetap online, tetapi alat LVM akan mengabaikannya. Sistem file yang terpasang pada mereka akan tetap terpasang dan operasional, yang tidak digabungkan dengan manajemen LVM.

Setelah filter di tempat, lakukan yang baru vgscan, untuk memastikan duplikat dan hanya mereka sekarang di bawah manajemen LVM. Anda dapat memastikan Anda melihat /dev/sdyperangkat duplikat melalui mis pvs.

Lalu lakukan:

vgchange -a n originalvgname

Ini akan menonaktifkan grup volume yang dipanggil originalvgname, tetapi karena hanya perangkat duplikat yang terlihat, itu akan menonaktifkannya pada mereka (aslinya originalvgnamesudah tidak terlihat karena filter di atas). Langkah ini diperlukan agar Anda dapat mengubah atribut grup volume yang sekarang tidak aktif dan volume fisik konstituennya.

pvchange -u physicaldevice
vgchange -u originalvgname

Ini akan memberikan UUID baru ke duplikat.

vgrename originalvgname newvgname

Ini akan mengubah nama grup volume yang digandakan.

Setelah itu, Anda dapat menghapus filter dari lvm.confdan memindai ulang lagi, dan kedua set perangkat LVM akan terlihat, dengan nama dan UUID yang berbeda.

Atau, jika Anda tidak benar-benar tertarik untuk menjaga nama VG asli dan UUID PV / VG, Anda dapat membuangnya, sebagai gantinya, lih. /superuser/256061/lvm-and-cloning-hds

Josip Rodin
sumber
'Salinan asli' adalah salinan cadangan atau sumber cadangan (yang ditayangkan)? Maka Anda menyarankan untuk menonaktifkan sistem langsung dan mengubahnya UUID, benar?
catpnosis
1
@catpnosis Sumber cadangan, tetapi hanya manajemennya . Semuanya tetap online, tetapi alat LVM untuk sementara tidak dapat melihat yang asli. Alat LVM kemudian mendeteksi duplikat, dan dapat menggunakan kembali yaitu mengubah UUID mereka. Dan setelah Anda selesai, Anda mengizinkan mereka untuk melihat semuanya, yang kemudian akan berfungsi karena UUID tidak lagi berbenturan.
Josip Rodin
Terima kasih. Ini pendekatan yang menarik. Sulit dimengerti. "Ini akan menonaktifkan grup volume pada perangkat duplikat" - tetapi tidak juga?
catpnosis
1
@catpnosis akan diaktifkan oleh sebelumnya vgscansecara otomatis, itu hanya berarti bahwa pada saat itu alat LVM melihat duplikat (dan bukan yang asli). Intinya adalah Anda tidak harus mengaktifkan keduanya pada saat yang sama - salah satu atau yang lain, bukan keduanya. Segera setelah Anda masuk ke kondisi di mana Anda hanya melihat duplikatnya, maka Anda bisa mengoperasikannya.
Josip Rodin
0

Saya mengalami masalah ini baru kemarin. Saya memiliki konfigurasi filesystem (LVM (MD (sda, sdb, sdc-syncing-only-week-only))) di Linux, dan diperlukan untuk mengakses data lama di sdc.

Saya agak memecahkan masalah dengan melampirkan cadangan disk (sdc) ke VM. Ini adalah operasi yang aman selama saya melampirkan disk dengan "qemu ... -drive file = / dev / sdc, readonly" (atau gunakan opsi snapshot untuk konfigurasi copy-on-write).

Taisuke Yamada
sumber