Bagaimana cara mengotomatisasi konfigurasi server Linux?

25

Apakah ada cara untuk mengotomatisasi konfigurasi server Linux? Saya sedang bekerja menyiapkan beberapa server build baru, serta server FTP, dan ingin mengotomatiskan sebanyak mungkin proses.

Alasan untuk ini adalah bahwa pengaturan dan konfigurasi server ini perlu dilakukan dengan cara yang mudah diulang. Kami memperkirakan bahwa mengotomatiskan sebanyak mungkin dari proses ini akan membuatnya lebih mudah untuk diulang sesuai kebutuhan di masa depan.

Pada dasarnya, semua server perlu menginstal OS, serta beberapa paket. Tidak ada yang terlalu rumit tentang pengaturannya.

Jadi, apakah ada cara untuk mengotomatiskan proses ini (atau setidaknya sejumlah itu)?

EDIT: Juga, katakan saya menggunakan Kickstart, apakah ada cara untuk menghapus repositori default Ubuntu, dan hanya menginstal paket dari kumpulan file .deb yang kita miliki secara lokal (lebih disukai melalui apt, daripada dpkg)?

pengguna1617942
sumber
Distro apa yang Anda pilih untuk menginstal? Itu akan sangat membantu dalam menentukan langkah selanjutnya
eyoung100
Namun waspadalah bahwa tugas otomasi mungkin memakan waktu lama. Jika Anda berencana untuk menginstal kurang dari 10 host, itu mungkin tidak sepadan dengan tugas.
Archemar
Saya baru-baru ini belajar tentang fitur-fitur yang ditawarkan oleh saltstack (Sebagian besar kontribusi repo di Github). Saya sangat merekomendasikan melihatnya karena ia menawarkan alat untuk membuat server baru pada layanan seperti aws, dan menyebarkan konfigurasi, pengaturan, menulis file, akses shell jarak jauh, akses shell massal. bahkan pembatasan akses. Hampir semua yang Anda perlu lakukan tampaknya. Meskipun saya punya teman baik yang bersumpah oleh Ansible untuk pengaturan server baru.
ThorSummoner
Memberi +1 kepada Anda dan mattdm ... Saya tidak tahu forum ini ada sampai saya melihatnya di Pertanyaan Jaringan Panas dan kemudian saya bahkan tidak berpikir pertanyaan ini punya jawaban. Senang Anda bertanya dan dijawab dengan sangat baik !
Sylas Seabrook

Jawaban:

36

Iya nih! Ini masalah besar, dan sangat umum. Dan ada dua pendekatan dasar. Salah satu caranya adalah dengan menginstal skrip, seperti misalnya digunakan dalam kickstart Fedora, RHEL, atau CentOS. Lihat ini di panduan pemasangan Fedora: Kickstart Installations . Untuk kasus sederhana Anda, ini mungkin cukup. (Ambil ini sebagai contoh; ada sistem serupa untuk distro lain, tapi karena saya bekerja di Fedora itulah yang saya kenal.)

Pendekatan lain adalah menggunakan manajemen konfigurasi . Ini adalah topik besar, tetapi lihatlah Wayang, Koki, Ansible, cfengine, Salt, dan lainnya. Dalam hal ini, Anda mungkin menggunakan kickstart generik yang sangat mendasar untuk menyediakan mesin minimal, dan alat manajemen konfigurasi untuk membawanya ke peran yang tepat.

Ketika kebutuhan dan infrastruktur Anda tumbuh, ini menjadi sangat penting. Menggunakan manajemen konfigurasi untuk semua perubahan Anda berarti bahwa Anda dapat menciptakan kembali tidak hanya instalasi awal, tetapi kondisi sistem yang berkembang saat Anda memperkenalkan tweak dan perbaikan yang tidak terhindarkan yang disebabkan oleh berinteraksi dengan dunia nyata.

Kami memperkirakan bahwa mengotomatiskan sebanyak mungkin dari proses ini akan membuatnya lebih mudah untuk diulang sesuai kebutuhan di masa depan.

Anda benar-benar di jalur yang benar - ini adalah prinsip dasar administrasi sistem profesional. Kami bahkan memiliki gambar meme untuk itu:

OTOMATIS SEMUA HAL

Seringkali agak sulit untuk diatur pada awalnya, dan mungkin ada kurva belajar besar untuk beberapa sistem yang lebih maju, tetapi ia membayar untuk dirinya sendiri selamanya. Bahkan jika Anda hanya memiliki sedikit sistem, pikirkan seberapa besar Anda ingin bekerja untuk menciptakannya kembali jika terjadi bencana di tengah malam, atau ketika Anda sedang berlibur.

mattdm
sumber
1
Terima kasih banyak! Saya akan mulai melihat semua ini.
user1617942
Anda tidak menyebutkan Cobbler.
Brian
@staticx Ya, ini tidak komprehensif. Ada seluruh dunia sistem penyediaan juga: Cobbler, Foreman, Satellite / Spacewalk, FAI, Razor, dan itu bahkan tidak masuk ke masalah cloud.
mattdm
@ Chris Ha, saya akan mengatakan hal yang sama;)
William Edwards
0

Slingshot adalah skrip untuk mengotomatisasi instalasi dan konfigurasi paket perangkat lunak Linux. Slingshot memiliki dan menggunakan sistem templat / pesan.

http://www.dyncomp.net/what-is-slingshot/

Daniel Huckson
sumber
0

Saya sangat merekomendasikan Wayang . Ini sebagian besar digunakan, didokumentasikan dengan baik dan didukung.

Willian Paixao
sumber