Pejabat Pengkomputeran Grid menggunakan persekitaran Maya - Bahagian 3
Pengenalan
Saya bekerja di sebuah syarikat di mana kita menjalankan banyak kerja kelompok pemprosesan berjuta-juta rekod data setiap hari dan saya telah memikirkan tentang semua mesin yang duduk di sekitar setiap hari dan setiap melakukan apa-apa untuk beberapa jam baru-baru ini. Bukankah lebih baik jika kita boleh menggunakan mesin tersebut untuk mengukuhkan kuasa pemprosesan sistem kami? Dalam set rencana-rencana ini, saya akan melihat manfaat yang berpotensi menggajikan pejabat grid yang menggunakan persekitaran virtualised.
Di bahagian 2 kita melihat pekerjaan pelayan akan berjalan, dan bagaimana kerja sepatutnya dikonfigurasi untuk mencapai jumlah terbesar pemprosesan di samping memastikan bahawa setiap pekerjaan diproses tanpa gagal.
Menubuhkan pekerja anda - atau pelayan tempang
Langkah seterusnya dalam proses untuk menubuhkan pekerja maya anda. Untuk ini, saya akan menggunakan pemasangan CentOS menggunakan VirtualBox. Saya hendak install mySQL dan PHP pada pelayan, juga dikenali sebagai tempang (Li Nux,. m ySQL P HP,) Server (Saya mungkin telah dibuat bahawa nama sehingga).
- Memasang VirtualBox pada mesin tingkap anda (ikut pautan)
- Muat turun dan pasang CentOS (semasa versi 5,3) dalam mesin maya yang dicipta
Tidak ada titik saya pergi ini mungkin ada s 1.000 tutorial hebat di luar sana (ok, di sini adalah satu: Mewujudkan dan Managing CentOS maya mesin di bawah virtualbox ). Titik penting untuk mengambil perhatian saya kira bahawa saya dipanggil mesin maya saya GridMachine.
Sejauh seperti pilihan pelanggan maya dan sistem operasi saya pergi, tidak ada sebab besar yang menarik untuk setiap pilihan. VirtualBox adalah sesuatu yang saya gunakan pada mesin rumah saya dan disokong oleh tiga sistem pengendalian utama. Saya memilih CentOS sebagai OS yang stabil baik dan saya menggunakannya pada pelayan web saya sendiri. Saya mempercayai besar dalam alat-alat yang sesuai untuk kerja (walaupun saya memohon 'menggunakan yang paling cepat dan paling mudah untuk anda' minda di sini), jadi jika sistem operasi X menjalankan kod anda lebih cepat dan cekap menggunakan bahawa bukannya :)
Penting memastikan bahawa VM anda menggunakan DHCP, sebaliknya bagi setiap mesin maya baru perlu diatur secara berasingan yang merupakan sesuatu yang kita tidak want.By menggunakan DHCP kita tidak perlu untuk mengkonfigurasi tetapan rangkaian individu untuk mesin pekerja, DHCP akan menyerahkan keluar IP untuk anda. Oleh itu anda boleh menyalin mesin maya anda tentang pejabat tanpa perlu bimbang menetapkan setiap satu (ini meningkatkan skala dan mengurangkan pentadbiran pekerja).
Proses anda perlu berusaha untuk mencapai adalah untuk mendapatkan mesin baru fizikal, memasang VirtualBox, dan kemudian cukup banyak menempatkan imej maya tanpa banyak lain. Ia mungkin bijak untuk persediaan semua pekerja anda pada subnet yang berbeza supaya anda sekurang-kurangnya dapat melihat berapa banyak mesin berjalan. Anda juga perlu untuk menubuhkan mesin anda ke atas pajakan yang lama atau tanpa had pajakan DHCP.
Bagaimana menjalankan Pekerjaan pada pekerja
Ini adalah kawasan yang menarik dan terdapat beberapa kaedah yang sah untuk memproses kerja pada pekerja. Di sini saya hanya akan membincangkan dua yang paling jelas:
- Sentiasa menjalankan skrip: skrip A, sama ada skrip shell, atau skrip PHP dilaksanakan sekali pada pekerja dan berjalan sebagai sebahagian daripada gelung tak terhingga. Saya telah didiskaunkan kaedah ini sebagai salah satu kemalangan skrip dan berpotensi untuk pekerja anda akan terhenti berjalan tanpa sejenis campur tangan.
- Cron pelaksanaan skrip berasaskan: Setiap minit X daemon cron bermula panggilan kepada script kamu untuk mendapatkan hal yang terjadi. Tanpa semakan beberapa ini boleh membawa kepada salinan banyak berjalan skrip pekerja anda.
Keputusan saya adalah pergi dengan cron yang bermula skrip shell setiap minutes. yang 10 skrip shell saya melaksanakan tugas-tugas berikut:
- Dapatkan senarai proses dan grep ini untuk 'php'. Jika tidak dijumpai, maka terus.
- Panggil kod kerja anda, dalam kes saya ini akan menjadi PHP sesuatu berdasarkan
- Skrip pekerja melengkapkan jangka
- Bersedia untuk pergi sekali lagi pada panggilan yang sesuai akan datang
Skrip Bash saya kelihatan seperti berikut:
#! / Bin / sh jika ps ax | grep-v grep | grep php> / dev / null kemudian echo "Kerja sedang memprosesnya, keluar" lain echo "Kerja tidak berjalan, bermula sekarang" php yourJobProcessingScript.php Wayar
Nota: ini gema hampir sepenuhnya sia-sia, tetapi boleh membantu orang seterusnya yang datang untuk mencuba dan mengedit mereka.
Yang menyimpulkan set mesin pekerja maya, cepat, mudah, dan mudah untuk menyalin setiap keping baru perkakasan yang diterima. 'Kepintaran' sistem grid benar-benar tidak dalam OS digambarkan, semua untuk melakukan dengan kod yang diwujudkan untuk pekerjaan proses, konfigurasi pekerjaan, dan dalam memastikan bahawa kerja berjalan apabila sesuai (iaitu apabila tuan rumah adalah terbiar ).
Menubuhkan Windows untuk Initialise Pekerja
Tugas pertama adalah untuk bekerja arahan yang diperlukan untuk menjalankan mesin maya daripada baris arahan tingkap. Jika anda telah dipasang virtualBox di lokasi lalai dan anda telah dinamakan GridMachine pekerja anda, maka arahan yang diperlukan untuk memuatkan pekerja anda adalah:
"C: Program Files \ \ Ahd \ VirtualBox \ VBoxManage.exe" startvm GridMachine Walau bagaimanapun untuk menjalankan skrip dalam keadaan 'tidak berkepala' kita perlu menggunakan:
"C: Program Files \ \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = mati Ini akan mula mesin maya tanpa GUI dan membenarkan untuk menyelamatkan keadaan dengan anggun. Hujah kedua mematikan RDP supaya ia tidak bercanggah dengan tingkap RDP, atau memberi mesej tentang pendengaran di pelabuhan 3389. Nama mesin maya adalah case sensitive!
Seterusnya, kita akan perlu untuk menetapkan tingkap untuk memulakan VM pekerja kami sekali mesin telah terbiar. Untuk melakukan ini (pada Windows XP), anda akan perlu pergi Start -> All Programs -> Aksesori -> Utiliti Sistem -> Berjadual Tugas seperti di bawah:
Kemudian klik pada 'Tambah Petugas Terjadual' diikuti dengan melayari untuk menambah program tersuai. Navigate kepada tulisan VBoxManage anda dan klik ok. Jadual tugas anda untuk mana-mana pilihan (kami akan menukar ini pada minit) dan terus. Selepas ponteng skrin seterusnya tingkap akan meminta anda yang anda mahu menjalankan tugas ini, saya hendak mencadangkan sama ada 'Pentadbir' atau mewujudkan pengguna yang istimewa yang baru. Ingatlah kita tidak mahu campur tangan dengan akaun kakitangan standard pada mesin pada bila-bila. Klik depan dan periksa opsyen acara maju untuk tugas ini.
Hingga akhir textbox jangka menambah rentetan kami 'startvm GridMachine' dan memastikan jangka bahawa hanya apabila log masuk di kiri unticked. Lawati tugas jadual akan datang dan menukar jadual drop down pilihan 'apabila siap sedia', memilih jumlah masa yang anda ingin mesin untuk menjadi terbiar sebelum bergerak ke tab seterusnya.
Akhirnya untick pilihan yang menyatakan menghentikan tugas jika ia telah berjalan jumlah X masa, tetapi tandakan pilihan untuk menghentikan tugas jika mesin tidak lagi terbiar.
Itu sahaja maka bagi persediaan tuan rumah tingkap!
Ringkasan
Pada bahagian ini, kami telah menetapkan mesin maya untuk bertindak sebagai seorang pekerja, serta cara yang kita panggil dan melaksanakan skrip pemprosesan tugas kami (untuk diri saya skrip PHP). Dari sini kita melihat bagaimana untuk menubuhkan salinan kami tingkap untuk memulakan mesin maya dalam mod berkepala apabila komputer menjadi terbiar, dan menyelamatkan keadaan apabila pengguna disambung semula penggunaan mesin. Semoga pada ketika ini anda melihat bagaimana mudah ia adalah untuk menubuhkan satu sistem sedemikian dan gatal-gatal untuk mendapatkan beberapa eksperimen akan diri anda!
Masa yang akan datang
Dalam Bahagian 4, kita akan melihat menggunakan alat-alat untuk memastikan bahawa anda menjalankan versi terbaru dari sumber-sumber kod dan data supaya mendapat keputusan sentiasa-to-date dengan maklumat perniagaan yang terkini dan logik.



















































