Bài viết được gắn thẻ: nhàn rỗi

Văn phòng lưới máy tính sử dụng môi trường ảo - Phần 3

, thứ Sáu ngày 04 tháng 12 năm 2009 23:37

Giới thiệu

Tôi làm việc trong một công ty mà chúng tôi chạy nhiều công việc hàng loạt chế biến 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 ngồi xung quanh mỗi ngày và không làm gì trong vài giờ. Nó sẽ không 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 hệ thống của chúng tôi? Trong tập hợp các bài viết này, tôi sẽ xem xét các lợi ích tiềm năng của việc sử dụng một văn phòng lưới điện bằng cách sử dụng môi trường ảo hóa.

Trong phần 2 chúng ta 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 chế biến trong khi đảm bảo rằng mỗi công việc được xử lý mà không thất bại.

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 là thiết lập các 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 bằng cách sử dụng VirtualBox. Tôi sẽ cài đặt mySQLPHP trên máy chủ, còn được gọi là (Li nux, m ySQL, P HP) Limp ServerA (tôi có thể đã thực hiện rằng tên lên).

  • Cài đặt VirtualBox trên máy tính các cửa sổ của bạn (theo liên kết)
  • Tải về và cài đặt CentOS (phiên bản hiện hành 5.3) bên trong một máy ảo được tạo ra

Không có điểm tôi sẽ có 1.000 's hướng dẫn tuyệt vời có (ok, đây là một: Tạo và máy ảo trong VirtualBox Managing CentOS ). Điểm quan trọng cần lưu ý tôi giả sử là tôi được gọi là máy ảo của tôi GridMachine.

Theo như sự lựa chọn của khách hàng ảo hóa và hệ điều hành đi không có lý do hấp dẫn lớn đối với mỗi sự lựa chọn. VirtualBox là một 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 lớn trong các công cụ cho công việc (mặc dù tôi đang á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 chạy mã của bạn nhanh hơn và nhiều hơn nữa hiệu quả sử dụng mà thay vào đó :)

Đ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 mà là một cái gì đó chúng tôi không want.By sử dụng DHCP chúng ta không cần cấu hình các thiết lập mạng riêng biệt cho các máy công nhân, DHCP sẽ trao 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 cần lo lắng về việc thiết lập mỗi một trong những động (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 nhằm mục đích để đạt được 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 có nhiều khác. Nó có thể là khôn ngoan để thiết lập tất cả các công nhân của bạn trên một subnet khác nhau để bạn có thể nhìn thấy bao nhiêu máy đang chạy. Bạn cũng sẽ cần phải thiết lập máy của bạn trên một hợp đồng thuê lâu dài hay không giới hạn cho thuê DHCP.

Làm thế nào để chạy Việc 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 người lao động. Ở đâ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 hiện một lần trên 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 trong những 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.
  • Thực hiện kịch bản định kỳ dựa trên: Mỗi phút X cron daemon bắt đầu 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ố điều này có thể dẫn đến nhiều bản sao nhiều nhân viên chạy kịch bản của bạn.

Quyết định của tôi là đi với cron khởi động 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:

  1. Có được một danh sách các tiến trình và grep 'php'. Nếu không tìm thấy sau đó tiếp tục.
  2. Gọi mã công việc của bạn, trong trường hợp này sẽ là một cái gì đó PHP
  3. Công nhân kịch bản hoàn thành chạy của nó
  4. Sẵn sàng để đi lại trên các cuộc gọi thích hợp tiếp theo

Kịch bản bash của tôi trông giống như sau:

  # / Bin / sh
 nếu ps ax | grep-v grep | grep php> / dev / null
 sau đó
     echo "công việc hiện đang được 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 tiếng vọng gần như hoàn toàn vô nghĩa, nhưng có thể giúp người tiếp theo đế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 công nhân ảo, nhanh chóng, đơn giản và dễ dàng để sao chép cho mỗi mảnh của phần cứng mới được nhận. 'Thông minh' của hệ thống lưới điện thực sự không phải là hình tượng trong hệ điều hành, tất cả để làm với các mã được tạo ra công ăn việc làm quá trình, cấu hình việc làm, và đảm bảo rằng công việc chạy khi thích hợp (ví dụ như khi máy chủ nhàn rỗi ).

Thiết lập Windows Khởi công nhân

Nhiệm vụ đầu tiên là các lệnh cần thiết để chạy các máy ảo từ các 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 nhân viê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 trạng thái '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ẽ bắt đầu các máy ảo mà không có giao diện và cho phép nó để tiết kiệm nhà nước một cách duyên dáng. Đối số thứ hai sẽ tắt RDP để nó không mâu thuẫn với các cửa sổ RDP, hoặc cung cấp cho bạn một thông điệp 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ổ để khởi động máy ảo công nhân của chúng tôi khi máy tính đã đượ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:

dự kiến ​​nhiệm vụ

Tiếp theo nhấp vào "Add Scheduled Task, tiếp theo là trình 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 màn hình kế tiếp, các cửa sổ 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 là 'Administrator' hoặc tạo ra một người sử dụng đặc quyền mới. Hãy nhớ chúng tôi không muốn can thiệp vào các tài khoản nhân viên tiêu chuẩn trên máy tính tại bất kỳ điểm nào. Kích tiếp theo và kiểm tra hiển thị tùy chọn nâng cao cho nhiệm vụ này.

Để cuối của hộp văn bản chạy thêm chuỗi 'startvm GridMachine của chúng tôi và đảm bảo rằng chạy chỉ khi đăng nhập còn lại unticked. Truy cập vào lịch trình công việc tiếp theo và thay đổi lịch trình thả xuống tùy chọn 'nhàn rỗi', chọn số lượng thời gian bạn muốn máy tính để được nhàn rỗi trước khi chuyển tới tab tiếp theo.

Cuối cùng, bỏ chọn các tùy chọn trong đó nêu dừng nhiệm vụ nếu nó đã được chạy X số lượng thời gian, nhưng không đánh dấu vào tùy chọn để ngăn chặn các nhiệm vụ nếu máy không còn nhàn rỗi.

lịch trình

Đó là sau đó cho các cửa sổ thiết lập máy chủ!

Tóm tắt thông tin

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 làm thế nào để thiết lập bản sao của chúng ta về cửa sổ để bắt đầu các 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 dùng tiếp tục sử dụng máy. Hy vọng rằng vào thời điểm này bạn đang nhìn thấy cách đơn giản nó là để thiết lập một hệ thống như vậy và đang nóng lòng muốn có được một số thí nghiệm sẽ cho mình!

Tiếp theo thời gian

Trong phần 4, chúng tôi sẽ xem xét sử dụng các 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 là luôn luôn up-to-ngày với các thông tin kinh doanh mới nhất và logic.

Văn phòng lưới máy tính sử dụng môi trường ảo - Phần 1

, thứ Sáu ngày 04 tháng 12 năm 2009 11:23

Giới thiệu

Tôi làm việc trong một công ty mà chúng tôi chạy nhiều công việc hàng loạt chế biến 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 ngồi xung quanh mỗi ngày và không làm gì trong vài giờ. Nó sẽ không 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 hệ thống của chúng tôi? Trong tập hợp các bài viết này, tôi sẽ xem xét các lợi ích tiềm năng của việc sử dụng một văn phòng lưới điện bằng cách sử dụng môi trường ảo hóa.

Là một PHP phát triển, tôi sẽ sử dụng các công cụ mà tôi sử dụng mỗi ngày cụ thể là, Linux, mySQL , PHP, VirtualBox và lật đổ (SVN). Tuy nhiên tôi hy vọng hướng dẫn này sẽ thích ứng với ngôn ngữ và các công nghệ khác chỉ là tốt.

Các giải pháp tôi cung cấp sẽ được dựa trên các loại chế biến chúng ta cần phải đạt được tuy nhiên điều này có thể không đúng sự thật thông qua toàn bộ bài viết như tôi sẽ thay đổi mọi thứ để đơn giản, hoặc để sản xuất các kịch bản sử dụng thú vị hơn.

Những môi trường ảo hóa sẽ chạy trên cửa sổ máy vì đây là những gì đa số các văn phòng chạy. Việc xử lý các máy văn phòng không nên can thiệp với nhân viên bằng cách sử dụng các máy, nên không cần bảo trì máy tính, và có thể dễ dàng triển khai cho các máy tính mới khi chúng trở nên có sẵn. Ngoài ra, các máy ảo mới không yêu cầu bất kỳ cấu hình bổ sung như điều này làm giảm đáng kể khả năng mở rộng và dễ dàng mà tại đó các hệ thống lưới điện có thể được mở rộng.

Tại sao Triển khai một lưới máy tính văn phòng?

Trước hết bạn có thể nghĩ, tại sao không chỉ sử dụng một nguồn tài nguyên điện toán đám mây như nền tảng EC2 của Amazon ? Vâng, lý do có thể là một số, ví dụ:

  • Bạn sẽ không ủy thác cho các dữ liệu nhất định đến một môi trường điện toán đám mây
  • Bạn không thể đưa dữ liệu nhất định vào một môi trường điện toán đám mây vì lý do pháp lý (dữ liệu ví dụ như rời khỏi đất nước), có khả năng vì lý do pháp lý, ví dụ như NHS hồ sơ.
  • Bạn muốn giữ các đơn vị của bạn xử lý đóng và có toàn quyền kiểm soát phần cứng
  • Bạn không có quỹ dự án để chạy các trường hợp đám mây
  • Văn phòng của bạn không có một kết nối Internet và do đó không phải của nó có thể sử dụng một nguồn tài nguyên điện toán đám mây
  • Bạn không thích mưa, những đám mây cho mưa, do đó bạn giữ tốt ngay

Tôi chắc rằng danh sách có thể tiếp tục, nhưng tôi nghĩ rằng đó là đủ cho bây giờ.

Ưu điểm của một Grid Computing Office

Vâng, cho phép làm một số toán học (và trong phong cách vật lý thực sự cho phép làm cho một số giả định sâu rộng). Hãy tưởng tượng bạn có xử lý máy chủ lớn lực lưỡng chạy 100 việc làm mỗi ngày. Trong văn phòng của bạn, bạn có 50 máy là 16 giờ một ngày nhàn rỗi, các máy này là 10% như mạnh mẽ như cắt đứt xử lý lực lưỡng của bạn. (Tất cả các kết quả ở đây được làm tròn để đánh giá thấp gia tăng hiệu suất).

Vì vậy, 1 máy * 10% công suất * 2/3 thời gian = 0,067 tức là 1 máy tính để bàn chế biến trong thời gian nhàn rỗi có thể xử lý 6 công ăn việc làm đầy đủ mỗi ngày.

Nếu bây giờ bạn mở rộng này lên phải mất 15 máy tính để bàn nhàn rỗi để xử lý công việc như nhiều người mỗi ngày xử lý máy chủ chính của bạn.

Vì vậy, trong văn phòng của chúng tôi giả vờ của 50 máy, chúng tôi có thể làm tăng sức mạnh xử lý của chúng tôi từ 1 máy chủ lên đến 4 máy chủ xử lý đầy đủ, hoặc chúng tôi có thể được chế biến 400 việc làm mỗi ngày thay vì 100.

Thông báo, không có đầu tư phần cứng mới, công ty của bạn vừa tăng công suất chế biến hàng loạt của nó 4 lần! Có khả năng bạn sẽ tăng sử dụng năng lượng của bạn nhưng hầu hết các môi trường văn phòng tôi đã được cho các máy còn lại trên qua đêm nào, vì vậy bạn có thể thấy điều này như một sáng kiến ​​màu xanh lá cây.

Lợi thế khác cũng có nghĩa rằng đầu tư mới hoặc cập nhật các máy chủ xử lý có thể được trì hoãn nếu máy văn phòng của bạn là đủ và khi bạn cải thiện sức mạnh của máy văn phòng của bạn lưới văn phòng của bạn trở nên mạnh mẽ hơn, tự động.

Công nghệ

Những gì bạn cần? (Hay đúng hơn tôi đã sử dụng những gì):

  • Máy văn phòng nhàn rỗi (trong trường hợp của tôi, một phụ tùng máy tính xách tay Windows XP)
  • VirtualBox (hoặc khách hàng phần mềm ảo hóa khác)
  • Một máy ảo với PHP, mySQL running chạy cắt giảm hệ điều hành, tôi kêu gọi các máy chủ của tôi khập khiễng :)
  • Việc để chạy
  • Công việc máy chủ (có thể là một máy ảo một nơi nào đó)

Điển hình Việc làm

Các loại công việc mà hệ thống này được thiết kế để chạy như sau:

  • Hệ thống nhận được một danh sách các dữ liệu khi mà chúng ta cần để phù hợp và trả lại kết quả
  • Kết hợp liên quan đến việc kiểm tra / tìm kiếm dữ liệu nguồn một số (khá tĩnh)
  • Kết quả từ các nguồn dữ liệu có thể yêu cầu xác nhận thêm, sáp nhập, kiểm tra các nguồn dữ liệu bổ sung để đáp ứng với kết quả
  • Dữ liệu được trả về với các bản ghi phù hợp, đầy đủ xác nhận và xử lý
  • Mỗi bản ghi trong một công việc độc lập với phần còn lại

Vì vậy, về cơ bản chúng tôi đang tìm kiếm cái chạy các công việc có yêu cầu một hỗn hợp của cơ sở dữ liệu tra cứu và một số crunching số, một kịch bản khá điển hình trong một môi trường kinh doanh.

Giải pháp mạng lưới không chỉ thuận lợi cho chế biến công việc của loại này. Về cơ bản, bất kỳ quá trình có thể được chia thành các đơn vị độc lập có thể được chạy song song. Xem wikipedia cho các ví dụ và biết thêm thông tin: Điện toán lưới , nhưng một vài ví dụ nổi tiếng là Seti @ HomeBIONC . Có khuôn khổ để chạy các lưới điện toán, và đây cũng có giá trị xem xét.

Những gì chúng ta sẽ đạt được?

Đến cuối những bài viết này, tôi hy vọng rằng việc triển khai một mạng lưới văn phòng không cần phải là cực kỳ đắt tiền hoặc tốn thời gian. Tôi sẽ thảo luận:

  • Thiết lập hệ thống kiểm soát công việc, công việc cấu hình
  • Tạo một máy xử lý thích hợp ảo
  • Làm thế nào để thiết lập các hệ thống trên một máy cửa sổ
  • Đảm bảo bạn đang sử dụng mã mới nhất và dữ liệu
  • Triển khai và điểm chuẩn
  • Nhìn về phía trước

Tôi sẽ xây dựng (ok tôi được xây dựng, sau đó viết này) là một ứng dụng ví dụ để kiểm tra các khái niệm trên một máy địa phương sử dụng Windows XP và GridMachine 'máy ảo của tôi. Công việc máy chủ kiểm soát của tôi sẽ là máy chính của tôi mà chạy Fedora 11 .

Này không có nghĩa là để chứng minh một hệ thống hoàn toàn làm việc mạnh mẽ, có nghĩa là một cuộc biểu tình và thảo luận cho thấy rằng những điều này có thể đạt được trong một không gian ngắn hợp lý thời gian và chi phí ít. Xin vui lòng gửi cho tôi bất kỳ ý kiến, chỉnh sửa, hoặc cải tiến và tôi sẽ làm hết sức mình để giữ cho bài viết này cập nhật cho phù hợp.

Tiếp theo thời gian

Trong phần 2 tôi sẽ bắt đầu bằng cách nhìn vào hệ thống điều khiển công việc, và nhìn vào công việc nên được cấu hình để đạt được số tiền lớn nhất của chế biến trong khi đảm bảo rằng mỗi công việc được xử lý mà không thất bại.













Panorama Theme theo Themocracy

6 khách truy cập trực tuyến tại
5 khách, 1 bots, 0 thành viên
Max khách truy cập hôm nay: 22 lúc 07:35 am UTC
Tháng này: 26 2012/04/04 10:27 pm UTC
Năm nay: 69 27-02-2012 09:56 am UTC
Tất cả thời gian: 130 28-03-2011 10:40 pm UTC