Apa praktik terbaik penyebaran sistem massal Linux?

9

Jika Anda mencoba untuk menginstal 500 sistem Linux melalui instalasi jaringan pada saat yang sama, hambatannya adalah NFS / HTTP / FTP atau server apa pun yang menyimpan file yang Anda perlukan untuk instalasi.

IMO, ini hanya bisa diselesaikan dengan menambahkan lebih banyak server instalasi dan kemudian merampoknya.

Apakah ada solusi yang lebih baik untuk masalah ini? Sesuatu seperti "instalasi P2P Linux"?

UPDATE: Saya perlu menggambarkan situasi saya lebih spesifik. Saat ini saya sedang menggunakan RHEL menggunakan kickstart + NFS. Ketika saya mencoba untuk menyebarkan 500 RHEL secara bersamaan, server NFS akan memiliki lalu lintas yang besar dan membuat setiap proses instalasi lambat. Menyiapkan lebih banyak server NFS adalah sebuah solusi, tetapi saya pikir itu bukan solusi yang baik.

yegle
sumber
Apa yang ingin Anda lakukan? Instal sistem-dasar, kelola sistem setelahnya? menggunakan konfigurasi atau aplikasi?
shakalandy
@ Sharakandy Saya menggunakan RHEL menggunakan kickstart + NFS. Ketika saya mencoba untuk menyebarkan 500 RHEL secara bersamaan, server NFS akan memiliki lalu lintas yang besar dan membuat setiap proses instalasi lambat. Menyiapkan lebih banyak server NFS adalah sebuah solusi, tetapi saya pikir itu bukan solusi yang baik.
yegle

Jawaban:

7

Ini biasanya tempat pencitraan Multicast. Sesuatu seperti Clonezilla atau ghost mendukung pengiriman data multicast yang akan memungkinkan Anda mendorong gambar ke semua 500 sistem sekaligus pada dasarnya pada kecepatan yang sama seperti mendorong gambar ke 1 sistem.

dgibbon
sumber
3

The Avalanche installer dari batu cluster linux distro, adalah bittorrent berdasarkan dan skala baik. Ini juga membawa Anda dari PXE boot ke sistem yang sedang berjalan. Meskipun, Anda terikat menggunakan batu (berbasis CentOS) dan melakukan sesuatu dengan cara batu.

Kjetil Joergensen
sumber
2

SystemImager juga dapat menggunakan bit-torrent untuk penyebaran massal yang lebih cepat.

Tidak sekarang
sumber
1

Saya tidak akan menggunakan multicast karena ini membuat segalanya lebih rumit. Pertama, cobalah untuk meminimalkan lalu lintas NFS, yang berarti dapatkan paket yang perlu Anda instal melalui HTTP. Jika server web Anda untuk repositori paket kelebihan beban, gunakan dua di antaranya dan distribusikan beban dengan menetapkan server yang berbeda untuk setiap klien (misalnya ip address modulo 2).

Server NFS Anda mungkin lebih cepat jika lebih banyak nfsd daemon akan mulai. Seringkali hanya 8 dari mereka yang dimulai.

Saya baru saja mengukur lalu lintas instalasi Debian (via PXE, NFS, HTTP) menggunakan FAI. Saat menginstal perangkat lunak 4.2GB, 1.3 GB HTTP (semua paket) dan 100MB lalu lintas NFS (nfsroot saat instalasi) dikirimkan melalui jaringan. Ini untuk satu klien instal. Jadi saya kira mengurangi lalu lintas NFS dan mendistribusikan lalu lintas HTTP akan banyak membantu.

NIC 10 GB di server Anda atau NIC yang mengikat server juga akan membantu. Dan, saya pikir itu tidak perlu menginstal semua mesin pada saat yang sama, tetapi lebih dalam jangka waktu singkat.

Tapi bagaimanapun, pertama-tama Anda harus menganalisis apa yang akan menjadi hambatan Anda. Jadi buat beberapa tes dengan 20 mesin misalnya

Thomas Lange
sumber
0

Saya tidak tahu cara menggunakan bittorrent atau multicast kecuali Anda dapat beralih menggunakan gambar daripada melakukan instalasi. Jika Anda tidak, berikut adalah salah satu cara untuk mendekati masalah.

Mari kita berpikir lebih dekat tentang bottleneck. CPU bukanlah hambatan; NFS tidak membutuhkan banyak kekuatan pemrosesan. Disk bukanlah hambatannya; file yang diperlukan untuk menginstal RHEL tidak lebih dari beberapa gigabyte, jadi mereka harus dengan mudah masuk ke RAM server NFS Anda. Throughput jaringan jelas merupakan hambatan; dengan asumsi satu sistem yang diinstal akan meminta rata-rata 50 megabit per detik, Anda membutuhkan setidaknya 25 gigabit bandwidth untuk memberi makan 500 pemasangan. Itu banyak NIC, atau beberapa yang sangat mahal.

Ini tidak berarti Anda tidak boleh mencoba untuk meningkatkan kinerja dengan melemparkan lebih banyak perangkat keras padanya, dengan alasan. Dapatkan NIC sebanyak yang layak di server NFS dan ikat mereka. Jika Anda dapat membenarkan waktu dan biaya, atur lebih banyak server NFS. Tentu saja, pastikan server NFS Anda disetel dengan baik .

Terlepas dari apakah Anda menambahkan perangkat keras, lihat apakah Anda mendapatkan peningkatan kinerja dengan menghindari kemacetan jaringan dan menyeimbangkan puncak dan palung dalam throughput. Untuk melakukan ini, pisahkan instalasi menjadi beberapa kumpulan. Lakukan instalasi tunggal dan grafik throughput selama instalasi. Lihat grafik itu dan tentukan berapa banyak pemasangan yang dapat Anda mulai secara bersamaan dan kapan waktu optimal untuk memulai lebih banyak batch.

Sebagai contoh, katakanlah Anda dapat mentransfer 4Gb / s dari server NFS. Mungkin Anda akan menemukan bahwa instal salinan 100Mb / s untuk menit pertama saat installer sedang diunduh, maka itu tidak menyalin data selama satu menit sementara installer tidak bekerja seperti mempartisi, kemudian itu menyalin 50Mb / s selama tiga menit sedangkan unduhan installer dan mengekstrak paket. Mengetahui hal ini, Anda dapat menghitung bahwa Anda dapat memulai 40 pemasangan, tunggu satu menit, mulai 40 pemasangan lainnya, tunggu 5 menit, lalu ulangi prosesnya.

sciurus
sumber
0

Mengenai penyebaran massal file sudah ada solusi yang dibawa oleh twitter, berdasarkan bittorent: Pembunuhan .

Jika Anda berbicara tentang menginstal OS di server Anda, itu jelas tidak akan berfungsi dengan solusi ini.

Shadok
sumber