Văn phòng Grid Computing sử dụng các môi trường ảo - Phần 3
Giới thiệu
Tôi làm việc trong một công ty nơi chúng tôi chạy việc làm nhiều đợt xử lý hàng triệu bản ghi dữ liệu mỗi ngày và tôi đã suy nghĩ gần đây về tất cả các máy mà ngồi xung quanh mỗi ngày không làm gì trong nhiều giờ. Nó sẽ không thể tốt nếu chúng ta có thể sử dụng những máy móc để tăng cường sức mạnh xử lý của các hệ thống của chúng tôi? Trong tập hợp các bài báo tôi sẽ xem xét các lợi ích tiềm năng của một văn phòng sử dụng lưới điện bằng cách sử dụng các môi trường ảo hóa.
Trong phần 2 chúng tôi nhìn vào việc làm một máy chủ sẽ chạy, và làm thế nào công việc nên được cấu hình để đạt được số tiền lớn nhất của xử lý đồng thời đảm bảo mỗi công việc được xử lý mà không có thất bại.
Thiết lập nhân viên của bạn - hoặc máy chủ khập khiễng
Bước tiếp theo trong quá trình này là thiết lập công nhân ảo của bạn. Đối với điều này tôi sẽ sử dụng một cài đặt của CentOS sử dụng VirtualBox. Tôi sẽ cài đặt mySQL và PHP trên máy chủ, còn được gọi là (Li nux, m ySQL, P HP) Limp Server (tôi có thể có được tên lên).
- Cài đặt VirtualBox trên máy tính cửa sổ của bạn (theo link)
- Tải về và cài đặt CentOS (hiện tại phiên bản 5.3) trong một máy ảo được tạo ra
Không có điểm tôi đi này có lẽ là 1.000 's các hướng dẫn tuyệt vời có (ok, đây là một: Tạo và máy Managing CentOS ảo VirtualBox dưới ). Điểm quan trọng cần lưu ý tôi giả sử là tôi gọi là máy ảo của tôi GridMachine.
Theo như sự lựa chọn của tôi về khách hàng và hệ điều hành ảo hóa đi không có lý do lớn hấp dẫn cho mỗi sự lựa chọn. VirtualBox là cái gì tôi sử dụng trên máy chủ của tôi và được hỗ trợ bởi ba hệ điều hành chính. Tôi đã chọn CentOS là một hệ điều hành ổn định của nó tốt và tôi sử dụng nó trên máy chủ web của riêng tôi. Tôi có niềm tin rất lớn trong các công cụ thích hợp cho công việc (mặc dù tôi áp dụng 'sử dụng nhanh nhất và dễ nhất cho bạn tâm lý ở đây), vì vậy nếu hệ điều hành X mã của bạn chạy nhanh hơn và hiệu quả sử dụng thay thế:)
Điều quan trọng là đảm bảo rằng máy ảo của bạn sử dụng DHCP, nếu không cho mỗi máy ảo mới sẽ cần phải được cấu hình riêng biệt đó là cái gì chúng ta không sử dụng DHCP want.By chúng ta không cần phải cấu hình các thiết lập mạng riêng cho các máy công nhân, DHCP sẽ tay ra khu công nghiệp cho bạn. Vì vậy, bạn có thể sao chép máy ảo của bạn về văn phòng mà không lo lắng về việc thiết lập mỗi một trong những động (điều này giúp cải thiện khả năng mở rộng và làm giảm nhân viên hành chính).
Quá trình bạn nên để đạt được mục tiêu sẽ là để có được một máy vật lý mới, cài đặt VirtualBox, và sau đó triển khai khá nhiều hình ảnh ảo mà không nhiều người khác. Nó có thể là khôn ngoan để thiết lập tất cả các công nhân trên một mạng con khác nhau để bạn ít nhất có thể xem có bao nhiêu máy đang chạy. Bạn cũng sẽ cần thiết lập máy của bạn trên một hợp đồng thuê dài hoặc không giới hạn cho thuê DHCP.
Làm thế nào để chạy việc về người lao động
Đây là một khu vực thú vị và có một số phương pháp hợp lệ để xử lý công việc trên công nhân. Ở đây tôi sẽ chỉ thảo luận về hai rõ ràng nhất:
- Vĩnh viễn chạy kịch bản: Một kịch bản, có thể là một kịch bản, hoặc một kịch bản PHP được thực thi một lần vào người lao động và chạy như một phần của một vòng lặp vô hạn. Tôi đã giảm giá phương pháp này là một vụ tai nạn của kịch bản và có khả năng lao động của bạn sẽ ngừng chạy mà không có một số loại can thiệp.
- Định kỳ dựa trên kịch bản thực hiện: Mỗi phút X cron daemon khởi một cuộc gọi đến kịch bản của bạn để có được điều đi. Nếu không có kiểm tra một số này có thể dẫn đến nhiều bản sao nhiều công nhân chạy kịch bản của bạn.
Quyết định của tôi là đi với cron mà khởi một kịch bản mỗi minutes. 10 kịch bản của tôi thực hiện các nhiệm vụ sau đây:
- Có được một danh sách quá trình và grep này cho 'php'. Nếu không tìm thấy sau đó tiếp tục.
- Gọi đoạn mã công việc của bạn, trong trường hợp của tôi điều này sẽ là cái gì đó dựa trên PHP
- Công nhân kịch bản hoàn thành chạy của nó
- Sẵn sàng để đi lại trên các cuộc gọi thích hợp tiếp theo
Tập lệnh bash của tôi trông giống như sau:
# / Bin! / Sh nếu ps ax | grep grep-v | grep php> / dev / null sau đó echo "công việc hiện đang chế biến, xuất cảnh" khác echo "công việc không chạy, bắt đầu ngay bây giờ" php yourJobProcessingScript.php fi
Lưu ý: của echo gần như hoàn toàn vô nghĩa, nhưng có thể giúp người kế tiếp những người đến cùng để thử và chỉnh sửa chúng.
Đó là kết luận các thiết lập của máy ảo công nhân, nhanh chóng, đơn giản và dễ dàng để sao chép cho mỗi phần mới của phần cứng mà là nhận được. Các 'thông minh' của hệ thống lưới điện thực sự không có trong hệ điều hành hình dung, của tất cả để làm với mã được tạo ra để xử lý công việc, cấu hình công việc, và trong việc bảo đảm rằng công việc chạy khi thích hợp (nghĩa là khi máy chủ là nhàn rỗi ).
Thiết lập Windows để Khởi công nhân
Nhiệm vụ đầu tiên là làm việc ra các lệnh cần thiết để chạy các máy ảo từ cửa sổ dòng lệnh. Nếu bạn đã cài đặt VirtualBox trong vị trí mặc định và bạn đã đặt tên GridMachine công nhân của bạn sau đó các lệnh cần thiết để tải lên nhân viên của bạn là:
"C: \ Program Files \ CN \ VirtualBox \ VBoxManage.exe" startvm GridMachine Tuy nhiên để chạy các kịch bản trong một nhà nước không đầu 'chúng ta cần phải sử dụng:
"C: \ Program Files \ CN \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off Điều này sẽ khởi động máy ảo mà không có giao diện đồ họa và cho phép nó để tiết kiệm nước một cách duyên dáng. Đối số thứ hai sẽ tắt RDP để nó không xung đột với các cửa sổ RDP, hoặc cung cấp cho bạn một tin nhắn về lắng nghe trên cổng 3389. Tên máy ảo là trường hợp nhạy cảm!
Tiếp theo, chúng tôi sẽ cần phải thiết lập các cửa sổ lên để khởi động máy ảo nhân viên của chúng tôi một khi máy đã được nhàn rỗi. Để làm điều này (trên Windows XP) bạn sẽ cần phải đi Start -> All Programs -> Accessories -> System Tools -> Scheduled Tasks như sau:
Tiếp theo bấm vào "Add Scheduled Task 'sau duyệt để thêm một chương trình tùy chỉnh. Điều hướng đến kịch bản VBoxManage của bạn và kích OK. Lịch trình công việc của bạn cho bất kỳ tùy chọn (chúng tôi sẽ thay đổi điều này trong một phút) và tiếp tục. Sau khi bỏ qua các cửa sổ màn hình tiếp theo sẽ hỏi bạn người mà bạn muốn chạy nhiệm vụ này, tôi muốn đề nghị hoặc "Administrator" hoặc tạo ra một người dùng mới đặc quyền. Hãy nhớ chúng ta không muốn can thiệp vào tài khoản tiêu chuẩn nhân viên trên máy tính tại bất kỳ điểm nào. Click tiếp theo và kiểm tra cho thấy tùy chọn nâng cao cho nhiệm vụ này.
Để kết thúc của hộp chạy thêm chuỗi 'startvm GridMachine' của chúng tôi và đảm bảo rằng chỉ chạy khi đăng nhập là trái unticked. Truy cập vào lịch trình nhiệm vụ tiếp theo và thay đổi lịch trình thả xuống các tùy chọn 'khi nhàn rỗi', chọn số lượng thời gian bạn muốn máy được nhàn rỗi trước khi chuyển sang tab tiếp theo.
Cuối cùng bỏ chọn tùy chọn mà các quốc gia ngăn chặn các nhiệm vụ nếu nó đã được chạy lượng X của thời gian, nhưng đánh dấu vào tùy chọn để ngăn chặn các nhiệm vụ nếu máy tính không còn nhàn rỗi.
Đó là nó sau đó cho các thiết lập máy chủ các cửa sổ!
Tóm tắt
Trong phần này chúng tôi đã thiết lập một máy ảo để hoạt động như một công nhân, cũng như cách thức mà chúng ta gọi và thực hiện các kịch bản xử lý công việc của chúng tôi (cho bản thân mình một kịch bản PHP). Từ đây chúng ta nhìn vào cách thiết lập bản sao của chúng ta về cửa sổ để khởi động máy ảo trong chế độ không đầu khi máy tính trở nên nhàn rỗi, và tiết kiệm nước khi người sử dụng hồ sơ sử dụng của máy. Hy vọng rằng vào thời điểm này bạn nhìn thấy cách đơn giản nó là để thiết lập một hệ thống và ngứa để có được một số thí nghiệm đi chính mình!
Tiếp theo thời gian
Trong phần 4 chúng tôi sẽ xem xét sử dụng công cụ để đảm bảo rằng bạn đang chạy phiên bản mới nhất của các nguồn mã và dữ liệu để kết quả thu được luôn luôn up-to-ngày với những thông tin kinh doanh mới nhất và logic.




















































[...] Phần 3 chúng ta sẽ tạo máy chế biến ảo của chúng tôi và thiết lập các cửa sổ máy của chúng tôi để trở thành [...]
[...] Phần 3 chúng tôi tạo ra máy xử lý ảo của chúng tôi và thiết lập các cửa sổ máy để trở thành nhàn rỗi thời gian [...]
Bạn là một Blogger thực sự kinh nghiệm, Bạn có hiểu biết chất lượng của những gì bạn nói về hoặc bạn đã làm một số nghiên cứu tuyệt vời. Thanks cho bài viết này tuyệt vời.