文章標籤:閒置

辦公室網格計算使用虛擬環境-第3部分

,四日(星期五)十二月2009 11:37下午

介紹

我在一家公司上班,我們許多批處理作業處理數據每天數以百萬計的記錄,我一直在想最近所有的機器,周圍坐的每一天做幾個小時沒有運行。 如果我們可以使用這些機器,以增強我們的系統的處理能力,豈不是好? 在這組文章中,我要去看看用人辦公室電網使用虛擬環境的潛在好處。

第2部分 ,我們看著一台服務器將運行的工作,工作應該如何進行配置,以達到處理量最大,同時確保每個作業無故障處理。

設置您的工作 - 或跛行服務器

在這個過程中的下一步是建立虛擬的工人。 為了這個,我要去使用CentOS的安裝使用VirtualBox的。 我要安裝MySQLPHP服務器,又稱跛行馬錢,M ySQL,P惠普)SERVERA(我可能這個名字)。

  • 你的Windows機器上安裝VirtualBox的(後續鏈接)
  • 下載並安裝創建的虛擬機內的CentOS(當前版本5.3)

我這有可能是1000“有偉大的教程(OK,這裡有一個:小號下VirtualBox的創建和ManagingÂCentOS的虛擬機 )沒有意義。 我想重要的一點要注意的是,我叫我的虛擬機GridMachine的

至於客戶端虛擬化和操作系統,我選擇去那裡是沒有什麼大的每一個選擇的令人信服的理由。 VirtualBox是什麼,​​我用我家的機器,是由三大操作系統的支持。 我選擇的CentOS作為一個良好的穩定的操作系統,我用我自己的Web服務器。 我偉大的信徒在工作的合適的工具(雖然我申請“用你最快最簡單的心態在這裡),因此, 如果作業系 ​​統X運行你的代碼更快和更有效地使用,而不是 :)

重要的是確保你的虛擬機使用DHCP,為每一個新的虛擬機,否則將需要單獨配置,這是我們不want.By使用DHCP我們不需要工人機器配置網絡設置單獨的DHCP將手出你的IP地址。 因此,你可以複製你的辦公室的虛擬機,無需擔心設置每一個(這提高了可擴展性和降低工人管理)。

應力求實現的過程中,你將獲得一個新的物理機,安裝VirtualBox,然後非常部署沒有太多的其他虛擬形象。 這可能是明智的設置在不同的子網中的所有工人,這樣你至少可以看到有多少機器正在運行。 你還需要設置你的機器上長期租賃或租賃的DHCP無限。

如何運行工人的工作

這是一個有趣的領域,有幾個工人在處理工作的有效方法。 在這裡我只討論兩個最明顯的:

  • 永遠運行腳本:腳本,它是一個shell腳本,或一個PHP腳本執行一次對工人和運行一個無限循環的一部分。 我貼現作為一個腳本的崩潰這種方法,可能你的工人將停止運行,而不某種干預。
  • cron守護進程cron的腳本執行:每隔X分鐘揭開序幕,以你的腳本的呼籲得到的東西去。 如果沒有一些檢查,這可能會導致很多工人腳本運行的副本。

我的決定是用cron去揭開序幕的shell腳本每10minutes.Â的我的shell腳本執行以下任務:

  1. 獲取進程列表和grep'PHP'。 如果沒有找到,那麼繼續。
  2. 打電話給你的工作代碼,這在我的情況下將根據事情的PHP
  3. 工人腳本完成其運行
  4. 再次準備去下一個合適的呼叫

我的bash腳本看起來像下面這樣:

  #!/ bin / sh的
如果PS斧| grep的-V的grep | grep的PHP>的/ dev / null的
然後
    迴聲“工作目前正在處理,退出”
其他
    呼應“作業未運行,從現在開始”
     PHP yourJobProcessingScript.php
科幻 

注:迴聲的幾乎是完全沒有意義的,但可能有助於未來走來的人嘗試和編輯。

總結了一套工人的虛擬機,快速,簡單,容易複製到每個接收新硬件。 電網系統的“聰明”真的不是在可視化的操作系統,其所有的代碼創建過程中的工作,工作配置,並與在確保工作運行在適當的時候(即當主機處於閒置狀態)。

設置Windows初始化工人

第一項任務是工作需要從Windows命令行中運行虛擬機的命令。 如果你在默認位置安裝了VirtualBox和你命名的工人GridMachine,然後加載你的工作所需的命令是:

 的“C:\ Program Files文件\ Sun \中的VirtualBox \ VBoxManage.exe”startvm GridMachine 

但是在一個“無頭”狀態運行的腳本,我們需要使用:

  “C:\程序文件\ Sun \中的VirtualBox \ VBoxHeadless.exe”startvm GridMachine - VRDP =關閉 

這將啟動虛擬機,沒有GUI,並允許它來保存狀態正常。 第二個參數關閉的RDP,因此不會與Windows RDP的衝突,或給你一個消息監聽端口3389。 虛擬機的名稱是大小寫敏感的!

下一步,我們需要設置窗口,我們工人VM一旦機器已經閒置揭開序幕。 要做到這一點(在Windows XP中),你需要去開始 - >所有程序 - >附件 - >系統工具 - >任務計劃如下:

計劃任務

下一步點擊“添加任務計劃”瀏覽添加一個自定義程序。 導航到您的VBoxManage腳本,然後單擊“確定”。 時間表的任何選項(我們將在一分鐘內改變)你的任務,並繼續。 跳過下一個屏幕後,窗口會問你是誰,你想運行此任務,我建議無論是“管理員”或創建一個新的特權用戶。 請記住我們不想干涉在任何時候,機器上的標準的人員佔。 點擊“下一步”,並檢查顯示此任務的高級選項。

運行文本框的末尾添加“startvm GridMachine'字符串,並確保運行,只有當記錄在左取清選取3.1。 訪問日程任務和改變時間表下拉選項“空閒”時,選擇的時間,你想在機器閒置,然後再移動到下一個標籤。

最後的選項勾去掉其中規定停止任務,如果它已經運行的X時間,但不打勾的選項,以停止任務,如果機器不再是閒置。

時間表

這是Windows主機設置!

總結

在這一部分中,我們已成立了一個虛擬機作為一個工人,以及調用和執行我們的工作處理腳本的方式,我們(給自己一個PHP腳本)。 從這裡,我們來看看如何建立我們的Windows副本在headless模式啟動虛擬機的計算機變為空閒時,保存其狀態,當用戶恢復使用機器。 希望在這一點上,你將看到它是多麼簡單,設立這樣一個系統,並渴望得到一些實驗自己!

下一次

第4部分中,我們將著眼於使用工具,以確保您正在運行最新版本的代碼和數據來源,使得到的結果是一直到最新的最新的商業信息和邏輯。

辦公室網格計算使用虛擬環境-第1部分

(星期五)二零零九年十二月四日下午11:23

介紹

我在一家公司上班,我們許多批處理作業處理數據每天數以百萬計的記錄,我一直在想最近所有的機器,周圍坐的每一天做幾個小時沒有運行。 如果我們可以使用這些機器,以增強我們的系統的處理能力,豈不是好? 在這組文章中,我要去看看用人辦公室電網使用虛擬環境的潛在好處。

作為一個PHP開發人員,我要使用的工具,我使用的每一天,即Linux中, MYSQL ,PHP,VirtualBox和顛覆(SVN)的。 不過,我希望本指南將適應其他語言和技術一樣好。

提供解決方案,我將非常鬆散的基礎上處理,我們就需要實現,但是這可能不是通過整篇文章的真實,我會改變為簡單的事情,或產生更有趣的使用場景類型。

這些虛擬環境將Windows機器上運行,因為這是大多數辦事處運行。 辦公室機器做了處理,不應該干涉員工使用這些機器,應該不需要在機器的維修,並很容易地部署到新機,因為他們成為可用。 此外,新的虛擬機,不需要任何額外的配置,因為這大大降低了在可擴展的網格系統的可擴展性和易用性。

為什麼要部署Office的計算網格嗎?

首先,你可能會想,為什麼不使用雲計算資源,如Amazon的EC2平台 原因可能有幾個,例如:

  • 你不會委託到雲計算環境中的某些數據
  • 到雲計算環境中,你不能把某些數據(如數據離開該國)法律上的原因,可能出於法律原因,如NHS的紀錄。
  • 你要保持加工單位關閉,並有超過硬件的完全控制
  • 你沒有項目資金運行雲實例
  • 你的辦公室並沒有連接到互聯網,因此它不可能使用雲資源
  • 你不喜歡雨,雲建議雨,因此你保持良好

我敢肯定,這個名單可以繼續,但我認為這是足夠現在。

一個辦公室計算網格的優點

好吧,讓我們做一些數學(在真實的物理風格讓一些籠統的假設)。 試想一下,你有大的的仡處理服務器上運行100每一天的工作。 在你的辦公室有50台機器,每天16小時處於閒置狀態,這些機器是只要你仡處理SEVER強大的10%。 (四捨五入到這裡所有的結果都低估的性能提升)。

因此,1台* 10%的電力* 2/3的時間= 0.067 1,即在桌面空閒時間處理, 每天可處理6的全面工作

如果你現在擴展這件事,它需要15閒置的台式機,每天處理盡可能多的就業機會,作為你的主服務器進行處理。

因此,在我們假裝辦公室50台機器,我們可以增加1服務器我們4個全處理服務器的處理能力,或者我們可以處理400每一天的工作,而不是100。

通知,貴公司已沒有新的硬件投資只是增加其批量處理能力的4倍 潛在的,你要你的用電量增加,但大多數辦公環境,我去過機一般都留下過夜了,所以你可以看到作為一個綠色倡議。

也意味著,在新的投資(或更新)處理服務器可以被延遲,如果你的辦公室機器充足,為您提高您的辦公設備的電源,你的辦公室網格變得更加強大,自動等優勢。

技術

你需要什麼? (或更正確,我沒有什麼用):

  • 閒置辦公設備(備用的舊的Windows XP的筆記本電腦在我的情況)
  • VirtualBox的(或其他虛擬化客戶端軟件)
  • 與PHP,mySQL的runningÂ切割下來操作系統上運行的虛擬機,我打電話給我的這些LIMP服務器 :)
  • 喬布斯運行
  • 作業服務器(可以是另一台虛擬機的地方)

典型的工作

,該系統被設計為運行工作的類型如下:

  • 系統接收到的數據,這就需要我們以匹配並返回結果列表
  • 符合條件的涉及檢查/尋找數(相當靜態)的數據源
  • 從數據源的結果,可能需要進一步驗證,合併,其他數據源的檢查結果
  • 數據返回匹配的記錄,充分驗證和處理
  • 內工作的每個記錄是獨立的休息

所以基本上我們尋找正在運行的作業,這需要一個數據庫查詢的混合物和一些數字運算,在一個商業環境相當典型的場景。

電網解決方案是處理這種類型的工作,不僅有利。 基本上可以並行運行,任何分裂過程可分為獨立單位。 為例子和詳細信息,請參見本維基百科: 網格計算 ,但幾個著名的例子是SETI @ HOMEBIONC 有運行計算網格框架,這些都值得探討。

我們會實現嗎?

通過這些文章的最後,我希望部署辦公網格,不需要非常昂貴或費時。 我要討論:

  • 設置作業控制系統,工作配置
  • 創建一個適當的處理虛擬機
  • 如何設置在Windows機器上的系統
  • 確保您使用的是最新的代碼和數據
  • 部署和基準
  • 展望未來

我會大樓(我建的,然後寫這)一個示例應用程序來測試使用Windows XP和我GridMachine“虛擬機上的本地機的概念。 我的作業控制服務器將成為我主要的機器上運行Fedora 11中

這絕不是為了展示一個完全工作的強大的系統,它意味著更多的示範和討論顯示,這些東西可以在相當短的時間空間,在較小的代價實現。 請隨時給我任何意見,更正,或改善,我會盡我最大努力保持更新以匹配本文。

下一次

第2部分 ,我會開始在尋找工作控制系統,並考慮工作應該如何進行配置,以達到處理量最大,同時確保每個作業無故障處理。













全景主題 themocracy

2訪客在線
1位,1個機器人,0成員
今天最多訪問:14日上午在12:49 UTC
本月26日在2012年4月4日10:27 PM UTC
今年:69在27-02-2012 09:56我
所有時間:130 28-03-2011下午10:40 UTC