Điểm:0

Thực hành tốt nhất cho phiên bản VPS

lá cờ gb

Tôi thường xuyên cần phát triển một số dịch vụ dựa trên Linux, phần mềm miễn phí và ứng dụng nguồn đóng. Tôi sử dụng QEMU máy ảo như một môi trường phát triển nơi tôi trực tiếp chỉnh sửa các tệp trên phiên bản đang chạy và đồng thời thực hiện các thử nghiệm. Khi mọi thứ đã sẵn sàng, tôi sao chép tất cả các tệp trên máy chủ sản xuất, được tạo từ bản cài đặt hệ điều hành mới, với cấu hình hoàn chỉnh của môi trường mới.Rõ ràng, khi hệ thống đang được sản xuất, tôi cần phải đồng bộ hóa thủ công 2 môi trường để làm cho chúng tương đồng. Khi tôi sửa một lỗi trong quá trình sản xuất, tôi cần chuyển bản sửa lỗi đó sang môi trường phát triển.

Sự phát triển bao gồm một số phần:

  • Tập lệnh Linux & cấu hình phần mềm (/etc, /var/www, /home, tệp .config, quy tắc tường lửa, v.v.)
  • Phụ thuộc (danh sách phần mềm để tải xuống từ kho lưu trữ phần mềm (ví dụ: apt-get install xxx)
  • Ứng dụng
  • Kho dữ liệu

Tôi muốn biết cách tạo phiên bản phù hợp cho môi trường phức tạp này.

Tôi đã thử các cách tiếp cận sau.


Tập lệnh sao lưu tạo một tệp TAR hoàn chỉnh gồm tất cả các thành phần bắt buộc: tập lệnh để tải xuống tất cả các phần phụ thuộc, tất cả các tệp từ ứng dụng, tệp cấu hình được yêu cầu từ/etc, phiên bản cuối cùng của tập lệnh sao lưu và khôi phục, kết xuất cơ sở dữ liệu, v.v. .

Tập lệnh khôi phục sẽ xóa tất cả ứng dụng hiện tại và thay thế nó bằng phiên bản có trong tệp TAR. Cách tiếp cận này hoạt động bình thường nhưng hơi rườm rà. Cần rất nhiều sự chú ý để đảm bảo tập lệnh khôi phục hoạt động bình thường từ bản cài đặt mới.


Cách tiếp cận này có thể hơi lố bịch, tôi chưa thử nghiệm nó. Ý tưởng cũng là sử dụng Máy ảo trong môi trường sản xuất của tôi. Ở đây mình chỉ copy máy ảo vào VPS và chạy QEMU bên trong VPS. Khi tôi muốn sao lưu, tôi chỉ cần lưu đĩa Máy ảo ở đâu đó. Nó có thể không hiệu quả lắm, nhưng nó có thể chấp nhận được đối với dự án mà tôi đang thực hiện.


Tôi cũng không thử nghiệm phương pháp này, nhưng tôi đã nghĩ về nó. Ý tưởng là sử dụng một phần mềm phiên bản phần mềm như GIT trên toàn bộ hệ thống tệp sau khi cài đặt HĐH. Bằng cách này, tôi sẽ cam kết tất cả các thay đổi (tệp nhị phân và tệp văn bản).Tôi có thể xuất bản các thay đổi đối với quá trình sản xuất bằng chương trình SCM.


Cách tiếp cận này dựa trên phần mềm cụ thể. Tôi đã tìm hiểu về hướng này và nghe nói về phần mềm có tên là Kurbernetes, Puppet hay những cái tên khác. Điều này có vẻ rất phức tạp để thiết lập và tôi đã không dành nhiều thời gian để điều tra ở đó.

Các phương pháp hay nhất liên quan đến việc tạo phiên bản cho môi trường dựa trên Linux là gì?

lá cờ cn
Bob
Phiên bản cấu hình của bạn bằng cách sử dụng hệ thống quản lý cấu hình (chẳng hạn như Ansible, đầu bếp, v.v.) và giữ các sách hướng dẫn/công thức nấu ăn của bạn dưới sự kiểm soát phiên bản.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.