Cách sao lưu máy ảo Citrix Xen miễn phí với Xen-pocalypse (Bash)
Bạn đã bao giờ cần sao lưu Citrix Xen Virtual Machines (VM) nhưng không muốn phá vỡ ngân hàng đang làm điều đó? HTG chỉ có tập lệnh bash cho bạn với Xen-pocalypse.
Hình ảnh của h.koppdelaney, Bị mắc kẹt trong Tùy chỉnh và Hotfortech.
Một trong những điều thú vị ở Citrix Xen là nhiều tính năng của nó là miễn phí phụ trách. Như đã nói, nếu bạn muốn có tính năng bảo vệ và phục hồi VM tự động VM, bạn sẽ phải bắt đầu trả tiền cho giấy phép của Advance Advance. Thậm chí sau đó, bạn chỉ trả tiền cho các bản sao lưu cấp đĩa, không đủ cho nhiều loại khối lượng công việc như Thư mục hoạt động, Cơ sở dữ liệu & Vv. Để khắc phục điều này, bạn có thể muốn chụp nhanh bộ nhớ Live Live và hoàn nguyên lại, có thể lưu toàn bộ trạng thái máy, bao gồm các nội dung của RAM. Tuy nhiên, tính năng đó là một phần của phiên bản của Enterprise Enterprise và và Platinum Platinum, thậm chí còn đắt hơn. Không phải là tại HTG, chúng tôi đang loại bỏ giá trị của một phần mềm sao lưu thực sự, nhưng nếu bạn có ngân sách eo hẹp và không bận tâm đến thời gian ngừng hoạt động sao lưu, bạn có thể thấy Xen-pocalypse là một giải pháp hoàn toàn hợp lý trước khi bạn thực hiện cam kết ngân sách.
Tổng quan
Trường hợp sử dụng trên máy tính cá nhân: Bạn có một vài máy ảo yêu cầu sao lưu. Người dùng đã tắt một máy ảo và xuất nó dưới dạng một tập tin, từ Trung tâm Xen Xen, sử dụng các nhấp chuột phải hoạt động tốt, nhưng bạn muốn quá trình này diễn ra tự động và theo lịch trình. Kịch bản Bash này sử dụng lệnh của XE XE XE để thực hiện các nhiệm vụ của mình. XE là giao diện dòng lệnh Xen (CLI), tự động tương đương với việc phát hành các nhấp chuột phải của Cameron trong Trung tâm Xen Xen. Chúng tôi sẽ gọi kịch bản từ Cron, nơi sẽ cung cấp phần chương trình lên lịch cho chương trình. Ở dạng đơn giản nhất, luồng sao lưu là:
- Tắt VM đích.
- Xuất VM dưới dạng tệp sang vị trí sao lưu.
- Nếu VM được bật, trước khi sao lưu bắt đầu, nó sẽ được bật lại.
Chúng ta hãy nứt :)
Lấy kịch bản
Xen-pocalypse có thể được lấy tự do từ github, sử dụng các phương pháp git thông thường. Như đã nói, nếu bạn chưa thành thạo git, bạn có thể lấy tệp zip bằng liên kết này. Vì tập lệnh cần chạy trên một trong các máy chủ Xen của bạn, bạn nên giải nén nó ở đó để các quyền thực thi được giữ nguyên.
wget https://github.com/aviadra/Xen-pocalypse/archive/master.zip
giải nén chủ
Mặc dù những điều trên sẽ hoạt động, bạn nên sử dụng phương pháp GIT, để bạn có thể hưởng lợi từ các bản cập nhật trong tương lai.
Nhận SendEmail (tùy chọn)
Chúng tôi đã viết về chương trình SendEmail perl trong quá khứ, vì vậy không cần phải nhắc lại ở đây. Có thể nói, nó hoạt động tương tự trên Linux giống như trên Windows.
Mặc dù việc bật email là tùy chọn, nhưng nó rất được khuyến khích vì sau đó tập lệnh sẽ có thể:
- Thông báo cho bạn khi nó bắt đầu và chạy xong.
- Thông báo cho bạn về bất kỳ lỗi nào nó có thể phát hiện và xử lý.
- Thông báo về việc không đủ điều kiện sao lưu do vấn đề không gian. (Hành vi này có thể bị vô hiệu hóa nếu không muốn)
Tải xuống máy chủ Xen và giải nén.
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvzhf gửiEmail-v1.56.tar.gz
Lưu ý vị trí mà bạn trích xuất nó. Bạn sẽ cần nó cho tập tin cài đặt.
Thẻ xác định
Citrix Xen cung cấp cho bạn khả năng định cấu hình các trường tùy chỉnh của Cameron cho các khả năng lọc. Chúng tôi sẽ tạo các Trường và sau đó điền vào chúng với thông tin được sử dụng bởi Xen-pocalypse. Xen-pocalypse nhận ra 3 TAG kiểm soát chỉ định tên của thẻ để sao lưu và mối quan hệ cha mẹ với con cái. Nếu bạn không có ý định sử dụng phương thức nhập tệp, bạn PHẢI tạo ít nhất trường tên thẻ sao lưu.
Để thực hiện việc này, hãy mở các thuộc tính của máy chủ hoặc thậm chí là máy ảo. Trong ngăn dẫn hướng, chọn vùng tùy chỉnh.
Nếu đây là lần đầu tiên bạn xác định mối quan hệ (như trong ví dụ trên), bạn sẽ không có bất kỳ trường nào để nhập dữ liệu vào, vì vậy bạn cần tạo chúng. Để thực hiện việc này, nhấp vào Chỉnh sửa các lĩnh vực tùy chỉnh Trường trong hộp thoại bật lên, nhấp vào
Tạo ba (3) trường Văn bản loại văn bản. Một người sẽ được gọi là Backup BackupAGAG và những người khác.
Chú thích: Tên của các trường tùy chỉnh, đã được mã hóa cứng trong tập lệnh, vì vậy bạn KHÔNG được viết sai chính tả ở trên, trừ khi bạn cũng thay đổi mã có liên quan.
Khi tất cả các trường đã được tạo, bạn sẽ thấy:
Đóng cửa sổ. Bây giờ bạn sẽ có các trường Backup BackupTAG,, Parent Parent và các trò chơi trẻ em trẻ em để điền vào, như trong hình dưới đây.
Bây giờ, tất cả những gì bạn phải làm là chỉ định máy ảo nào thuộc về những gì Backup BackupTAG.
Ví dụ, trong công ty phát triển tập lệnh, chúng tôi có các máy ảo được sao lưu hàng tuần vào Thứ Năm và Thứ Sáu, lịch trình cho các máy ảo sản phẩm Atlassian của chúng tôi và một số máy chủ chỉ được sao lưu hàng tháng. Vì vậy, tổng quan của chúng tôi trông giống như:
Ví dụ, trong đó, ví dụ, hàng tuần, đó là văn bản mà chúng tôi đã nhập vào bản sao lưu của ngôi sao tùy chỉnh Không gọn gàng? :)
Cha mẹ và Trẻ em (không bắt buộc)
Vẻ đẹp thực sự của kịch bản này là nó hỗ trợ các mối quan hệ giữa cha mẹ và trẻ em. Đó là, có thể thiết lập một danh sách các VM VM trẻ con sẽ bị tắt và sao lưu trước cha mẹ, và những đứa trẻ này sẽ chỉ được bật lại sau khi cha mẹ đã hoàn thành sao lưu và đã được bật lại trên. Điều này rất hữu ích trong trường hợp tắt VM cha mẹ sẽ khiến dịch vụ trong đứa trẻ không khả dụng. Điều đó có nghĩa là dịch vụ trên VM con sẽ không khả dụng hai lần, một lần cho quy trình sao lưu của trẻ và một lần cho phụ huynh. Tạo mối quan hệ này khắc phục vấn đề đó.
Ví dụ: tất cả các máy ảo Atlassian của chúng tôi đã sử dụng một máy ảo DataBase (DB) duy nhất, cũng được thiết lập để sao lưu. Vì vậy, bằng cách lưu ý rằng DB VM là một Parent Parent, với các VM khác, có thể đảm bảo một thứ tự tắt máy phù hợp -> sao lưu -> khởi động.
Tại thời điểm viết bài này, chức năng này có một vài cảnh báo:
- Tên của các VM có mối quan hệ như vậy không thể chứa dấu cách. Bạn sẽ phải xóa khoảng trắng khỏi tên VM của mình, vì chúng sẽ được phân cách bằng dấu cách, như trong ví dụ dưới đây.
- Chỉ có thể có một phụ huynh. Chỉ định nhiều hơn một kế hoạch thậm chí không được đề cập đến, chưa kể đến thử nghiệm.
Để tạo mối quan hệ này, hãy đi vào các thuộc tính của VM. Nếu đây là cha mẹ của người Viking, hãy viết ai là con của họ và nếu đây là đứa trẻ của người trẻ, hãy viết cha mẹ của anh ta là ai. Ví dụ:
Lưu ý: Không chỉ định Cha mẹ cho trẻ có thể khiến trẻ bắt đầu trước khi cha mẹ sẵn sàng và có thể khiến nó được sao lưu hai lần.
Phương pháp FILE (Tùy chọn)
Vì lý do lịch sử, Xen-pocalypse cũng hỗ trợ lấy danh sách các VM được sao lưu dưới dạng tệp văn bản. Mặc dù mã của Cameron vẫn còn ở đó, nhưng chức năng này kém hơn nhiều so với phương thức TAG và do đó không được khuyến khích. Như đã nói, nếu bạn thích sử dụng phương thức danh sách vì một số lý do, các hạn chế sau sẽ được áp dụng:
- Tên của VM không thể chứa bất kỳ khoảng trắng hoặc ký tự đặc biệt nào.
- Chỉ có thể có một tên VM trên mỗi dòng.
- Dòng trống không được phép.
Để tạo danh sách, hãy sao chép tên của VM từ trung tâm Xen hoặc thực thi trên máy chủ Xen:
xe vm-list | nhãn grep | ôi
'in $ 4' | sắp xếp
Sao chép danh sách trên vào một tệp văn bản thông thường.
Vị trí dự phòng
Trong khi chọc ngẫu nhiên trong Citrix Xen, tôi đã thấy rằng Kho lưu trữ (SR) có sẵn để sử dụng theo Cấm / var / run / sr-mount /% UUID%, trong đó UUID là định danh duy nhất của SR, có thể là thu được từ GUI.
Điều này có nghĩa là chúng ta có thể sử dụng Trình hướng dẫn thông thường của Tiếp theo -> Tiếp theo -> Kết thúc thuật sĩ để tạo gắn kết vào vị trí sao lưu mong muốn và sau đó tập lệnh sử dụng đường dẫn đó (như được gắn với việc gắn kết với dòng lệnh), nhưng thực hiện vì vậy vượt quá phạm vi của hướng dẫn này.
Để tạo một mount mount mới, hãy nhấp chuột phải vào tên máy chủ và chọn SR mới.
Trong ví dụ này, chúng tôi sẽ trỏ Xen vào chia sẻ cửa sổ, vì vậy, hãy chọn Chia sẻ tệp Windows (CIFS):
Hoàn thành Tiếp theo -> Tiếp theo -> Kết thúc.
Lấy UUID của SR
Để có được UUID của SR, chỉ cần nhấp vào tên của nó trong Trung tâm Xen và chuyển đến tab Tổng quát.
Để sao chép UUID, chỉ cần nhấp chuột phải vào nó, chọn bản sao.
Với thông tin này trong tay, bạn đã sẵn sàng chỉnh sửa tệp cài đặt.
Định cấu hình tệp Cài đặt.
Dự án Xen-pocalypse đi kèm với một mẫu tập tin cài đặt trên mạng. Mẫu này phải được chỉnh sửa để phản ánh thiết lập của bạn và được chuyển làm đối số đầu tiên cho tập lệnh. Các tập tin cài đặt chỉ định như sau:
Phương pháp để có được các máy ảo được sao lưu - Phương thức mặc định là TAG. Bạn có thể thay đổi điều này thành TẬP_TIN, nhưng điều này không được khuyến khích.
Địa điểm của đích sao lưu - Nếu bạn đã làm theo hướng dẫn cho đến thời điểm này, bạn chỉ phải thay thế% UUID% bằng SR như được lấy từ phía trên.
Vị trí của SendEmail - Nếu bạn đã chọn bật Email, bạn cần nhập vào nơi bạn đã trích xuất tệp thực thi perl tại đây.
Chi tiết email - Một lần nữa, nếu bạn đã kích hoạt email, bạn cần xác định các chi tiết như: Tới, Từ, Tên máy chủ / IP & v.v '.
Nén - Theo mặc định, cài đặt này được đặt thành Số không, vì khi bật nó sẽ tạo ra một tệp sao lưu nhỏ hơn, nó cũng sẽ khiến thủ tục sao lưu chạy trong một khoảng thời gian dài hơn đáng kể.
Kiểm tra không gian trống về đích - Điều này sẽ có kiểm tra tập lệnh rằng việc tạo bản sao lưu của VM sẽ không khiến dung lượng trống của vị trí sao lưu giảm xuống dưới 10GB. Điều này được thực hiện để đảm bảo số lượng VM được sao lưu thay vì chỉ một VM rất lớn. Việc tính toán được thực hiện bằng cách sử dụng tổng kích thước đĩa tổng của tất cả các HD được liên kết với VM.
Gỡ lỗi - Mặc định là đã tắt gỡ lỗi với giá trị R 0 0 (không). Bạn không cần bật tính năng này, nhưng nếu bạn làm như vậy, sẽ có thêm thông tin được lưu ý trong phân đoạn khắc phục sự cố.
Thi hành / Lập kế hoạch
Ở dạng đơn giản nhất, một lời mời gọi Xen-pocalypse sẽ giống như:
./Xen-backup.sh settings.cfg hàng tuần
Trong trường hợp trên, chúng tôi nằm trong thư mục chứa tập lệnh & tập tin cài đặt. Kịch bản Tag Tag mà kịch bản sẽ tìm kiếm là hàng tuần.
Như đã lưu ý ở trên, chúng tôi sẽ sử dụng Cron để lên lịch thực hiện. Trước khi chúng ta đi vào cấu hình, nó là rat khuyen khich rằng bạn định cấu hình gói SSMTP đã được cài đặt trên máy chủ Xen của bạn. Mặc dù đây là một bước tùy chọn, làm như vậy sẽ cung cấp cho bạn một bộ sưu tập rửa ngược. Có một trình thu thập dữ liệu ngược như vậy, có thể cảnh báo bạn về những điều mà tập lệnh không thể.
Nhập vào chỉnh sửa của cron nhiều hơn bằng cách phát hành:
crontab -e
Nếu bạn đã làm theo các hướng dẫn ở trên và bạn muốn thêm một bản sao lưu dự kiến vào thứ Sáu lúc 18:01 (6:01 PM), hãy nhập vào bên dưới:
01 18 * * fri /root/Xen-pocalypse-master/Xen_Backup.sh /root/Xen-pocalypse-master/sinstall.cfg Weekly-fri
Trên đây là chính xác, giả sử tập lệnh và tập tin cài đặt của bạn đều nằm dưới quyền của hoàng gia / root / Xen-pocalypse-master /..
Xử lý sự cố
Mặc dù tôi đã nỗ lực rất nhiều để làm cho kịch bản dễ sử dụng và dễ điều khiển nhất có thể, nhưng Thế giới là một phòng thí nghiệm lớn hơn. Thông tin dưới đây có thể giúp bạn xác định nguồn gốc của những rắc rối của bạn là gì.
Phát triển
Bạn có thể muốn sử dụng một lớp lót này để nhanh chóng xem trực tiếp tất cả các nhiệm vụ, để xem liệu chúng có thực sự tiến triển hay không nếu chúng thực sự bị kẹt.
trong khi [-e / dev / null]; làm cho VM trong "$ (danh sách nhiệm vụ xe | grep uuid | awk 'print $ 5')"; làm xe task-param-get param-name = tiến trình uuid = $ VM; ngủ 1; làm xong; làm xong
Để dừng xem, hãy sử dụng Ctrl + C để hãm tốc độ trong khi lặp lại.
Ghi nhật ký
Tất cả các bản ghi nhật ký của Nhật Bản được thu thập bởi máy chủ Xen chạy tập lệnh trong cơ chế nhật ký hệ thống. Điều này tất nhiên có thể được xem với:
ít hơn + F / var / log / tin nhắn
Bạn đang tìm từ khóa Chính Xen Xen-pocalypse.
Lưu ý: Citrix đã đặt chính sách duy trì hai (2) ngày cho syslog của các máy chủ của mình. Bạn có thể muốn ghi nhớ điều đó cho những người hậu hiện đại.
Gỡ lỗi
Như đã lưu ý trong phân đoạn tệp cài đặt, có một lệnh để cho phép gỡ lỗi. Việc gỡ lỗi sẽ khiến tập lệnh xuất ra ghi nhật ký chi tiết vào bảng điều khiển và chuyển nó khỏi việc gửi email và thực sự thực hiện việc xuất, trừ khi các cờ liên quan cũng được đặt. Các cờ có thể được ghi chú trong mẫu tệp cài đặt và chúng cho phép bạn xác định chi tiết những gì bạn muốn gỡ lỗi.
Tôi hy vọng rằng bạn không cần gỡ lỗi và bạn đang gặt hái thành quả lao động của mình :)
Lực đẩy, người đàn ông của tôi, bạn sắp trở thành số một decepticon.