Ảnh chụp nhanh LVM như một chiến lược sao lưu


17

Làm thế nào khả thi như một chiến lược sao lưu sẽ là ảnh chụp nhanh LVM định kỳ của xen domU? Ưu, nhược điểm, có vấn đề gì không?

Đối với tôi nó có vẻ như là giải pháp hoàn hảo để phục hồi nhanh chóng, không có não. Bất kỳ cuộc điều tra nào cũng có thể diễn ra trên khối lượng logic bị hỏng với domU chạy thành công mà không bị gián đoạn.

BIÊN TẬP:

Đây là nơi tôi đang ở hiện tại, khi thực hiện sao lưu toàn bộ hệ thống.

  • ảnh chụp lvm của đĩa domU
  • một khối lượng logic mới có kích thước bằng kích thước ảnh chụp.
  • dd if = / dev / ảnh chụp nhanh của = / dev / new_lv
  • xử lý ảnh chụp nhanh với lvremove
  • xác minh tùy chọn với kpartx / mount / ls

Bây giờ tôi cần tự động hóa điều này.

Câu trả lời:


32

Ảnh chụp nhanh LVM có nghĩa là để chụp hệ thống tập tin trong trạng thái đóng băng. Chúng không có nghĩa là một bản sao lưu trong và của chính họ. Tuy nhiên, chúng rất hữu ích để có được hình ảnh sao lưu phù hợp vì hình ảnh đóng băng không thể và sẽ không thay đổi trong quá trình sao lưu. Vì vậy, trong khi bạn sẽ không sử dụng chúng trực tiếp để tạo bản sao lưu dài hạn, chúng sẽ có giá trị lớn trong bất kỳ quy trình sao lưu nào mà bạn quyết định sử dụng.

Có một vài bước để thực hiện một ảnh chụp nhanh. Đầu tiên là một khối lượng logic mới phải được phân bổ. Mục đích của tập này là cung cấp một khu vực nơi deltas (thay đổi) cho hệ thống tập tin được ghi lại. Điều này cho phép âm lượng gốc tiếp tục mà không làm gián đoạn bất kỳ quyền truy cập đọc / ghi hiện có. Nhược điểm của điều này là khu vực ảnh chụp có kích thước hữu hạn, có nghĩa là trên một hệ thống có ghi bận, nó có thể lấp đầy khá nhanh. Đối với các tập có hoạt động ghi đáng kể, bạn sẽ muốn tăng kích thước ảnh chụp nhanh của mình để cho phép đủ không gian cho tất cả các thay đổi được ghi lại. Nếu ảnh chụp nhanh của bạn tràn ra (lấp đầy) cả ảnh chụp nhanh sẽ dừng lại và được đánh dấu là không sử dụng được. Nếu điều này xảy ra, bạn sẽ muốn phát hành ảnh chụp nhanh của mình để bạn có thể lấy lại âm lượng gốc trực tuyến. Khi quá trình phát hành hoàn tất, bạn '

Điều thứ hai xảy ra là LVM hiện "hoán đổi" mục đích thực sự của các tập trong câu hỏi. Bạn sẽ nghĩ rằng ảnh chụp nhanh được phân bổ sẽ là nơi để tìm kiếm bất kỳ thay đổi nào đối với hệ thống tập tin, sau tất cả, đó là nơi tất cả các bài viết sẽ đến, phải không? Không, đó là cách khác. Các hệ thống tập tin được gắn vào tên âm lượng LVM , do đó, việc hoán đổi tên từ bên dưới phần còn lại của hệ thống sẽ là không (vì ảnh chụp nhanh sử dụng một tên khác ). Vì vậy, giải pháp ở đây rất đơn giản: Khi bạn truy cập vào tên âm lượng gốc, nó sẽ tiếp tục đề cập đến phiên bản trực tiếp (đọc / ghi) của âm lượng bạn đã chụp. Khối lượng ảnh chụp bạn tạo sẽ đề cập đến đóng băng(chỉ đọc) phiên bản của âm lượng bạn định sao lưu. Một chút bối rối lúc đầu, nhưng nó sẽ có ý nghĩa.

Tất cả điều này xảy ra trong vòng chưa đầy 2 giây. Phần còn lại của hệ thống thậm chí không nhận thấy. Trừ khi, tất nhiên, bạn không phát hành ảnh chụp nhanh trước khi nó tràn ra ...

Tại một số điểm, bạn sẽ muốn phát hành ảnh chụp nhanh của mình để lấy lại không gian mà nó chiếm giữ. Khi quá trình phát hành hoàn tất, âm lượng ảnh chụp sẽ được giải phóng trở lại vào ổ đĩa và bản gốc vẫn còn.

Tôi không khuyên bạn nên theo đuổi điều này như một chiến lược sao lưu dài hạn. Bạn vẫn đang lưu trữ dữ liệu trên cùng một ổ đĩa vật lý có thể bị lỗi và việc khôi phục hệ thống tệp của bạn từ một ổ đĩa bị lỗi hoàn toàn không có bản sao lưu.

Vì vậy, một cách ngắn gọn:

  • Ảnh chụp nhanh là tốt để hỗ trợ sao lưu
  • Ảnh chụp nhanh không phải là một hình thức sao lưu
  • Ảnh chụp nhanh không tồn tại mãi mãi
  • Ảnh chụp nhanh không phải là một điều tốt
  • Ảnh chụp nhanh cần được phát hành tại một số điểm
  • LVM là bạn của bạn, nếu bạn sử dụng nó một cách khôn ngoan.

4
Ngoài ra hiệu suất chụp nhanh LVM suy giảm tuyến tính - 8 ảnh chụp nhanh gấp 8 lần IO.
Steven

9
Có một vài điểm trong mô tả của bạn mà tôi nghĩ là không chính xác. Trong các phiên bản hiện tại của LVM, nếu ảnh chụp nhanh đầy đủ, nó chỉ đơn giản được đánh dấu là không sử dụng được và cần phải xóa. I / O trên thiết bị không bị dừng. Thứ hai, khi bạn xóa một ảnh chụp nhanh, không có dữ liệu nào được sao chép trở lại ổ đĩa gốc. Về cơ bản, khi bạn ghi vào âm lượng trực tiếp, các khối ban đầu được sao chép vào ảnh chụp nhanh và sau đó các khối trực tiếp được cập nhật. Sau đó, khi bạn thả ảnh chụp nhanh, đó chỉ là vấn đề xóa mục nhập khỏi trình ánh xạ thiết bị. Không cần sao chép.
Kamil Kisiel

2
Về lợi ích của sự hoàn thiện, Kamil Kisiel là chính xác. Xem: tldp.org/HOWTO/LVM-HOWTO/snapshotintro.html
ktower

1
Sau nhiều lời cằn nhằn với bản thân vì bị thông tin sai, câu trả lời đã được sửa đổi dựa trên nhiều nguồn tài liệu và thảo luận. Xin lỗi mọi người, xấu của tôi.
Avery Payne

10

Ảnh chụp nhanh LVM rất tốt để có thể sao lưu máy chủ của bạn mà không cần ngoại tuyến. Như đã chụp ảnh nhanh LVM là bản sao gần như ngay lập tức. Bạn tạo chúng bằng cách sử dụng lvcreatelệnh giống như bạn muốn tạo LV, chỉ bạn cung cấp cho nó --snapshottùy chọn và LV gốc thay vì VG. Ví dụ:

lvcreate -L <LV size> -s -n <snapshot name> /dev/<VG name>/<LV name>

Điều này sẽ tạo ra một ảnh chụp nhanh của LV đã cho với tên ảnh chụp được chỉ định mà sau đó bạn có thể gắn kết và sử dụng LV ảnh chụp nhanh này để thực hiện sao lưu của mình mà không phải lo lắng về việc các tệp được sử dụng tích cực. Điều này đặc biệt hữu ích nếu bạn đang cố sao lưu máy chủ cơ sở dữ liệu đang hoạt động.

Sau khi hoàn thành việc sao lưu từ ảnh chụp nhanh, bạn sẽ muốn xóa nó để giảm bất kỳ chi phí I / O bổ sung nào hoặc các vấn đề về hiệu suất khác như những người khác đã đề cập bằng cách sử dụng:

lvremove /dev/<VG name>/<snapshot name>

Mặc dù các ảnh chụp nhanh LVM có thể là vô giá trong việc tạo ra một bản sao lưu đáng tin cậy của các hệ thống như cơ sở dữ liệu và do đó bạn thường muốn tắt máy để sao lưu để tránh tranh chấp tập tin, chúng không lý tưởng cho hoạt động lâu dài như một khôi phục nhanh.


9

Không phải là một ý tưởng tốt, IMO.

Ảnh chụp nhanh được triển khai theo kiểu sao chép khi ghi để bạn biến mọi ghi thành đọc và hai ghi (khối bạn đang cập nhật được đọc trước từ ổ đĩa chính và được lưu trữ trong ổ đĩa chụp nhanh trước khi bạn nhập dữ liệu mới vị trí của nó) vì vậy bạn sẽ thấy một số sự suy giảm hiệu năng nếu có rất nhiều chữ viết trên máy ảo.

Ngoài ra, IIRC, nếu khối lượng ảnh chụp nhanh đầy, nó chỉ đơn giản là bị bỏ đi một cách bất thường. Điều này là không tốt cho mục đích sao lưu! Vì vậy, nếu bạn thử làm điều này như một phương pháp sao lưu, hãy đảm bảo làm cho khối lượng ảnh chụp đủ lớn để xử lý tất cả các thay đổi sẽ xảy ra trong vòng đời hữu ích của ảnh chụp nhanh. Tất nhiên, nếu bạn nhận thức và theo dõi vấn đề kích thước và vấn đề hiệu suất không phải là vấn đề với bạn, thì những gì bạn đề xuất có thể bổ sung hữu ích cho các quy trình sao lưu khác mà bạn có.

Ảnh chụp nhanh LVM rất hữu ích như là một phần của quy trình sao lưu (chụp ảnh nhanh, sao lưu ảnh chụp nhanh sang nơi khác để đảm bảo sao lưu phù hợp mà không phải vô hiệu hóa cập nhật cho âm lượng "thực", bỏ ảnh chụp nhanh sau đó), nhận ra những thứ khác, nhưng không có ý định như một cơ sở dự phòng một mình.


Có lẽ tôi không hiểu làm thế nào snapshot hoạt động. Hướng dẫn nói rằng ảnh chụp nhanh là một bản sao gần như ngay lập tức của âm lượng hợp lý, tránh việc phải sử dụng hệ thống sử dụng ngoại tuyến. Từ mô tả của bạn, có vẻ như một ảnh chụp nhanh là nhiều nhánh, bản sao hơn là một bản sao bị đóng băng. Ảnh chụp nhanh có được cập nhật với tất cả các thay đổi được thực hiện trong hệ thống ban đầu sau khi được thực hiện không? Nếu vậy, tôi cần phải loại bỏ dữ liệu ngay lập tức và phá hủy ảnh chụp nhanh, vì nó không nhằm mục đích làm cơ chế lưu trữ để sao lưu? Cảm ơn!
Karolis T.

2
Nó là một bản sao đóng băng của âm lượng được tạo từ đó, nhưng chỉ chứa các khối đã thay đổi kể từ khi chụp ảnh nhanh (do đó, khối lượng ảnh chụp nhanh có thể nhỏ hơn nhiều so với âm lượng mà nó là ảnh chụp nhanh). Nếu các khối được cập nhật trong khối lượng trực tiếp thì nội dung của các khối ban đầu sẽ được thêm vào bộ lưu trữ của ảnh chụp nhanh, vì vậy khi bạn nhìn vào ảnh chụp nhanh LVM có thể phục vụ các khối ban đầu thay vì các khối được cập nhật.
David Spillett

Nhưng nếu nó thay đổi (ảnh chụp nhanh), thì "đóng băng" này đến từ đâu? Giả sử tôi có kịch bản này, một hệ thống làm việc bằng cách nào đó bị hỏng theo thời gian. Tôi có một ảnh chụp nhanh khi nó hoạt động chính xác. Ảnh chụp nhanh sẽ là một đại diện của hệ thống trong khi nó vẫn hoạt động chính xác, hoặc nó sẽ có những thay đổi làm cho hệ thống ban đầu bị hỏng ở vị trí đầu tiên? Hy vọng tôi đủ rõ ràng, chỉ muốn chắc chắn rằng tôi thực sự hiểu nó.
Karolis T.

Để hiểu việc đóng băng đến từ đâu, hãy nhận ra rằng bây giờ bạn có hai tập riêng biệt - bản gốc chứa hệ thống tệp đang hoạt động và ảnh chụp nhanh, thay đổi phiên bản đóng băng của hệ thống tệp. Xem câu trả lời của tôi để biết thêm chi tiết.
Avery Payne

1
Bạn làm cho nó nghe có vẻ phức tạp hơn nó. Ảnh chụp nhanh lưu trữ trạng thái của hệ thống tệp nguồn như khi ảnh chụp nhanh được tạo. Khi fs nguồn thay đổi, ảnh chụp nhanh không thay đổi, cho phép bạn trỏ chương trình sao lưu của mình để đọc từ ảnh chụp thay vì fs nguồn. Có, một bản sao trên ghi xảy ra đằng sau màn hình, nhưng người dùng không nhận thấy điều này ngoại trừ việc sử dụng IO thêm.
Martijn Heemels

6

Bạn sẽ cần đảm bảo rằng dữ liệu trên đĩa ở trạng thái nhất quán trước khi ảnh chụp nhanh được thực hiện. ví dụ: mysql có thể có dữ liệu được lưu trong bộ nhớ cần phải ghi vào đĩa, bằng cách hủy cơ sở dữ liệu hoặc tắt nó đi. Xem hướng dẫn sử dụng ứng dụng của bạn để biết chi tiết.


5

Bên dưới các công cụ tìm kiếm thông minh, LVMs thực sự là 'chỉ là một thủ thuật lập bản đồ thiết bị. Tạo một ảnh chụp nhanh với lvcreate không khác gì một trình bao bọc cho một số công cụ dmsetup. Trình bao bọc tạo ra một thiết bị mới (âm lượng ảnh chụp nhanh) từ một âm lượng cũ (lv gốc) và một thiết bị mới (âm lượng sao chép khi ghi). Cùng với đó, LV ban đầu được đổi tên thành -real (xem bên dưới, là dmsetup ls --tree output). LV thực này được ánh xạ tới cả âm lượng ảnh chụp và âm lượng gốc, vì vậy nó có thể được sử dụng ở cả hai nơi. Các khối lượng sao chép trên ghi có chức năng như một lớp phủ cho LV thực. LV -snap cho bạn thấy sự kết hợp giữa âm lượng sao chép khi ghi và âm lượng thực. Điều này thực sự tạo ra một số hiệu suất trên đầu.

Volume00-snap (253:11)
 |-Volume00-snap-cow (253:13)
 |  `- (104:2)
 `-Volume00-LogVol01-real (253:12)
    `- (104:2)

Volume00-LogVol01 (253:5)
 `-Volume00-LogVol01-real (253:12)
    `- (104:2)

Khi xóa ảnh chụp nhanh, một số lần đổi tên và ánh xạ xảy ra. Sau đó, tình hình sẽ lại giống như thế

Volume00-LogVol01 (253:5)
 `- (104:2)

Đối với howfar, đây là một phương pháp sao lưu công cụ tốt: có thể, nếu bạn tính đến điều này sẽ (1) không giúp ích gì cho RAM máy ảo, (2) tạo ra một hình phạt hiệu suất và (3) bạn sẽ cần để lưu trữ hình ảnh của ảnh chụp ở nơi khác.

VMware VCB cũng hoạt động với các snapshot, btw, mặc dù không phải LVM.


4

Ngay cả khi ảnh chụp nhanh không có bất kỳ tác động nào đến hiệu suất, bạn phải hiểu: Ảnh chụp nhanh không phải là bản sao lưu hơn bản sao vào thư mục khác trên cùng một đĩa.

Nếu đĩa phanh, dữ liệu và bản sao lưu của bạn bị mất. Ngay cả khi bạn chỉ định vùng ảnh chụp cho một PE khác trong VG, nó chỉ chứa dữ liệu được sửa đổi kể từ ảnh chụp nhanh.

Sao lưu có nghĩa là một bản sao ít nhất vào một ổ đĩa hoàn toàn riêng biệt như một yêu cầu tối thiểu.


Vâng, tôi hiểu điều đó. RAID 1 sẵn sàng để bảo vệ khỏi các lỗi thiết bị lưu trữ, sao lưu vào vị trí từ xa - khỏi sự cố phần mềm. Tôi đang xem xét các ảnh chụp nhanh LVM như một công cụ để khôi phục nhanh THỰC SỰ khi bạn không biết chuyện gì đã xảy ra và bạn cần hệ thống trực tuyến ngay bây giờ. Bất kỳ tùy chọn nào khác, nhanh hơn sau đó khôi phục domU từ bản sao lưu LVM?
Karolis T.

3

Tôi sử dụng một thiết lập như vậy cho ảnh chụp nhanh của máy chủ vmware và cơ sở dữ liệu mysql. hoạt động tốt cho đến nay. có một vài phục hồi - tất cả đều không có vấn đề. một điều cần xem xét - trong khi chạy với ảnh chụp nhanh lvm sẽ đạt hiệu suất đáng kể cho các hoạt động i / o. tìm ở đây . bỏ qua thực tế họ nói về mysql, i / o op là i / o ops ... bất kể loại dữ liệu nào nằm trên lvm.


1
aha yeah - tôi giả sử ảnh chụp sẽ được chụp và xuất sang máy chủ lưu trữ từ xa. không để lại trên máy chủ địa phương.
pQd

2

Tôi chỉ sử dụng ảnh chụp nhanh lvm để sao chép DomU Lv một số khác trong một Vg riêng, trong đó mỗi Miền có ba "nút" sao lưu để xử lý.

Sau đó, ảnh chụp nhanh bị hủy và Lv dự phòng vẫn còn cho đến vòng tiếp theo. Nếu tôi có khôi phục để thực hiện, tôi chỉ cần chọn Lv nguồn từ Vg sao lưu và sao chép nó vào miền Lv.

Thỉnh thoảng, một bản sao lưu Lv được đổ vào một tệp hình ảnh trên một máy chủ riêng biệt.

Tất cả điều này được tự động hóa thông qua tập lệnh, với một bản sao lưu cứ sau hai ngày và kết xuất mỗi tuần.

Tôi thậm chí đã có chế độ "hoảng loạn", trong đó Tên miền Lv sẽ được khôi phục nhưng chạy từ ảnh chụp nhanh và đặt lại sau mỗi 2 giờ, để giữ cho trang web trực tuyến trong trường hợp bị hack nghiêm trọng, cho đến khi có thể tổ chức phòng thủ thích hợp .


1

Điều gì đã trở thành ý tưởng phòng thủ 'chế độ hoảng loạn'?

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.