Şu anda çalıştığım yerde, 300'ün üzerinde Linux sunucusunun üzerinde olan sunucu çiftliğimizin Linux bölümünü yönetmemiz gerekiyor. Buna çoğunlukla HP Proliants, ardından IBM 3850'ler, bazı IBM blade'leri, VMware ESX ve dahili yönetim sunucularımız için bazı KVM dahildir.
ayakkabı tamircisi
Ayakkabıcıya baktık, ancak sorun şu ki ayakkabıcı çok RHEL / Red Hat'a özgü. En azından RHEL ve SLES'i desteklememiz gerekiyor ve Ubuntu sırada.
kukla
Kuklaları düşündük, ancak daha sonra buna karşı karar verdiği için Ruby'ye karar verdik, bu da Ruby'nin yükseltilmesinin yönetim sistemimizi potansiyel olarak bozabileceği anlamına geliyor.
Sıcak tel
Hotwire, kullandığımız (dahili olarak geliştirilen, ancak açık kaynaklı) ve son birkaç yıldır bunu yaptık. Öncelikle, kurulacak sistemleri stoklar; bu, veri merkezi, raf, donanım, işletim sistemi, ağ, vb. Envanteri anlamına gelir ve ikincisi hızlı kurulum ve dağıtımı gerçekleştirir. Sistem kurulduktan sonra, hotwire'ın otomatik envanteri envanteri senkronize tutarken, cfengine bunları korur. Hotwire, Bios'taki SMBIOS / DMI verileri ile python-dmidecode aracılığıyla konuşarak sunucu donanımı hakkında bilgi sahibidir .
Bonus noktaları, envanter ve derleme sürecini bire bir birleştirmesidir, bu nedenle yönetilmesi gereken daha az şey vardır ve canlı envanter özelliği, bir şeylerin doğru olup olmadığını bildiğimiz için mükemmeldir.
Dezavantajları, kullanıcı arayüzünün hala cilalamaya ihtiyaç duymasıdır ve burada ve orada böcekler var, ancak geliştirme hala sıcak ve bildirilen hatalar nispeten hızlı bir şekilde düzeltildi.
cfengine
Cfengine kullanıyoruz çünkü onun dışında ve kukla dışında başka bir şey yok. Aslında bu iyi bir araçtır, ancak “iyi” sadece politikalarınızın ne kadar iyi olduğunun bir fonksiyonu olarak - tehlikeli politikalar belirlerseniz, o zaman küçük bir hata çok fazla hasara neden olabilir. Örneğin, politika olarak, dosyaları "değiştirmeziz", değiştiririz veya değiştirmeyiz. Ayrıca değiştirilen tüm dosyaların herhangi bir kişiyi düzenlemesini sağlayan bir üstbilgisi vardır, bir sonraki çalıştırılışında değiştirileceğini bilir (saat başı cron yoluyla çalıştırılır).
Yapılandırma ve cfengine tarafından sunuculara gönderilen tüm dosyalar da bir SCM'de tutulur ve işlem sonrası kancaları kullanarak mümkün olduğunda sözdizimini kontrol ederiz ve bu başarısız olursa, işlem reddedilir. Bu Apache gibi hoş uygulamalar için kolaydır, ancak çoğu kurumsal uygulama için kolay değildir.