có thể gắn đồng thời 2 khối LVM là bản sao chính xác của nhau (cùng UUID) không?


11

Tôi đã nhân bản (sử dụng dd) ổ cứng trong một hệ thống trực tiếp lên nhiều ổ cứng dự phòng. Phân vùng gốc trong hệ thống trực tiếp là một khối LVM. Các bản sao dự phòng được dự định là bản thay thế thả xuống cho bản gốc và điều này có nghĩa là chúng cần phải có cùng UUID với bản gốc.

Câu hỏi nhanh: có thể gắn một trong các HD dự phòng trên hệ thống trực tiếp không? Khi tôi cố gắng làm như vậy LVM có thể hiểu nhầm về điều này do các UUID và tên nhóm âm lượng giống nhau. Theo gợi ý tìm thấy trong [câu trả lời này] [1] để đổi tên nhóm LVM ban đầu, tôi đã thử:

  1. kết nối HD sao lưu ngoài vào cổng USB

  2. đang chạy (lưu ý rằng chuỗi 'test' là tên nhóm trên hệ thống này)

# 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

Tại thời điểm này, tôi đã dự kiến ​​có thể truy cập vào các khối logic riêng lẻ bên dưới /dev/test/. Chạy lvdisplaysản xuất.

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

Tuy nhiên, /dev/test/hoàn toàn không tồn tại và do đó tôi không thể truy cập vào các khối hợp lý tại /dev/test/root/dev/test/swap_1như lvdisplay đã đề xuất.


Thời gian ý kiến: Nếu bạn có đĩa dự phòng, bạn thực sự nên xem xét đưa chúng vào cấu hình RAID (ngay cả phần mềm RAID để lưu một số đồng xu) thay vì sử dụng giải pháp như giải pháp này. RAID1 hoặc thậm chí RAID5 đều là những lựa chọn tốt.
Garrett

Câu trả lời:


0

Toàn bộ quan điểm của UUID là xác định duy nhất một cái gì đó và những gì bạn đang cố gắng làm cho chúng không phải là duy nhất. Tôi rất nghi ngờ rằng điều này là có thể. Tôi đã chơi xung quanh pvchange -uđể thay đổi UUID của một PV trùng lặp, nhưng hoạt động luôn thất bại.

Nếu bạn thực sự cần phải gắn các bản sao lưu trên máy chủ trực tiếp, tôi khuyên bạn nên sao lưu các LV riêng lẻ (nghĩa là tạo một PV, VG và LV mới trên thiết bị sao lưu và dd riêng từng LV).


17

Nếu bạn muốn gắn kết lv từ đĩa sao chép, tôi đã tìm thấy phương pháp hữu ích này tại đây http://www.linuxquestions.org/questions/linux-hardware-18/unable-to-change-uuid-of-clenced-drive- thiết bị còn lại-mở-4175470893 /

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

sdx, sdy .. là các đĩa nhân bản tạo nên vg.

vgchange -ay orignalvgname_clone

Sau này, bạn sẽ có thể gắn lvs khỏi đĩa nhân bản.


4
Đây phải là câu trả lời được chấp nhận. Làm việc cho tôi, cảm ơn!
neuviemeporte

Điều này hoạt động và vgimportclone làm những gì tên của nó gợi ý. Trong trường hợp của tôi, tôi đã chỉ định tất cả các đĩa và phân vùng xây dựng vg- ví dụ vgimportclone -n orignalvgname_clone /dev/sdx /dev/sdx2 /dev/sdx5nhưng rõ ràng điều này có thể rất khác nhau tùy theo từng trường hợp.
Jey DWork

3

Câu trả lời của trekkerboy / modonnell @ linuxquestions là đơn giản nhất, hãy sử dụng vgimportclone.

Cũng lưu ý rằng sau khi bạn tạo bản sao, bạn phải kích hoạt nó vgchange -a y newvgnamevà bạn phải dọn sạch các nút thiết bị của oldvgname bằng dmsetup remove /dev/oldvgname/*.

Để tham khảo, những gì sau đây là một phương pháp thủ công hơn, rõ ràng giống như một tập hợp con của những gì người ta có thể đọc trong nguồn vgimportclone.


Bạn có thể làm điều đó nếu trước tiên bạn có thể tạm thời hủy kích hoạt quản lý bản sao gốc, bằng cách thêm một mẫu phù hợp với bản gốc vào devicesbộ lọc lvm.conf. Ví dụ, nếu bạn nhân bản /dev/sdxvào /dev/sdy, bạn phải tạm thời thêm /dev/sdxvào filtertrong devices { ... }phần.

Các thiết bị gốc sẽ ở lại trực tuyến, nhưng các công cụ LVM sẽ bỏ qua chúng. Các hệ thống tập tin được gắn trên chúng sẽ vẫn được gắn kết và hoạt động, điều đó không được kết hợp chặt chẽ với quản lý LVM.

Sau khi bộ lọc được đặt, hãy thực hiện một bộ lọc mới vgscan, để đảm bảo các bản sao và chỉ chúng hiện thuộc quyền quản lý LVM. Bạn có thể chắc chắn rằng bạn nhìn thấy các /dev/sdythiết bị trùng lặp thông qua ví dụ pvs.

Sau đó làm:

vgchange -a n originalvgname

Điều này sẽ hủy kích hoạt nhóm âm lượng được gọi originalvgname, nhưng vì chỉ có các thiết bị trùng lặp được hiển thị, nên nó sẽ hủy kích hoạt nó trên chúng (bản gốc originalvgnameđã vô hình vì bộ lọc ở trên). Bước này là cần thiết để sau đó bạn có thể tự do thay đổi các thuộc tính của nhóm khối lượng không hoạt động và các khối vật lý cấu thành của nó.

pvchange -u physicaldevice
vgchange -u originalvgname

Điều này sẽ cung cấp UUID mới cho các bản sao.

vgrename originalvgname newvgname

Điều này sẽ đổi tên nhóm khối lượng trùng lặp.

Sau đó, bạn có thể xóa bộ lọc khỏi lvm.confvà quét lại và cả hai bộ thiết bị LVM sẽ hiển thị, dưới các tên và UUID khác nhau.

Ngoài ra, nếu bạn không thực sự quan tâm đến việc giữ tên VG gốc và UUID PV / VG, thay vào đó, bạn có thể loại bỏ chúng /superuser/256061/lvm-and-claming-hds


'Bản sao gốc' là bản sao lưu hoặc nguồn dự phòng (đang hoạt động)? Sau đó, bạn đề nghị hủy kích hoạt hệ thống trực tiếp và thay đổi UUID, đúng không?
catpnosis

1
@catpnosis Nguồn sao lưu, nhưng chỉ quản lý của nó . Mọi thứ vẫn trực tuyến, nhưng các công cụ LVM tạm thời không thể nhìn thấy bản gốc. Các công cụ LVM sau đó phát hiện các bản sao và có thể tái sử dụng chúng tức là thay đổi UUID của chúng. Và một khi bạn đã hoàn thành, bạn cho phép họ nhìn thấy mọi thứ, sau đó sẽ hoạt động vì các UUID không còn xung đột.
Josip Rodin

Cảm ơn. Đây là cách tiếp cận thú vị. Khó hiểu mặc dù. "Điều này sẽ hủy kích hoạt nhóm âm lượng trên các thiết bị trùng lặp" - nhưng thực sự không?
catpnosis

1
@catpnosis nó được kích hoạt vgscantự động trước đó , điều đó chỉ có nghĩa là tại thời điểm đó các công cụ LVM nhìn thấy các bản sao (chứ không phải bản gốc). Toàn bộ vấn đề là bạn không được để chúng hoạt động cùng một lúc - cả cái này hay cái kia, không phải cả hai. Ngay khi bạn vào trạng thái mà bạn chỉ thấy các bản sao, thì bạn có thể thao tác trên chúng.
Josip Rodin

0

Tôi đã gặp vấn đề này chỉ ngày hôm qua. Tôi có cấu hình hệ thống tệp (LVM (MD (sda, sdb, sdc-syncing-only-Weekly-cơ sở)) trên Linux và cần để truy cập dữ liệu cũ trên sdc.

Tôi đã giải quyết được phần nào vấn đề bằng cách đính kèm đĩa sao lưu (sdc) vào máy ảo. Đây là một hoạt động an toàn miễn là tôi đính kèm đĩa với "qemu ... -drive file = / dev / sdc, readonly" (hoặc sử dụng tùy chọn chụp nhanh cho cấu hình sao chép khi ghi).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.