เป็นไปได้หรือไม่ที่จะเมานต์ 2 LVM พร้อมกันซึ่งเป็นสำเนาที่แน่นอนของกันและกัน (UUID เดียวกัน)


11

ฉันโคลนฮาร์ดไดรฟ์ในระบบที่ใช้งานจริงไปยังฮาร์ดไดรฟ์สำรองหลายตัว พาร์ติชันรากในระบบที่ใช้งานจริงคือระดับเสียง LVM สำเนาสำรองมีจุดประสงค์เพื่อทดแทนดรอปอินสำหรับต้นฉบับซึ่งหมายความว่าพวกเขาจำเป็นต้องมี UUID เหมือนกับต้นแบบ

คำถามด่วน: เป็นไปได้ไหมที่จะติดตั้งหนึ่งใน HDs สำรองบนระบบจริง? เมื่อฉันพยายามที่จะทำเช่นนั้น LVM สับสนเกี่ยวกับเรื่องนี้เนื่องจาก UUID และชื่อกลุ่มวอลุ่มเดียวกัน ทำตามคำใบ้ที่พบใน [คำตอบนี้] [1] เพื่อเปลี่ยนชื่อกลุ่ม LVM ดั้งเดิมฉันได้ลอง:

  1. เชื่อมต่อ HD สำรองภายนอกเข้ากับพอร์ต USB

  2. วิ่ง (โปรดทราบว่าสตริง 'ทดสอบ' เป็นชื่อกลุ่มในระบบนี้)

# 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

/dev/test/จุดนี้ผมจะได้คาดว่าจะได้รับสามารถในการเข้าถึงไดรฟ์ตรรกะของแต่ละบุคคลภายใต้ วิ่งlvdisplayผลิต

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

อย่างไรก็ตาม/dev/test/ไม่มีอยู่เลยและฉันไม่สามารถเข้าถึงโลจิคัลวอลุ่มที่/dev/test/rootและ/dev/test/swap_1ตามที่ lvdisplay แนะนำ


เวลาความเห็น: หากคุณมีดิสก์ที่สำรองไว้คุณควรมองไปที่การกำหนดค่า RAID (หรือแม้แต่ซอฟต์แวร์ RAID ที่จะเก็บเหรียญ) แทนที่จะใช้วิธีแก้ปัญหาเช่นนี้ RAID1 หรือ RAID5 ทั้งคู่เป็นตัวเลือกที่ดี
Garrett

คำตอบ:


0

ประเด็นทั้งหมดของ UUID คือการระบุสิ่งที่ไม่ซ้ำกันและสิ่งที่คุณพยายามทำทำให้ไม่ซ้ำกัน ฉันสงสัยอย่างมากว่ามันเป็นไปได้ ฉันเล่นด้วยpvchange -uเพื่อเปลี่ยน UUID ของ PV ที่ซ้ำกัน แต่การดำเนินการล้มเหลวเสมอ

หากคุณต้องการติดตั้งสำเนาสำรองบนโฮสต์จริงฉันขอแนะนำให้คุณสำรอง LVs แยกต่างหาก (เช่นสร้าง PV, VG และ LVs ใหม่บนอุปกรณ์สำรองและแยกแต่ละ LV แยกต่างหาก)


17

หากคุณต้องการติดตั้ง lv จากดิสก์โคลนฉันพบวิธีที่มีประโยชน์นี้ที่นี่http://www.linuxquestions.org/questions/linux-hardware-18/unable-to-change-uuid-of-cloned-drive- อุปกรณ์ซ้ายเปิด 4175470893 /

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

sdx, sdy .. เป็นดิสก์โคลนที่ประกอบขึ้นเป็น vg

vgchange -ay orignalvgname_clone

หลังจากนี้คุณควรจะสามารถติด lvs ออกจากดิสก์ที่ลอกแบบมาได้


4
นี่ควรเป็นคำตอบที่ยอมรับได้ ทำงานให้ฉันขอบคุณ!
neuviemeporte

สิ่งนี้ใช้ได้ผลและ vgimportclone ทำในสิ่งที่ชื่อแนะนำ ในกรณีของฉันฉันได้ระบุดิสก์และพาร์ติชันทั้งหมดที่สร้างvg- ตัวอย่างเช่นvgimportclone -n orignalvgname_clone /dev/sdx /dev/sdx2 /dev/sdx5แต่แน่นอนว่าอาจแตกต่างกันมากในแต่ละกรณี
Jey DWork

3

คำตอบโดย trekkerboy / modonnell @ linuxquestions vgimportcloneตรงไปตรงมามากที่สุดการใช้งาน

ยังทราบว่าหลังจากที่คุณสร้างโคลนคุณต้องเปิดใช้งานได้ด้วยvgchange -a y newvgnameและคุณต้องทำความสะอาดโหนดอุปกรณ์ oldvgname dmsetup remove /dev/oldvgname/*กับ

vgimportcloneสำหรับการอ้างอิงสิ่งต่อไปนี้เป็นวิธีการด้วยตนเองมากขึ้นซึ่งเห็นได้ชัดว่ามีลักษณะคล้ายกับส่วนหนึ่งของสิ่งหนึ่งสามารถอ่านในแหล่งที่มาของการ


คุณสามารถทำมันได้ถ้าคุณสามารถไปก่อนชั่วคราวปิดใช้งานการจัดการของการคัดลอกเดิมโดยการเพิ่มรูปแบบการจับคู่เดิมเข้าไปในกรองdevices lvm.confตัวอย่างเช่นถ้าคุณโคลน/dev/sdxเข้า/dev/sdyคุณต้องเพิ่มชั่วคราว/dev/sdxเข้ามาfilterภายในdevices { ... }ส่วน

อุปกรณ์ดั้งเดิมจะออนไลน์อยู่ แต่เครื่องมือ LVM จะเพิกเฉย ระบบไฟล์ที่ติดตั้งอยู่กับพวกมันจะยังคงถูกติดตั้งและใช้งานได้ซึ่งไม่ได้ผนวกเข้ากับการจัดการ LVM อย่างแน่นหนา

หลังจากที่ตัวกรองอยู่ในสถานที่ให้ทำใหม่vgscanเพื่อให้แน่ใจว่ามีการทำซ้ำและมีเพียงตัวกรองเท่านั้นที่อยู่ในการจัดการ LVM คุณสามารถให้แน่ใจว่าคุณดูซ้ำอุปกรณ์ผ่านทางเช่น/dev/sdypvs

จากนั้นทำ:

vgchange -a n originalvgname

การดำเนินการนี้จะปิดการใช้งานกลุ่มวอลุ่มที่เรียกว่าoriginalvgnameแต่เนื่องจากมีเพียงอุปกรณ์ที่ซ้ำกันเท่านั้นที่มองเห็นได้จึงจะปิดใช้งานกลุ่มดังกล่าว (อุปกรณ์ดั้งเดิมoriginalvgnameจะมองไม่เห็นเนื่องจากตัวกรองด้านบน) ขั้นตอนนี้มีความจำเป็นเพื่อให้คุณสามารถเปลี่ยนแอตทริบิวต์ของกลุ่มวอลุ่มที่ไม่ใช้งานในขณะนี้และฟิสิคัลวอลุ่มที่เป็นส่วนประกอบ

pvchange -u physicaldevice
vgchange -u originalvgname

สิ่งนี้จะมอบ UUID ใหม่ให้กับรายการซ้ำ

vgrename originalvgname newvgname

นี่จะเปลี่ยนชื่อกลุ่มวอลุ่มที่ซ้ำกัน

หลังจากนั้นคุณสามารถลบตัวกรองออกจากlvm.confและสแกนอีกครั้งและอุปกรณ์ LVM ทั้งสองชุดจะปรากฏภายใต้ชื่อและ UUID ที่แตกต่างกัน

อีกทางเลือกหนึ่งถ้าคุณไม่สนใจที่จะรักษาชื่อ VG ดั้งเดิมและ UUID ของ PV / VG จริงคุณสามารถกำจัดพวกเขาแทน cf /superuser/256061/lvm-and-cloning-hds


'สำเนาต้นฉบับ' คือสำเนาสำรองหรือแหล่งข้อมูลสำรอง (ซึ่งอยู่) ถ้าอย่างนั้นคุณแนะนำให้ยกเลิกการใช้งานระบบจริงและเปลี่ยนเป็น UUID ใช่ไหม?
catpnosis

1
@catpnosis แหล่งสำรอง แต่เพียงของการจัดการ ทุกอย่างยังคงออนไลน์ แต่เครื่องมือ LVM หยุดชั่วคราวเพื่อดูต้นฉบับ จากนั้นเครื่องมือ LVM จะตรวจจับสิ่งที่ซ้ำกันและสามารถนำกลับมาใช้ใหม่ได้เช่นเปลี่ยน UUID และเมื่อคุณทำเสร็จแล้วคุณอนุญาตให้พวกเขาเห็นทุกอย่างซึ่งจะใช้งานได้เพราะ UUID ไม่ได้ปะทะกันอีกต่อไป
Josip Rodin

ขอบคุณ นี่เป็นวิธีการที่น่าสนใจ แม้ว่าจะเข้าใจยาก "นี่จะปิดการใช้งานกลุ่มวอลุ่มบนอุปกรณ์ที่ซ้ำกัน" - แต่ไม่จริงเหรอ?
catpnosis

1
@catpnosis จะถูกเปิดใช้งานโดยสิ่งที่กล่าวมาก่อนหน้านี้vgscanโดยอัตโนมัตินั่นหมายความว่า ณ เวลานั้นเครื่องมือ LVM จะเห็นสิ่งที่ซ้ำกัน (ไม่ใช่ต้นฉบับ) ประเด็นทั้งหมดคือคุณต้องไม่ให้พวกเขาทำงานทั้งสองในเวลาเดียวกัน ทันทีที่คุณอยู่ในสถานะที่คุณเห็นรายการที่ซ้ำกันคุณสามารถใช้งานได้
Josip Rodin

0

ฉันพบปัญหานี้เมื่อวานนี้ ฉันมีระบบไฟล์ (LVM (MD (sda, sdb, sdc-syncing- เท่านั้น - รายสัปดาห์พื้นฐาน))) การกำหนดค่าบน Linux และจำเป็นต้องเข้าถึงข้อมูลเก่าบน sdc

ฉันค่อนข้างแก้ไขปัญหาโดยแนบดิสก์สำรอง (sdc) กับ VM นี่เป็นการดำเนินการที่ปลอดภัยตราบใดที่ฉันแนบดิสก์ด้วย "qemu ... -drive file = / dev / sdc, อ่านอย่างเดียว" (หรือใช้ตัวเลือกสแน็ปช็อตสำหรับการกำหนดค่าคัดลอกเมื่อเขียน)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.