Kami memiliki aplikasi yang berjalan di beberapa (5 atau lebih dan akan tumbuh) kotak. Perangkat kerasnya identik di semua mesin, dan idealnya perangkat lunaknya juga. Saya telah mengelola mereka dengan tangan sampai sekarang, dan tidak mau lagi (alamat ip statis, menonaktifkan semua layanan yang diperlukan, menginstal paket yang diperlukan ...). Adakah yang bisa menyeimbangkan pro dan kontra dari opsi berikut, atau menyarankan sesuatu yang lebih cerdas?
1: Secara individual instal centos di semua kotak dan kelola konfigurasi dengan chef / cfengine / boneka. Ini akan bagus, karena saya ingin alasan untuk belajar menggunakan salah satu aplikasi, tetapi saya tidak tahu apakah ini sebenarnya solusi terbaik.
2: Buat satu kotak sempurna dan gambar itu. Sajikan gambar melalui PXE dan kapan pun saya ingin membuat modifikasi, saya bisa mem-boot ulang kotak dari gambar baru. Bagaimana orang-orang cluster biasanya menangani hal-hal seperti memiliki alamat mac di file / etc / sysconfig / network-scripts / ifcfg *? Kami menggunakan infiniband juga, dan juga menolak untuk memulai jika hwaddr salah. Apakah ini dapat dihasilkan dengan benar saat boot?
Saya condong ke arah solusi PXE, tapi saya pikir pemantauan dengan munin atau nagios akan sedikit lebih rumit dengan ini. Adakah yang punya pengalaman dengan masalah seperti ini?
Semua server memiliki SSD di dalamnya dan cepat dan kuat.
Terima kasih, Matt.
Gambaran
Dalam beberapa hal, Anda memiliki dua pertanyaan di sini ..
Saya telah membagi jawaban saya di bawah ini untuk membahas dua hal itu secara terpisah tetapi mereka sangat terkait. Saya membahas solusi teknologi di sini dan bukan salah satu praktik terbaik yang terkait, seperti kontrol perubahan.
Jika ini tidak mencakup ruang lingkup pertanyaan Anda, mohon klarifikasi dan saya akan dengan senang hati menjelaskan. Ini adalah fondasi yang penting, yang sangat penting untuk infrastruktur teknologi yang dikelola dengan baik.
Membangun Server
Saya tidak suka gambar di dunia UNIX; itu lebih merupakan pendekatan gaya Windows. Bahkan beberapa orang Windows tampaknya memfokuskan kembali pada skrip untuk pembuatan standar sekarang.
Satelit tampaknya semakin populer di dunia RHEL. Spacewalk adalah mitra Open Source. Anda pasti harus membeli sepenuhnya ke pendekatan RHEL untuk menggunakan ini. Ini berfungsi sebagai bangunan server dan manajemen konfigurasi.
Idealnya, Anda ingin membuat mirror dan repositori lokal pada server file untuk semua perangkat lunak yang diperlukan.
Pertama, manfaatkan otomasi build distribusi Anda, seperti Kickstart di RHEL / CentOS. Kickstart akan menjadi baseline dengan variasi, tergantung pada kebutuhan Anda. Build Kickstart dapat dimulai dari server PXE.
Untuk bagian yang lebih maju dari bangunan dan apa pun yang tidak cocok untuk file Kickstart, Anda bisa menulis skrip khusus Anda sendiri. Namun, Anda mungkin menemukan boneka atau cfengine berfungsi dengan baik untuk Anda alih-alih skrip khusus. Saya telah menemukan skrip khusus sebagai yang paling fleksibel dan tidak terbatas pada pendekatan tunggal.
Jika Anda memilih untuk menulis skrip Anda sendiri, saya sarankan skrip inti untuk konfigurasi universal. Ini akan menjadi konfigurasi keamanan, pengerasan, dan apa pun yang berlaku untuk semua build. Kemudian skrip terakhir untuk menyelesaikan peran server. Misalnya, server web atau server basis data.
Mempertahankan Standar
Apa yang Anda uraikan juga berada dalam pemeliharaan konfigurasi. Standar pembangunan, pembaruan perangkat lunak, dan hal-hal lain terkait dengan pembangunan tetapi dalam banyak hal terpisah.
Jika Anda memilih untuk mengandalkan paket sistem daripada membuat build berbasis sumber Anda sendiri untuk peran server Anda yang paling penting, banyak yang dapat dipertahankan dengan utilitas sistem asli. Ini bisa berupa skrip sederhana untuk menjalankan
for
perulangan terhadap daftar server Anda dan menjalankan ayum -y update package
.Untuk manajemen konfigurasi, ini adalah di mana boneka, cfengine, dan utilitas manajemen konfigurasi lainnya ikut berperan. Ini adalah utilitas yang sangat berguna dan menyediakan fondasi yang diperlukan tanpa menulis skrip Anda sendiri dari awal.
Ketika Anda memperbarui standar konfigurasi untuk server Anda, penting untuk mengisi ulang ini ke server standar Anda.
sumber
Saya baru-baru ini menyelesaikan sebuah proyek besar untuk meluncurkan sistem manajemen konfigurasi / bangun yang terpusat dengan $ WORK. Kami menjalankan CentOS.
Desain saya, yang kebetulan saya sukai, memberi kami proses pembuatan hampir satu klik (yah, satu halaman web GUI), menggunakan beberapa skrip PHP khusus untuk menyatukan semuanya melalui UI web yang sederhana namun efektif.
Teori umum adalah:
Saya setuju bahwa gambar bukan cara Unix-y dalam melakukan sesuatu ... mereka benar-benar lebih cocok untuk dunia Windows di mana instalasi dan konfigurasi yang dibuat secara skrip / otomatis tidak sesederhana itu.
Anda dapat mengganti Wayang dengan sistem manajemen konfigurasi lain yang sesuai dengan tagihan, tetapi saya menyukai sifat deklaratif Wayang dan konsep konvergensi.
Sistem ini menghasilkan sejumlah manfaat:
sumber
Jika Anda menuruni rute pxe, pastikan untuk melihatnya
http://etherboot.org/wiki/index.php
Gpxe akan memberi Anda lebih banyak fleksibilitas dengan target boot. Sangat mudah untuk mem-boot blade aoe dan tidak ada yang seperti mem-boot kernel dari server http jarak jauh !!!!!!!!!! :-).
Server berapa kali yang Anda butuhkan?
Tidak mungkin untuk membuat gambar yang sempurna, karena Anda akan selalu perlu menerapkan patch keamanan dan peningkatan perangkat lunak. Jika mereka menghadapi internet, Anda tidak bisa mengabaikan tambalan.
Di sisi pxe, Anda punya beberapa opsi, tergantung pada file I / O Anda. Baik mem-boot kernel dan me-mount disk dari jarak jauh di atas aoe atau iscsi.
Anda juga dapat melakukan beberapa hal yang sangat pintar dengan menyalin gambar tulis. Ini bagus untuk peningkatan dan mengembalikan segala perubahan yang mungkin bermasalah.
Saya juga telah sukses menggunakan nfs root, menggunakan solusi nfs yang dikelompokkan. Anda dapat menentukan file yang berbeda untuk dilayani tergantung pada alamat klien mereka.
Sekali lagi, Anda harus memeriksa apakah aplikasi Anda suka menjalankan nfs. Ini tidak cocok untuk setiap beban kerja.
nfs cluster berkerumun dapat berisi 192.168.0.1:/etc/hostname 192.168.0.2:/etc/hostname
jadi, setiap klien mereferensikan file yang sama, tetapi dilayani file yang relevan untuk klien. Ini hal yang cukup mengesankan, namun tidak sederhana!
Semua ini akan memberi Anda waktu peluncuran lebih cepat jika Anda memusatkan sistem file pada penyimpanan jaringan. Pencitraan sistem operasi melalui jaringan ke disk jarak jauh membutuhkan waktu !!!!
Jika Anda menggunakan salah satu dari solusi ini, pastikan Anda memiliki lapisan jaringan yang dirancang dengan baik dan toleran terhadap kesalahan dan bahwa server nfs / SAN Anda dirancang dengan baik + aman!
Kehilangan koneksi NFS / SAN Anda akan berdampak buruk bagi kesehatan server. :-(
Sangat mudah untuk membuat beberapa skrip untuk tftp / pxe untuk mengontrol proses boot.
Jika saya tahu lebih banyak tentang apa yang sebenarnya Anda coba lakukan, saya mungkin bisa memikirkan solusi yang lebih cocok untuk Anda.
sumber