Toolkit & Kebiasaan untuk Linux Network & System Administration [ditutup]


20

Saya ditugaskan dengan administrasi jaringan kantor kecil serta beberapa workstation yang kebanyakan menjalankan Debian dan Ubuntu. Ada dua server: satu database & server cetak, dan satu server cadangan & file.

Menjadi relatif baru dalam hal ini, cukup mengetahui untuk membantu diri saya sampai taraf tertentu di Linux, saya ingin mengetahui alat dan tugas / kebiasaan perangkat lunak apa yang dapat saya gunakan / peroleh untuk mempelajari bidang ini dan menjadi efektif saat melakukannya.

Saya tidak perlu tahu apa yang terbaik, hanya apa yang bisa digunakan oleh pemula-sys-admin sebagai starter-pack untuk belajar dan digunakan sebagai basis untuk tumbuh menjadi administrasi sistem yang tepat.

Yang saya butuhkan adalah beberapa alat dasar untuk memulai, dan hal-hal yang perlu saya lakukan secara teratur, misalnya: log mana yang harus diperiksa, kapan & apa yang harus dipantau, jenis tempat yang 'tepat' untuk memulai dan yang saya bisa iklan yang saya butuhkan.


Topik subyektif, secara ekstrim. Seperti apa jawaban "benar" itu?
Bill Weiss

Jawaban:


16

1

pantau proses kritis bisnis [mis. - apakah basis data berjalan dan menanggapi pertanyaan sederhana], parameter dasar sistem operasi [ruang disk kosong, rata-rata memuat]. Anda dapat menggunakan nagios atau zabbix misalnya.

2

kumpulkan statistik untuk menetapkan beberapa baseline. di masa depan ini akan berguna untuk perencanaan kapasitas. Anda dapat menggunakan munin , zabbix, cacti dll.

3

jalankan backup otomatis terjadwal, simpan beberapa di antaranya offline, di luar kantor. memantau jika mereka berhasil, dari waktu ke waktu periksa secara manual jika Anda dapat memulihkan data penting. Anda mungkin ingin menggunakan backupninja untuk mengatur mereka atau Zmanda , tetapi ada banyak alat yang lebih berguna ..

4

dokumen. untuk kebaikan Anda. jangan berpikir bahwa kurangnya dokumentasi meningkatkan keamanan kerja Anda. Orang pertama yang akan menderita karena kekurangannya adalah Anda, Anda mungkin akan cepat melupakan berbagai hal.

5

dari hal-hal acak lainnya:

belajar bahasa scripting - mungkin Anda sudah tahu satu? perl / python / php dapat digunakan untuk mengotomatisasi tugas dan dalam banyak kasus lebih cocok daripada bash untuk tugas yang lebih rumit

pelajari alat-alat Anda - daftar yang tak ada habisnya ... ssh muncul di pikiran mungkin pertama. lihat ini dan itu .


"Ini daftar yang tak ada habisnya ..." - memang; Saya mencari di Google sebelum mengajukan pertanyaan ini, tetapi kewalahan. Saya percaya pada KISS, & ingin memulai dari basis yang sederhana, mudah & mencoba mempelajari hal-hal dengan benar.
slashmais

1
Saya ingin menambahkan bahwa poin 1 dan 4 adalah yang paling penting. Saya akan merekomendasikan menggunakan sistem manajemen konfigurasi seperti Wayang. paling tidak, Anda harus menggunakan kontrol versi (git / svn), tetapi Wayang akan membiarkan Anda melakukan sesuatu sekali dan kemudian diulang jika Anda perlu menambahkan atau membangun kembali layanan. Saya juga percaya pada rekayasa berlebihan. jika Anda membangun infrastruktur seperti Anda membutuhkan 100 mesin, akan lebih mudah untuk mengelola 10 mesin Anda dan meningkatkannya jika diperlukan.
neoice

4
Saya kira itu masalah pendapat, tapi saya akan menempatkan poin 3 sebagai yang paling kritis. Ya, itu menyebalkan ketika database akuntansi turun selama setengah hari, tapi itu benar - benar menyebalkan ketika semua keuangan hilang karena tidak ada / backup buruk. YMMV.
Joe Internet

@ pQd - Saya juga menambahkan pemantauan (nagios, opennms, dll) dan sistem tiket. Tidak harus menjadi sesuatu yang luar biasa: hanya beberapa tempat untuk menyimpan barang "todo" Anda. Akhirnya dapat diperluas menjadi orang yang mengirimkan ca yang mereka butuhkan, atau mengembangkan antrian untuk tim lain.
warren

baca Manajemen Waktu untuk Administrator Sistem oleh Thomas Limoncelli. Harus membaca wajib bagi semua orang yang bekerja melalui email.
warren

10

Praktek Administrasi Sistem dan Jaringan , oleh Limoncelli, dkk, adalah tempat Anda harus memulai. Teknologi akan datang dan pergi (dan dapat dengan mudah di-Google-kan sesuai kebutuhan), tetapi informasi dalam buku itu tidak lekang oleh waktu (dan tak ternilai harganya).


2
Juga Administrasi Sistem Esensial oleh Frisch.
Jason Antman

10

Beberapa Alat Dasar Untuk Memulai

Google. Tidak serius Google adalah impian administrator sistem yang menjadi kenyataan. Tidak ada cara yang lebih baik untuk memanfaatkan sejumlah besar informasi di internet. Dan jangan membatasi diri Anda hanya dengan mencari "linux untuk pemula"; jika Anda memiliki tugas khusus yang ingin Anda selesaikan, Google untuk hal tertentu itu. Anda akan sering menemukan informasi yang jauh lebih banyak daripada yang Anda butuhkan, dan sebagai pemula banyak informasi akan tampak seperti bahasa lain, tetapi belajar terus-menerus adalah cara yang baik untuk mengambil sesuatu dengan cepat.

Tab-selesai. Baris perintah Linux memungkinkan untuk melengkapi semua perintah, pohon direktori, nama direktori, dan nama file.

Halaman manual. Setiap perintah, dan banyak file konfigurasi sistem (/ etc / fstab, / etc resolv.conf, dll.) Memiliki halaman manual. Ketik "man command_name" atau "man file_name" untuk melihat apakah yang Anda cari memiliki. Oh dan "q" keluar dari halaman manual.

SSH. Salah satu cara terbaik untuk mengakses sistem Linux. Mungkin yang cara terbaik jika Anda tidak memiliki akses fisik ke sistem.

Layar. Layar adalah aplikasi kecil yang fantastis yang memungkinkan Anda mengubah satu terminal menjadi banyak, memungkinkan Anda keluar dari hal-hal yang menghalangi / menjadi latar belakang, dan memungkinkan Anda membiarkan hal-hal berjalan sehingga Anda dapat kembali ke terminal nanti.

Nano. Anda menyebutkan di atas bahwa Anda sudah menggunakan ini, tetapi saya hanya berpikir saya akan memasukkan dua sen saya dan mengatakan bahwa saya setuju. Vi dan Vim dan semuanya baik-baik saja dan semuanya, tetapi kesederhanaan Nano yang saya sukai. Ini seperti Notepad dari dunia Linux.

Temukan dan Grep. Menemukan sangat bagus untuk mencari untuk file, Grep sangat bagus untuk mencari di file. Keduanya dapat digunakan dengan cara yang sangat sederhana, dan keduanya dapat digunakan dengan cara yang sangat kompleks, tetapi keduanya cukup berguna.

Sudo. Memungkinkan Anda bertindak seperti root, tanpa menjadi root. Sangat berguna.

Ditambah beberapa alat lain yang akan saya sebutkan dalam konteks bagian selanjutnya ...

Jenis-Jenis Hal Yang Perlu Anda Lakukan Secara Teratur

Pantau sistem Anda. Monitor penggunaan disk Anda (df adalah perintah yang berguna, dan du juga untuk direktori tertentu), memantau proses dan tugas Anda yang sedang berjalan (melalui perintah ps dan perintah teratas), memantau pengguna yang masuk ke sistem Anda (pengguna dan siapa yang akan perintah akan katakan ini), dan pantau penggunaan jaringan Anda (aplikasi seperti cacti bagus untuk itu). Jika Anda memiliki akses ke lingkungan X Windows, saya selalu menemukan GKrellM sebagai alat pemantauan sistem all-in-one yang sangat berguna.

Cadangan. Demi cinta Tux, backup. File konfigurasi cadangan, direktori home cadangan, data aplikasi cadangan. Cadangan. Bahkan jika yang Anda lakukan hanyalah menyalin data dari server ke share CIFS / NFS di kotak lain dan hard drive eksternal. Dan ya, Anda harus menyimpan dua salinan dari setiap cadangan, dan tidak pernah pada media / sistem yang sama. Anggap saja sebagai cadangan dari cadangan Anda.

Periksa cadangan Anda. Periksa secara rutin untuk memastikan Anda dapat memulihkan data dari cadangan ke sistem Anda. Backup kosong / korup / tidak lengkap sama tidak berguna dengan hari yang panjang.

Gunakan file log Anda. Dmesg, / var / log / messages, dan benar-benar hampir semuanya dalam periode / var / log. Jika sesuatu tidak berfungsi dengan benar dan Anda tidak tahu mengapa, log mungkin tidak memiliki jawaban tetapi mereka pasti dapat membantu Anda menemukannya. Dan log dan direktori di / var / log dinamai dengan masuk akal sehingga menemukan log yang tepat seharusnya tidak sulit. Anda tidak perlu terus memonitor setiap file log, tetapi mengawasi mereka akan membantu Anda menjaga sistem Anda sehat dan aman.

Selalu perbarui sistem Anda. Jangan biarkan perangkat lunak Anda berjalan selama berbulan-bulan tanpa diperbarui, karena dapat mengakibatkan banyak sakit kepala dan memecahkan hal-hal ketika konfigurasi file sintaks atau dependensi berubah. Distro yang berbeda memiliki program pembaruan yang berbeda (apt-get, yum, dll.) Tetapi yang mana yang Anda gunakan, pelajari dan gunakan secara teratur.

Amankan sistem Anda. Gunakan hal-hal seperti iptables, PAM, hosts.allow / hosts.deny dan sejenisnya untuk mencegah akses yang tidak diinginkan ke dan penggunaan sistem Anda.

Jangan berhenti belajar. Untuk melanjutkan sesuatu yang saya katakan sebelumnya (belajar sambil melakukan), sesuatu yang harus Anda perhatikan adalah mesin virtual. Unduh VirtualBox (atau jika Anda memiliki lisensi VMWare lebih baik) dan jadikan diri Anda mesin virtual Linux. Anda dapat memilih distro yang benar-benar Anda inginkan tetapi jelas mungkin masuk akal untuk memilih distro yang Anda gunakan di lingkungan Anda. Bermain-main di VM .. gunakan seperti bak pasir. Atur barang, pecahkan barang, selidiki, pelajari. Keindahan VM kotak pasir adalah bahwa tidak masalah apa yang terjadi padanya. Jika Anda benar-benar menyemprotkannya, buat saja yang baru. Atau simpan salinan cadangan dari yang asli setelah Anda menyiapkannya, dan gunakan kembali kapan pun Anda mau.

Seperti beberapa posting lain dalam utas ini telah disebutkan dan disinggung, daftar ini bisa benar-benar hampir tak terbatas, tetapi mudah-mudahan ini membuat Anda memulai dengan baik.


Itu menghapus sintaks dari perintah "man" contoh saya, jadi saya sedikit menyesuaikannya. Anda baru saja mengganti "command_name" dan "file_name" dengan perintah atau file yang tepat.
kingfish

Kadang-kadang di Notepad dan saya menemukan diri saya mengetik ESC,: wq masalahnya adalah itu bukan kasus yang jarang. Saya bertanya-tanya mengapa ...
Mircea Vutcovici

8

Jika Anda baru memulai, dan terutama karena Anda memiliki beberapa sistem Debian (Ubuntu adalah Debian pada intinya), saya sangat merekomendasikan Referensi Debian . Ini adalah gambaran yang bagus dari hampir setiap aspek administrasi sistem dan harus mencakup hampir semua yang perlu Anda ketahui tentang memelihara satu set kecil sistem seperti ini.

Saya juga setuju dengan semua poin yang dibuat pQd, dan lebih khusus saya pikir itu akan menjadi ide yang baik bagi Anda untuk membuat wiki untuk mendokumentasikan semua proses dan konfigurasi Anda. Di organisasi saya, kami menggunakan Trac, tetapi mesin wiki apa pun harus melakukannya, pastikan ia memiliki cara yang bagus untuk menampilkan kode sumber karena itu berguna untuk skrip kecil dan daftar perintah.


3

Jujur, Sistem Administrasi Linux bukan bidang yang Anda bisa 'lompat ke'.

Namun, jika Anda harus , ada beberapa buku bagus tentang masalah ini. O'Reilly memiliki dua buku (Linux Network Administration dan Linux System Administration) yang akan membantu Anda memulai.

Secara pribadi, jika saya adalah Anda, saya hanya akan menghabiskan beberapa hari bermain-main dengan distribusi yang berbeda, menginstal perangkat lunak, mengatur jenis hal Nagios / Cacti / Apache2 / SSH / NFS, dan mungkin belajar semacam bahasa scripting (saya menggunakan Perl, sendiri, tetapi banyak rekan admin saya lebih suka menggunakan Python. Namun terserah Anda apa yang ingin Anda pelajari).

Dan pasti belajar baris perintah. Jangan mundur pada alat grafis sebagai penopang.

Pelajari vi. Sekalipun Anda hanya mempelajarinya dengan cukup baik untuk melakukan pengeditan dasar, maka baik-baik saja - tetapi penting untuk mempelajari vi karena kadang-kadang Anda terjebak pada sistem tanpa Vim / Nano / Emacs. Ketika dalam situasi itu, Anda akan senang menghabiskan satu atau dua hari belajar vi.

Jika Anda memerlukan bantuan, jangan ragu untuk mengirim saya email (email saya [dihapus karena alasan keamanan]) - Saya akan senang membantu Anda di luar ServerFault.


Saya tahu Perl; Saya tahu / beberapa / vi (cara menyisipkan & menyimpan & keluar - lebih suka nano). Untungnya, situasi saya adalah 'tekanan rendah', jadi saya tidak perlu menjadi guru sys-admin langsung, saya bisa tumbuh ke dalamnya (dan ada kesalahan server & Anda (terima kasih atas kepercayaannya) untuk bertanya kapan saya benar-benar macet (juga milik LUG yang sangat membantu) .Apa yang saya butuhkan adalah beberapa alat dasar untuk memulai, dan hal-hal yang perlu saya lakukan secara teratur, misalnya: log mana yang harus diperiksa, kapan & apa yang harus dipantau, jenis tempat 'tepat' untuk memulai dan yang saya dapat iklan seperti yang saya perlu.
slashmais

Maka saya sarankan Anda melihat ke pengaturan Cacti, Nagios, Snort, dan Postfix. Itu mungkin akan menjadi empat alat yang paling sering Anda gunakan untuk memantau sistem Anda. Pengaturan ini juga akan menghemat banyak waktu Anda memeriksa file log secara manual. Sedangkan untuk memeriksa log secara manual, apa pun di / var / log / mungkin merupakan taruhan yang bagus. Tidak ada file tertentu yang bisa saya tunjukkan kepada Anda, tetapi jika ada sesuatu yang tidak berfungsi dengan baik, mungkin ada baiknya Anda check-in / var / log
Michael Pobega

Sekali waktu saya lebih suka nano, juga slashmais. Setelah Anda mulai mengedit file setiap saat, Anda ingin mempelajari vi secara lebih detail. Tidak bisa mendapatkan cukup sekarang ...
Kyle Smith

3

Jika Anda merasa nyaman menginstal aplikasi di server, pertimbangkan webmin karena menyediakan toko "satu atap" untuk sebagian besar pencatatan dan konfigurasi. Atur untuk menjalankan port pesanan tinggi menggunakan SSL dan membayar sendiri dengan mudah dari pemeriksaan.


2

Saya akan memberitahu Anda non-rahasia sistem dan administrasi jaringan terbesar. Anda siap? Ok, ini dia:

Pelajari dasar-dasarnya. Biarkan saya uraikan.

Siapa pun (atau hanya tentang) dapat mempelajari apa yang dilakukan perangkat lunak ini atau itu, dan bagaimana menekan tombol ini pada alat itu untuk membuat x, y, atau z bekerja. Itu tidak istimewa.

Jika Anda ingin menjadi baik sys / net admin, mempelajari hal-hal di bawah-the-hood. Apa urutan kejadian dalam koneksi jaringan yang khas? Apa perbedaan antara frame dan paket? Apa arti sebenarnya dari rata-rata memuat pada sistem Unix? Apa proses boot-up khas untuk mesin (yang satu itu, jika Anda mengikutinya dari awal hingga akhir, akan memberikan banyak pengetahuan).

Setelah Anda memahami dasar-dasarnya, dan memahaminya dengan sangat baik, meletakkan pengetahuan di atas fondasi yang baik jauh lebih mudah. Tetapi jika Anda mulai dari atas, dan mencoba mempelajari bagian-bagian tertentu dari perangkat lunak tanpa mengetahui apa yang terjadi di bawahnya, itu akan membuat Anda ... sekadar petugas kebersihan teknologi tinggi, pada dasarnya.


2

Pertama, temukan log Anda. Kebanyakan distro Linux masuk ke / var / log / messages, walaupun saya telah melihat pasangan log ke / var / log / syslog. Jika ada sesuatu yang salah, kemungkinan besar akan ada beberapa informasi yang relevan di log. Juga, jika Anda berurusan dengan email sama sekali, jangan lupa / var / log / mail. Periksa aplikasi Anda, cari tahu apakah ada di antara mereka yang masuk ke suatu tempat yang konyol, di luar syslog.

Memoles keterampilan vi Anda. Nano mungkin seperti yang digunakan anak-anak keren hari ini, tetapi pengalaman telah mengajari saya bahwa vi adalah satu-satunya editor teks yang dijamin ada di sistem. Setelah Anda terbiasa dengan pintasan keyboard, dan mulai membuat pemicu Anda sendiri, vi akan menjadi seperti kebiasaan Anda.

Baca halaman manual, lalu jalankan perintah berikut di setiap mesin, dan salin hasilnya ke dokumentasi Anda:

hostname
cat /etc/*release*
cat /etc/hosts
cat /etc/resolv.conf
cat /etc/nsswitch
df -h
ifconfig -a
free -m
crontab -l
ls /etc/cron.d
echo $SHELL

Itu akan menjadi awal dokumentasi Anda. Perintah-perintah itu memberi tahu Anda lingkungan Anda, dan dapat membantu mempersempit masalah di kemudian hari.

Ambil log Anda dan cari "kesalahan" atau "gagal". Itu akan memberi Anda gambaran tentang apa yang tidak berfungsi sebagaimana mestinya. Pengguna Anda akan memberi Anda pendapat mereka tentang apa yang salah, dengarkan baik-baik apa yang mereka katakan. Mereka tidak memahami sistem, tetapi mereka melihatnya dengan cara yang berbeda dari yang Anda lakukan.

Ketika Anda memiliki masalah, periksa hal-hal dalam urutan ini:

  1. Disk Space (df -h): Linux, dan beberapa aplikasi yang berjalan di Linux, melakukan beberapa hal yang sangat aneh ketika ruang disk habis. Ini mungkin tampak tidak berhubungan, sampai Anda memeriksa dan menemukan sistem file 100% penuh.

  2. Atas: Atas akan memberi tahu Anda jika Anda memiliki beberapa proses yang macet di sana menghabiskan semua siklus CPU yang tersedia. Tidak ada yang menghabiskan 99% CPU untuk periode waktu yang lama. Jika ini merupakan proses yang sah, itu mungkin harus berfluktuasi ke atas dan ke bawah. Saat Anda berada di atas, periksa ...

  3. Beban Sistem: Beban sistem biasanya di bawah 3 pada server atau workstation standar. Beban sistem didasarkan pada CPU, memori, dan I / O.

  4. Memori (gratis -m): Penggunaan RAM di Linux sedikit berbeda. Tidak jarang melihat server dengan hampir semua RAM-nya habis. Jangan Panik, jika Anda melihat ini, sebagian besar hanya cache, dan akan dihapus sesuai kebutuhan. Namun, perhatikan baik-baik jumlah swap yang digunakan. Jika memungkinkan, simpan ini sedekat mungkin dengan nol. Memori yang tidak memadai dapat menyebabkan semua jenis masalah kinerja.

  5.  Log: Kembali ke log Anda, jalankan tail -500 / var / log / messages | lebih banyak dan mulai membaca dan melihat apa yang sedang terjadi. Mudah-mudahan, log akan dapat mengarahkan Anda ke arah yang Anda butuhkan selanjutnya.

Server Linux yang terawat dengan baik dapat berjalan selama bertahun-tahun tanpa masalah. Kami hanya mematikan satu yang telah berjalan selama 748 hari, dan kami hanya mematikannya karena kami telah memigrasikan aplikasi ke perangkat keras baru. Mudah-mudahan, ini akan membantu Anda membasahi kaki Anda, dan membuat Anda memulai awal yang baik.

Satu hal terakhir, selalu buat salinan dari file konfigurasi yang ingin Anda ubah, dan selalu salin baris yang Anda ubah, dan komentar dari yang asli, tambahkan alasan Anda untuk mengubahnya. Ini akan membuat Anda terbiasa mendokumentasikan saat Anda pergi, dan dapat menyelamatkan kulit Anda 9 bulan ke depan.


1

Pertanyaan bagus.

Saranku. Pelajari cara menggunakan shell Anda.

Standar adalah bash. Anda bisa mengetik bantuan, untuk masuk ke dokumentasi.

belajar pipa "|" untuk mendapatkan output dari satu perintah ke input dari perintah kedua.

Satu hal terakhir, sangat membantu saya sejak lama: Linux One Page Manual

bekerja keras, jangan pernah menyerah.

Dalam 3-4 tahun Anda akan memiliki pengetahuan yang cukup dan banyak hal datang dari dirinya sendiri :)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.