birbirinin tam kopyası olan 2 LVM birimini aynı anda monte etmek mümkün mü (aynı UUID'ler)?


11

Canlı bir sistemdeki sabit diski birden çok yedek sabit sürücüye klonladım (dd kullanarak). Canlı sistemdeki kök bölümü bir LVM birimidir. Yedek kopyalar, orijinalin yerine konacak yedek parçalar olacak şekilde tasarlanmıştır ve bu, master ile aynı UUID'ye sahip olmaları gerektiği anlamına gelir.

Kısa soru: Yedek HD'lerden birini canlı sisteme monte etmek mümkün mü? Bunu yapmaya çalıştığımda LVM, aynı UUID'ler ve birim grubu adları nedeniyle bu konuda anlaşılır bir şekilde karışık. İlk olarak orijinal LVM grubunu yeniden adlandırmak için [bu cevap] [1] 'de bulunan ipucunu takiben denedim:

  1. harici yedekleme HD'yi bir USB bağlantı noktasına bağlama

  2. running ('test' dizesinin bu sistemdeki grup adı olduğunu unutmayın)

# 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

Bu noktada, altındaki bireysel mantıksal hacimlere erişebilmeyi beklerdim /dev/test/. Koşu lvdisplayüretir.

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

Ancak, /dev/test/hiç yok ve bu nedenle lvdisplay'in önerdiği gibi /dev/test/rootve mantıksal hacimlere /dev/test/swap_1erişemiyorum.


Görüş süresi: Yedek diskleriniz varsa, bunun gibi bir çözüm yerine ayakkabı atmak yerine onları bir RAID yapılandırmasına (biraz para kazanmak için yazılım RAID'i bile olsa) koymaya çalışmalısınız. RAID1 ve hatta RAID5'in her ikisi de iyi seçeneklerdir.
Garrett

Yanıtlar:


0

UUID'lerin asıl amacı bir şeyi benzersiz bir şekilde tanımlamaktır ve yapmaya çalıştığınız şey onları benzersiz kılmaz. Bunun mümkün olduğundan şüpheliyim. pvchange -uÇoğaltılan bir PV'nin UUID'sini değiştirmek için birlikte oynadım , ancak işlem her zaman başarısız oldu.

Yedeklemeleri canlı ana bilgisayara gerçekten bağlamanız gerekiyorsa, LV'leri ayrı ayrı yedeklemenizi öneririz (yani yedekleme cihazında yeni bir PV, VG ve LV oluşturun ve her LV'yi ayrı ayrı dd).


17

LV'leri bir klon diskten monte etmek istiyorsanız, bu yararlı yöntemi burada buldum http://www.linuxquestions.org/questions/linux-hardware-18/unable-to-change-uuid-of-cloned-drive- cihaz sol açık 4175470893 /

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

sdx, sdy .. vg'yi oluşturan klonlanmış disklerdir.

vgchange -ay orignalvgname_clone

Bundan sonra lvs'yi klonlanmış diskten monte edebilmelisiniz.


4
Bu kabul edilen cevap olmalı. Benim için çalıştı, teşekkürler!
neuviemeporte

Bu çalışır ve vgimportclone adının önerisini yapar. Benim durumumda vg, örneğin tüm diskleri ve bölümleri belirtmek zorunda kaldım - örneğin, vgimportclone -n orignalvgname_clone /dev/sdx /dev/sdx2 /dev/sdx5ancak bu durum durumdan duruma çok farklı olabilir.
Jey DWork

3

Trekkerboy / modonnell @ linuxquestions'ın cevabı en açık kullanımdır vgimportclone.

Ayrıca, klonu oluşturduktan sonra, onu etkinleştirmeniz gerektiğini vgchange -a y newvgnameve oldvgname'in aygıt düğümlerini temizlemeniz gerektiğini unutmayın dmsetup remove /dev/oldvgname/*.

Referans olarak, aşağıda anlatılanlar, kaynakta okuyabileceklerin bir alt kümesine benzeyen daha manuel bir yöntemdir vgimportclone.


devicesFiltreye orijinal ile eşleşen bir desen ekleyerek orijinal kopyanın yönetimini geçici olarak devre dışı bırakabiliyorsanız bunu yapabilirsiniz lvm.conf. Örneğin, /dev/sdxiçine klonladıysanız , bölümün içine /dev/sdygeçici olarak eklemeniz gerekir ./dev/sdxfilterdevices { ... }

Orijinal cihazlar çevrimiçi kalacaktır, ancak LVM araçları bunları yok sayar. Üstlerine monte edilmiş dosya sistemleri bağlı ve çalışır durumda kalacak, bu LVM yönetimi ile sıkı sıkıya bağlı değil.

Filtre yerleştirildikten sonra, vgscankopyaların ve yalnızca bunların artık LVM yönetimi altında olduğundan emin olmak için yeni bir tane yapın . /dev/sdyÖrneğin , yinelenen cihazları gördüğünüzden emin olabilirsiniz pvs.

Sonra şunları yapın:

vgchange -a n originalvgname

Bu, çağrılan ses grubunu devre dışı bırakır originalvgname, ancak yalnızca yinelenen cihazlar görünür olduğundan, üzerlerinde devre dışı bırakır (orijinal originalvgname, yukarıdaki filtre nedeniyle zaten görünmezdir). Bu adım, şimdi etkin olmayan hacim grubunun ve bileşen fiziksel hacimlerinin niteliklerini serbestçe değiştirebilmeniz için gereklidir.

pvchange -u physicaldevice
vgchange -u originalvgname

Bu, kopyalara yeni UUID'ler verecektir.

vgrename originalvgname newvgname

Bu, çoğaltılan birim grubunu yeniden adlandırır.

Bundan sonra, filtreyi kaldırabilir lvm.confve yeniden tarayabilirsiniz ve her iki LVM cihazı seti farklı adlar ve UUID'ler altında görünür olacaktır.

Alternatif olarak, orijinal VG adını ve PV / VG UUID'leri gerçekten tutmak istemiyorsanız, onları atabilirsiniz, bkz. /superuser/256061/lvm-and-cloning-hds


'Orijinal kopya' yedek kopya mı yoksa yedek kaynak mı (canlı)? Daha sonra canlı sistemi devre dışı bırakıp UUID'yi değiştirmenizi öneririz, değil mi?
catpnosis

1
@ catpnosis Yedekleme kaynağı, ama sadece yönetimi . Her şey çevrimiçi kalır, ancak LVM araçları orijinali görmeyi geçici olarak durdurur. LVM araçları daha sonra kopyaları algılar ve bunları yeniden kullanabilir, yani UUID'lerini değiştirebilir. Ve işiniz bittiğinde, her şeyi görmelerine izin verirsiniz, bu da UUID'ler artık çakışmadığı için işe yarayacaktır.
Josip Rodin

Teşekkürler. Bu ilginç bir yaklaşım. Gerçi anlamak zor. "Bu, yinelenen cihazlardaki ses grubunu devre dışı bırakacak" - ama gerçekten değil mi?
catpnosis

1
@ catpnosis önceki tarafından vgscanotomatik olarak etkinleştirilir , o zaman sadece LVM araçlarının kopyaları (orijinali değil) görmesi anlamına gelir. Bütün mesele, her ikisini de değil, ikisini birden değil aynı anda aktif hale getirmemelisiniz. Yalnızca kopyaları gördüğünüz duruma girer girmez, onları çalıştırabilirsiniz.
Josip Rodin

0

Bu sorunla daha dün karşılaştım. Linux'ta dosya sistemi (LVM (MD (sda, sdb, sdc-sadece-haftalık-eşitleme)) yapılandırması var ve sdc'deki eski verilere erişmek için gerekli.

Ben bir VM yedek disk (sdc) takarak sorunu çözdü. Bu, diski "qemu ... -drive file = / dev / sdc, salt okunur" olarak eklediğim sürece güvenli bir işlemdir (veya yazma üzerine kopyalama yapılandırması için bir anlık görüntü seçeneği kullanır).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.