Làm thế nào để khôi phục lại máy ảo Citrix-Xen miễn phí với Xen-Phoenix (Bash)

Mục lục:

Làm thế nào để khôi phục lại máy ảo Citrix-Xen miễn phí với Xen-Phoenix (Bash)
Làm thế nào để khôi phục lại máy ảo Citrix-Xen miễn phí với Xen-Phoenix (Bash)

Video: Làm thế nào để khôi phục lại máy ảo Citrix-Xen miễn phí với Xen-Phoenix (Bash)

Video: Làm thế nào để khôi phục lại máy ảo Citrix-Xen miễn phí với Xen-Phoenix (Bash)
Video: Tổng Hợp các WEBSITE HỮU ÍCH mà người Việt Nam chưa biết - YouTube 2024, Có thể
Anonim
Bạn đã bao giờ có nhu cầu khôi phục số lượng lớn máy ảo Citrix-Xen của mình cho giải pháp khắc phục thảm họa (DR) hay chỉ để kiểm tra xem các bản sao lưu của bạn có hoạt động không? HTG giải thích cách sử dụng Xen-Phoenix, một tập lệnh bash miễn phí, để khôi phục VM.
Bạn đã bao giờ có nhu cầu khôi phục số lượng lớn máy ảo Citrix-Xen của mình cho giải pháp khắc phục thảm họa (DR) hay chỉ để kiểm tra xem các bản sao lưu của bạn có hoạt động không? HTG giải thích cách sử dụng Xen-Phoenix, một tập lệnh bash miễn phí, để khôi phục VM.

Tín dụng hình ảnh: Ryan McCurdy thông qua Compfight cc

Giống như chúng tôi đã đề cập trong "Làm thế nào để sao lưu Citrix Xen VM miễn phí với Xen-pocalypse", một trong những điều tốt đẹp trong Citrix Xen là nhiều tính năng của nó làmiễn phí phụ trách. Với điều đó đã nói, nếu bạn muốn có tính năng "Tự động bảo vệ và khôi phục VM", bạn sẽ phải bắt đầu thanh toán cho giấy phép "Advance". Một lần nữa, không phải là chúng tôi ở HTG đang loại bỏ giá trị của một giải pháp sao lưu thực sự, nhưng nếu bạn đang ở trên một ngân sách eo hẹp, đã có được các hình ảnh VM ra khỏi hypervisor và cần một cách để tự động hóa “kiểm tra phục hồi "/" DR làm mới "thủ tục, bạn có thể tìm thấy Xen-Phoenix là một giải pháp hoàn toàn hợp lý trước khi bạn thực hiện các cam kết ngân sách.

Tổng quan

"Use case": Bạn có một vài máy ảo yêu cầu khôi phục. Việc nhập vào "Xen Center" bằng cách sử dụng các nhấp chuột phải hoạt động ok, nhưng bạn muốn quá trình này diễn ra tự động và theo lịch biểu. Kịch bản Bash này sử dụng lệnh "XE" để thực hiện các nhiệm vụ của nó. XE là giao diện dòng lệnh Xen (CLI), tương đương tự động để phát hành “nhấp chuột phải” trong “Trung tâm Xen”. Chúng ta sẽ gọi script từ Cron, nó sẽ cung cấp phần “lập lịch trình”. Ở dạng đơn giản nhất, luồng khôi phục là:

  • Xóa bỏ tất cả * các máy ảo hiện có trước đó trên máy chủ
  • Nhập các máy ảo từ các tệp ở vị trí sao lưu.
  • Xác minh rằng tất cả các máy ảo có thể hoạt động bằng cách kích hoạt từng cái một và tìm kiếm nhịp tim của các công cụ khách.
  • Tắt máy ảo khi phát hiện nhịp tim hoặc đã hết thời gian chờ.

* Việc xóa tất cả các hành vi của máy ảo có thể được tắt hoàn toàn và hỗ trợ các ngoại lệ (xem bên dưới).

Chúng ta hãy nứt:)

Lấy tập lệnh

Xen-phoenix có thể được tự do thu được từ github, sử dụng các phương pháp git thông thường. Với điều đó đã nói, nếu bạn chưa thạo trong git, bạn có thể lấy tệp zip bằng liên kết này. Khi kịch bản 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-phoenix/archive/master.zip unzip master

Trong khi ở trên sẽ làm việc, 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.

Vị trí xuất khẩu

Chúng tôi cần phải cấu hình nơi để lấy VM xuất khẩu từ.

Trong khi ngẫu nhiên poking xung quanh trong Citrix Xen, tôi đã thấy rằng kho lưu trữ (SRs) có sẵn để sử dụng theo "/ var / run / sr-mount /% UUID%" nơi UUID là định danh duy nhất của SR, có thể được thu được từ GUI.

Điều này có nghĩa là chúng ta có thể sử dụng thuật sĩ “Next -> Next -> Finish” để tạo “mount” cho vị trí sao lưu mong muốn, và sau đó có kịch bản sử dụng đường dẫn đó (như được tạo ra để gắn kết với lệnh từ dòng lệnh ngoài phạm vi của hướng dẫn này).

Để tạo một "gắn kết" mới, bấm chuột phải vào tên máy chủ và chọn SR mới.

Trong ví dụ này, chúng ta sẽ trỏ Xen đến một phần Windows, vì vậy hãy chọn "Windows File Sharing (CIFS)":
Trong ví dụ này, chúng ta sẽ trỏ Xen đến một phần Windows, vì vậy hãy chọn "Windows File Sharing (CIFS)":
Hoàn thành Next -> Next -> Finish.
Hoàn thành Next -> Next -> Finish.

Nhận UUID của SR

Để 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 "Chung".

Để sao chép UUID, chỉ cần nhấp chuột phải vào nó và chọn "sao chép".
Để sao chép UUID, chỉ cần nhấp chuột phải vào nó và chọn "sao chép".
Với thông tin này trong tầm tay, bạn đã sẵn sàng để chỉnh sửa các tập tin cài đặt.
Với thông tin này trong tầm tay, bạn đã sẵn sàng để chỉnh sửa các tập tin cài đặt.

Định cấu hình tệp Cài đặt

Dự án Xen-phoenix đi kèm với mẫu tệp "cài đặt". 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.

Tệp cài đặt chỉ định những điều sau:

  • Vị trí xuất khẩu nguồn - Nếu bạn đã làm theo hướng dẫn đến thời điểm này, bạn chỉ phải thay thế% UUID% bằng giá trị SR khi thu được 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.
  • Trình xác minh - Điều này kiểm soát quy trình xác minh khôi phục bài đăng. Tính năng này được bật theo mặc định, vì "khôi phục cấp tệp" thành công không cần thiết có nghĩa là máy ảo chức năng.
  • Server_prep - Điều này kiểm soát trước khi khôi phục sự xóa của tất cả các máy ảo trên máy chủ DR. Điều này được kích hoạt theo mặc định bởi vì nó được giả định rằng máy chủ DR là một máy chủ chuyên dụng cho mục đích này. Nếu bạn cần một máy ảo đang chạy trên máy chủ này để không bị xóa, hãy định cấu hình máy ảo để loại trừ. Nếu hành vi này không phù hợp với hoàn cảnh của bạn, chỉ cần vô hiệu hóa hoàn toàn.
  • Chi tiết email -Một lần nữa, nếu bạn đã bật email, bạn cần xác định các chi tiết như: Tới, Từ, Servername / IP & etc ’.
  • Gỡ lỗi - Mặc định là đã gỡ lỗi với giá trị “0” (không). Bạn không cần phải bật tính năng này, nhưng nếu bạn làm như vậy, nhiều thông tin hơn sẽ được ghi lại trong phân đoạn gỡ rối.

Chấp hành

Kịch bản lệnh này lấy tệp cài đặt làm đối số đầu tiên của nó và bất kỳ đối số nào khác là “Chevrons” để tìm kiếm (được phân tách bằng dấu cách). Chevron, là “chuỗi”, hỗ trợ các cụm từ thông dụng đại diện cho ít nhất một phần tên tệp mong muốn của xuất VM.

Đó là, ở dạng đơn giản nhất của nó, một lời gọi của Xen-phoenix sẽ trông giống như:

./Xen-phoenix.sh settings.cfg DevTools

Trong trường hợp ở trên, chúng tôi nằm trong thư mục chứa tập lệnh và tệp cài đặt và “Chevron” tập lệnh sẽ tìm kiếm là “DevTools”. Điều này sẽ khiến tất cả các tệp trong thư mục xuất với chuỗi “DevTools” trong tên của chúng được nhập.

Một ví dụ phức tạp hơn có thể trông giống như:

./Xen-phoenix.sh settings.cfg [Aa][Dd] [Bb][iI] [Dd]ev[Tt]ools

Trong ví dụ trên, các tệp chứa từ “devtools” được viết bằng chữ “D” và “T” hoặc không phải vốn, cũng như “AD” & “BI” có hoặc không có viết hoa, sẽ được nhập.

Lập kế hoạch

Như đã nói ở trên, chúng ta sẽ sử dụng Cron để lên lịch thực thi. Trước khi chúng ta đi vào cấu hình, nó làrat khuyen khich bạn cấu hình gói SSMTP đã được cài đặt trên máy chủ Xen của bạn. Trong khi đâ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 "nhà sưu tập rửa ngược" như vậy có thể cảnh báo bạn về những điều mà kịch bản không thể thực hiện được.

Nhập vào chế độ chỉnh sửa của cron 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 bản sao lưu đã lên lịch vào Chủ Nhật lúc 01:31 (1:31 SA), hãy nhập thông tin bên dưới:

31 01 * * sun /root/Xen-phoenix-master/Xen-phoenix.sh /root/Xen-phoenix-master/settings.cfg [Aa][Dd] DB [Bb][iI] [Dd]ev[Tt]ools

Ở trên là chính xác giả sử tập lệnh và tập lệnh của bạn đều nằm trong “/ root / Xen-phoenix-master /”.

Nhận SendEmail (tùy chọn)

Chúng tôi đã viết về chương trình permail SendEmail trong quá khứ, vì vậy không cần phải nhắc lại ở đây. Đủ để nói, nó hoạt động theo cùng một cách trên Linux như trên Windows.

Trong khi kích hoạt email là tùy chọn, nó rất được khuyến khích bởi vì sau đó kịch bản sẽ có thể:

  • Thông báo cho bạn khi nó bắt đầu và kết thúc chạy.
  • Thông báo cho bạn về bất kỳ lỗi nào mà nó có thể phát hiện và xử lý.

Tải xuống máy chủ Xen và trích xuất.

wget https://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar xvzhf sendEmail-v1.56.tar.gz

Lưu ý vị trí bạn đã trích xuất nó. Bạn sẽ cần nó cho các tập tin cài đặt.

Xác định thẻ “Xóa ngoại lệ” (tùy chọn)

Xen-Phoenix lấy một trang từ tổ tiên của nó (Xen-Pocalypse) và cung cấp cho bạn khả năng loại bỏ một cách chi tiết một VM từ việc xóa toàn bộ hệ thống bằng cách sử dụng một TAG điều khiển. Để thực hiện việc này, bạn cần xác định “Trường tùy chỉnh” mới.

Để thực hiện việc này, hãy mở máy chủ hoặc thậm chí là các thuộc tính của máy ảo. Trong ngăn dẫn hướng, chọn “Trường tùy chỉnh”.

Nếu đây là lần đầu tiên bạn xác định “trường tùy chỉnh” (như trong ví dụ trên), bạn sẽ không có trường “Phoenix keeper” để nhập dữ liệu vào, vì vậy bạn cần tạo nó. Để thực hiện việc này, nhấp vào “Chỉnh sửa trường tùy chỉnh” trong hộp thoại bật lên, sau đó nhấp vào “Thêm…”
Nếu đây là lần đầu tiên bạn xác định “trường tùy chỉnh” (như trong ví dụ trên), bạn sẽ không có trường “Phoenix keeper” để nhập dữ liệu vào, vì vậy bạn cần tạo nó. Để thực hiện việc này, nhấp vào “Chỉnh sửa trường tùy chỉnh” trong hộp thoại bật lên, sau đó nhấp vào “Thêm…”
Tạo trường “Văn bản” với tên “Phoenix keeper”.
Tạo trường “Văn bản” với tên “Phoenix keeper”.

Chú thích: Tên của trường tùy chỉnh đã được "mã hóa cứng" vào tập lệnh, vì vậy bạn PHẢI không đi chệch khỏi chính tả ở trên, trừ khi bạn thay đổi mã có liên quan.

Khi trường đã được tạo, bạn sẽ thấy:

Đóng cửa sổ. Bây giờ bạn sẽ có trường “Phoenix keeper” để điền vào, như trong hình bên dưới.
Đóng cửa sổ. Bây giờ bạn sẽ có trường “Phoenix keeper” để điền vào, như trong hình bên dưới.
Bây giờ, tất cả những gì bạn phải làm là điền vào trường này với một nhận xét (bất kỳ nhận xét nào sẽ làm), điều này sẽ khiến Xen-phoenix bỏ qua nó khi xóa.
Bây giờ, tất cả những gì bạn phải làm là điền vào trường này với một nhận xét (bất kỳ nhận xét nào sẽ làm), điều này sẽ khiến Xen-phoenix bỏ qua nó khi xóa.

Xử lý sự cố

Mặc dù tôi đã nỗ lực rất nhiều để làm cho kịch bản trở nên dễ sử dụng và dễ hiểu nhất có thể, “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ì.

Ghi nhật ký

Tất cả "đăng nhập" được thu thập bởi các máy chủ Xen chạy kịch bản trong cơ chế syslog. Điều này, tất nhiên, có thể được xem với:

less +F /var/log/messages

Bạn đang tìm kiếm từ khóa “Xen-Phoenix”.

Lưu ý: Citrix đã đặt hai (2) ngày duy trì chính sách cho syslog của máy chủ của nó. Bạn có thể muốn ghi nhớ điều đó cho các postmortems.

Gỡ lỗi

Như đã lưu ý trong phân đoạn tệp cài đặt, có một chỉ thị để bật gỡ lỗi. Việc bật gỡ lỗi sẽ khiến cho tập lệnh xuất đầu ghi chi tiết vào bảng điều khiển và chuyển nó khỏi gửi email và thực sự thực hiện nhập, 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 định nghĩa 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 được thành quả lao động của mình:)

Chỉ cần nghĩ về tất cả sự nghèo khổ, sự thù hận và những lời dối trá, Và hãy tưởng tượng sự tàn phá của tất cả những gì bạn khinh thường. Từ từ đống tro tàn, phượng hoàng sẽ phát sinh…

Đề xuất: