Untuk pentadbir sistem pemula: cara membuat susunan daripada huru-hara

Untuk pentadbir sistem pemula: cara membuat susunan daripada huru-hara

Saya ialah pentadbir sistem FirstVDS, dan ini adalah teks syarahan pengenalan pertama daripada kursus pendek saya tentang membantu rakan sekerja yang baru. Pakar yang baru-baru ini mula terlibat dalam pentadbiran sistem menghadapi beberapa masalah yang sama. Untuk menawarkan penyelesaian, saya berjanji untuk menulis siri kuliah ini. Beberapa perkara di dalamnya adalah khusus untuk menganjurkan sokongan teknikal, tetapi secara umum, ia mungkin berguna, jika bukan untuk semua orang, maka untuk ramai orang. Jadi saya telah menyesuaikan teks kuliah untuk dikongsi di sini.

Tidak kira apa jawatan anda dipanggil - apa yang penting ialah anda sebenarnya terlibat dalam pentadbiran. Oleh itu, mari kita mulakan dengan perkara yang harus dilakukan oleh pentadbir sistem. Tugas utamanya adalah untuk mengatur segala-galanya, mengekalkan ketenteraman dan bersedia untuk peningkatan masa depan dengan teratur. Tanpa pentadbir sistem, pelayan menjadi kucar-kacir. Log tidak ditulis, atau perkara yang salah ditulis di dalamnya, sumber tidak diagihkan secara optimum, cakera dipenuhi dengan semua jenis sampah dan sistem mula perlahan-lahan mati akibat banyak huru-hara. dengan tenang! Pentadbir sistem secara peribadi anda mula menyelesaikan masalah dan menghapuskan kekacauan!

Tunjang Pentadbiran Sistem

Walau bagaimanapun, sebelum anda mula menyelesaikan masalah, anda perlu membiasakan diri dengan empat tonggak utama pentadbiran:

  1. Dokumentasi
  2. templat
  3. Pengoptimuman
  4. Automasi

Ini adalah asasnya. Jika anda tidak membina aliran kerja anda berdasarkan prinsip ini, ia akan menjadi tidak berkesan, tidak produktif dan secara amnya mempunyai sedikit persamaan dengan pentadbiran sebenar. Mari kita lihat setiap satu secara berasingan.

Dokumentasi

Dokumentasi tidak bermakna membaca dokumentasi (walaupun anda tidak boleh melakukannya tanpanya), tetapi juga mengekalkannya.

Cara menyimpan dokumentasi:

  • Pernahkah anda menghadapi masalah baru yang tidak pernah anda lihat sebelum ini? Tuliskan simptom utama, kaedah diagnosis dan prinsip penyingkiran.
  • Adakah anda telah menghasilkan penyelesaian baharu yang elegan untuk masalah biasa? Tuliskannya supaya anda tidak perlu menciptanya semula sebulan dari sekarang.
  • Adakah mereka membantu anda memikirkan soalan yang anda tidak faham? Tulis perkara dan konsep utama, lukis gambar rajah untuk diri sendiri.

Idea utama: anda tidak seharusnya mempercayai sepenuhnya ingatan anda sendiri apabila menguasai dan menggunakan perkara baru.

Dalam format apa yang anda akan lakukan ini terpulang kepada anda: ia boleh menjadi sistem dengan nota, blog peribadi, fail teks, pad nota fizikal. Perkara utama ialah rekod anda memenuhi keperluan berikut:

  1. Jangan terlalu lama. Serlahkan idea utama, kaedah dan alat. Jika memahami masalah memerlukan menyelami mekanik peringkat rendah peruntukan memori dalam Linux, jangan tulis semula artikel yang anda pelajari daripadanya - sediakan pautan kepadanya.
  2. Entri hendaklah jelas kepada anda. Jika talian race cond.lockup tidak membenarkan anda untuk segera memahami apa yang anda terangkan dengan baris ini - terangkan. Dokumentasi yang baik tidak mengambil masa setengah jam untuk difahami.
  3. Carian adalah ciri yang sangat baik. Jika anda menulis catatan blog, tambah tag; jika dalam buku nota fizikal, lekatkan post-its kecil dengan penerangan. Tidak ada gunanya dalam dokumentasi jika anda menghabiskan banyak masa mencari jawapan di dalamnya seperti yang anda akan menghabiskan menyelesaikan soalan dari awal.

Untuk pentadbir sistem pemula: cara membuat susunan daripada huru-hara

Beginilah rupa dokumentasi: daripada nota primitif dalam pad nota (gambar di atas), kepada pangkalan pengetahuan berbilang pengguna yang lengkap dengan teg, carian dan semua kemudahan yang mungkin (di bawah).

Untuk pentadbir sistem pemula: cara membuat susunan daripada huru-hara

Bukan sahaja anda tidak perlu mencari jawapan yang sama dua kali, tetapi mendokumentasikan akan membantu dalam mempelajari topik baharu (nota!), akan meningkatkan deria labah-labah anda (keupayaan untuk mendiagnosis masalah yang kompleks dengan satu pandangan cetek), dan akan menambah organisasi pada tindakan anda. Jika dokumentasi tersedia untuk rakan sekerja anda, ini akan membolehkan mereka mengetahui perkara dan cara anda bertimbun di sana apabila anda tiada di sana.

templat

templat ialah penciptaan dan penggunaan templat. Untuk menyelesaikan kebanyakan isu biasa, adalah wajar membuat templat tindakan khusus. Urutan langkah yang standard harus digunakan untuk mendiagnosis kebanyakan masalah. Apabila anda telah membaiki/memasang/mengoptimumkan sesuatu, prestasi sesuatu ini hendaklah disemak menggunakan senarai semak piawai.

Templat ialah cara terbaik untuk mengatur aliran kerja anda. Dengan menggunakan prosedur standard untuk menyelesaikan masalah yang paling biasa, anda mendapat banyak perkara yang menarik. Contohnya, menggunakan senarai semak akan membolehkan anda mendiagnosis semua fungsi yang penting untuk kerja anda dan membuang diagnosis kefungsian yang tidak penting. Dan prosedur piawai akan meminimumkan balingan yang tidak perlu dan mengurangkan kemungkinan ralat.

Perkara penting pertama ialah prosedur dan senarai semak juga perlu didokumenkan. Jika anda hanya bergantung pada ingatan, anda boleh terlepas beberapa pemeriksaan atau operasi yang sangat penting dan merosakkan segala-galanya. Perkara penting kedua ialah semua amalan templat boleh dan harus diubah suai jika keadaan memerlukannya. Tiada templat yang ideal dan benar-benar universal. Jika terdapat masalah, tetapi semakan templat tidak mendedahkannya, ini tidak bermakna tiada masalah. Walau bagaimanapun, sebelum anda mula menguji beberapa masalah hipotetikal yang tidak mungkin, anda perlu melakukan ujian templat pantas terlebih dahulu.

Pengoptimuman

Pengoptimuman bercakap untuk dirinya sendiri. Proses kerja perlu dioptimumkan sebaik mungkin dari segi masa dan kos buruh. Terdapat banyak pilihan: pelajari pintasan papan kekunci, singkatan, ungkapan biasa, alat yang tersedia. Cari kegunaan alat ini yang lebih praktikal. Jika anda memanggil arahan 100 kali sehari, tetapkan ia kepada pintasan papan kekunci. Jika anda perlu kerap menyambung ke pelayan yang sama, tulis alias dalam satu perkataan yang akan menghubungkan anda ke sana:

Untuk pentadbir sistem pemula: cara membuat susunan daripada huru-hara

Biasakan diri anda dengan pilihan berbeza yang tersedia untuk alatan - mungkin terdapat pelanggan terminal yang lebih mudah, DE, pengurus papan keratan, penyemak imbas, klien e-mel, sistem pengendalian. Ketahui alat yang digunakan oleh rakan sekerja dan rakan anda - mungkin mereka memilihnya atas sebab tertentu. Sebaik sahaja anda mempunyai alatan, pelajari cara menggunakannya: pelajari kunci, singkatan, petua dan helah.

Gunakan alat standard secara optimum - coreutils, vim, ekspresi biasa, bash. Untuk tiga yang terakhir terdapat sejumlah besar manual dan dokumentasi yang menarik. Dengan bantuan mereka, anda boleh beralih daripada keadaan "Saya rasa seperti monyet yang memecahkan kacang dengan komputer riba" kepada "Saya seekor monyet yang menggunakan komputer riba untuk memesan keropok kacang untuk diri saya sendiri."

Automasi

Automasi akan memindahkan operasi yang sukar daripada tangan kita yang letih kepada tangan automasi yang tidak kenal lelah. Jika beberapa prosedur standard dilakukan dalam lima arahan daripada jenis yang sama, maka mengapa tidak bungkus semua arahan ini dalam satu fail dan panggil satu arahan yang memuat turun dan melaksanakan fail ini?

Automasi itu sendiri ialah 80% menulis dan mengoptimumkan alatan anda sendiri (dan 20% lagi cuba untuk membuatnya berfungsi sebagaimana mestinya). Ia mungkin hanya satu pelapis lanjutan atau alat maha kuasa yang besar dengan antara muka web dan API. Kriteria utama di sini ialah mencipta alat tidak seharusnya mengambil masa dan usaha lebih daripada jumlah masa dan usaha yang alat itu akan menjimatkan anda. Jika anda menghabiskan lima jam menulis skrip yang anda tidak akan perlukan lagi, untuk tugasan yang memerlukan anda satu atau dua jam untuk diselesaikan tanpa skrip, ini adalah pengoptimuman aliran kerja yang sangat lemah. Anda boleh menghabiskan lima jam mencipta alat hanya jika bilangan, jenis tugas dan masa membenarkannya, yang jarang berlaku.

Automasi tidak semestinya bermakna menulis skrip lengkap. Contohnya, untuk mencipta sekumpulan objek daripada jenis yang sama daripada senarai, anda hanya perlukan satu pelapis pintar yang secara automatik akan melakukan perkara yang anda akan lakukan dengan tangan, bertukar antara tetingkap, dengan timbunan salin-tampal.

Sebenarnya, jika anda membina proses pentadbiran di atas empat tunjang ini, anda boleh meningkatkan kecekapan, produktiviti dan kelayakan anda dengan cepat. Walau bagaimanapun, senarai ini perlu ditambah dengan satu lagi item, tanpanya bekerja dalam IT hampir mustahil - pendidikan diri.

Pendidikan kendiri pentadbir sistem

Untuk menjadi cekap dalam bidang ini, anda perlu sentiasa belajar dan mempelajari perkara baru. Jika anda tidak mempunyai keinginan sedikit pun untuk menghadapi perkara yang tidak diketahui dan memikirkannya, anda akan terperangkap dengan cepat. Semua jenis penyelesaian, teknologi dan kaedah baharu sentiasa muncul dalam IT, dan jika anda tidak mengkajinya sekurang-kurangnya secara cetek, anda sedang menuju ke arah kegagalan. Banyak bidang teknologi maklumat berdiri pada asas yang sangat kompleks dan besar. Contohnya, operasi rangkaian. Rangkaian dan Internet ada di mana-mana, anda menemuinya setiap hari, tetapi sebaik sahaja anda menggali teknologi di belakangnya, anda akan menemui disiplin yang besar dan sangat kompleks, yang mana kajiannya tidak pernah berjalan-jalan di taman.

Saya tidak memasukkan item ini dalam senarai kerana ia adalah kunci untuk IT secara umum, dan bukan hanya untuk pentadbiran sistem. Sememangnya, anda tidak akan dapat mempelajari segala-galanya dengan serta-merta-anda tidak mempunyai masa yang mencukupi secara fizikal. Oleh itu, apabila mendidik diri sendiri, anda harus ingat tahap abstraksi yang diperlukan.

Anda tidak perlu segera mengetahui cara pengurusan memori dalaman setiap utiliti individu berfungsi, dan cara ia berinteraksi dengan pengurusan memori Linux, tetapi adalah baik untuk mengetahui apakah RAM secara skematik dan mengapa ia diperlukan. Anda tidak perlu mengetahui cara pengepala TCP dan UDP berbeza dari segi struktur, tetapi adalah idea yang baik untuk memahami perbezaan asas dalam cara protokol berfungsi. Anda tidak perlu mengetahui pengecilan isyarat dalam optik, tetapi adalah baik untuk mengetahui sebab kerugian sebenar sentiasa diwarisi merentas nod. Tidak ada yang salah dengan mengetahui bagaimana elemen tertentu berfungsi pada tahap abstraksi tertentu dan tidak semestinya memahami sepenuhnya semua peringkat apabila tiada abstraksi langsung (anda akan menjadi gila).

Walau bagaimanapun, dalam bidang anda, berfikir pada tahap abstraksi "baik, ini adalah perkara yang membolehkan anda memaparkan laman web" tidak begitu baik. Kuliah berikut akan ditumpukan kepada gambaran keseluruhan bidang utama yang mesti ditangani oleh pentadbir sistem apabila bekerja pada tahap abstraksi yang lebih rendah. Saya akan cuba mengehadkan jumlah pengetahuan yang disemak kepada tahap abstraksi minimum.

10 Perintah Pentadbiran Sistem

Jadi, kita telah mempelajari empat tunjang dan asas utama. Bolehkah kita mula menyelesaikan masalah? Belum lagi. Sebelum melakukan ini, adalah dinasihatkan untuk membiasakan diri dengan apa yang dipanggil "amalan terbaik" dan peraturan adab yang baik. Tanpa mereka, anda mungkin melakukan lebih banyak kemudaratan daripada kebaikan. Jadi, mari kita mulakan:

  1. Sesetengah rakan sekerja saya percaya bahawa peraturan pertama ialah "jangan membahayakan". Tetapi saya cenderung untuk tidak bersetuju. Apabila anda cuba untuk tidak mencederakan, anda tidak boleh melakukan apa-apa - terlalu banyak tindakan yang berpotensi merosakkan. Saya fikir peraturan yang paling penting ialah - "buat sandaran". Walaupun anda melakukan sedikit kerosakan, anda sentiasa boleh berpatah balik dan semuanya tidak akan menjadi teruk.

    Anda harus sentiasa membuat sandaran apabila masa dan tempat membenarkannya. Anda perlu membuat sandaran perkara yang akan anda ubah dan perkara yang anda berisiko hilang akibat tindakan yang berpotensi merosakkan. Adalah dinasihatkan untuk menyemak sandaran untuk integriti dan kehadiran semua data yang diperlukan. Sandaran tidak boleh dipadamkan serta-merta selepas anda menyemak semuanya, melainkan anda perlu mengosongkan ruang cakera. Jika lokasi memerlukannya, sandarkannya ke pelayan peribadi anda dan padamkannya selepas seminggu.

  2. Peraturan kedua terpenting (yang saya sendiri sering langgar) ialah "jangan sembunyi". Jika anda membuat sandaran, tulis di mana, supaya rakan sekerja anda tidak perlu mencarinya. Jika anda melakukan beberapa tindakan yang tidak jelas atau rumit, tuliskannya: anda akan pulang ke rumah, dan masalah itu mungkin berulang atau timbul untuk orang lain, dan penyelesaian anda akan ditemui menggunakan kata kunci. Walaupun anda melakukan sesuatu yang anda tahu dengan baik, rakan sekerja anda mungkin tidak.
  3. Peraturan ketiga tidak perlu dijelaskan: "Jangan sekali-kali melakukan sesuatu akibat yang anda tidak tahu, bayangkan atau fahami". Jangan salin arahan daripada Internet jika anda tidak tahu apa yang mereka lakukan, hubungi lelaki dan huraikannya dahulu. Jangan gunakan penyelesaian sedia jika anda tidak dapat memahami apa yang mereka lakukan. Pastikan pelaksanaan kod yang dikelirukan pada tahap minimum mutlak. Jika anda tidak mempunyai masa untuk memikirkannya, maka anda melakukan sesuatu yang salah dan anda harus membaca perkara seterusnya.
  4. "Ujian". Skrip, alatan, satu baris dan arahan baharu harus diuji dalam persekitaran terkawal, bukan pada mesin klien, jika terdapat potensi minimum untuk tindakan yang merosakkan. Walaupun anda menyandarkan segala-galanya (dan anda lakukan), masa rehat bukanlah perkara yang paling hebat. Buat pelayan/maya/chroot yang berasingan untuk ini dan uji di sana. Ada yang rosak? Kemudian anda boleh melancarkannya pada "pertempuran".

    Untuk pentadbir sistem pemula: cara membuat susunan daripada huru-hara

  5. "Kawalan". Minimumkan semua operasi yang anda tidak kawal. Satu lengkung pergantungan pakej boleh menyeret ke bawah separuh sistem, dan set bendera -y untuk yum remove memberi anda peluang untuk mempraktikkan kemahiran pemulihan sistem anda dari awal. Jika tindakan itu tidak mempunyai alternatif yang tidak terkawal, perkara seterusnya ialah sandaran siap sedia.
  6. "Semak". Semak akibat daripada tindakan anda dan sama ada anda perlu kembali ke sandaran. Semak untuk melihat sama ada masalah itu benar-benar telah diselesaikan. Semak sama ada ralat itu dihasilkan semula dan dalam keadaan apa. Semak perkara yang anda boleh putuskan dengan tindakan anda. Adalah tidak perlu untuk mempercayai kerja kita, tetapi jangan sekali-kali menyemak.
  7. "Berkomunikasi". Jika anda tidak dapat menyelesaikan masalah tersebut, tanya rakan sekerja anda jika mereka pernah menghadapi masalah ini. Jika anda ingin menggunakan keputusan kontroversial, ketahui pendapat rakan sekerja anda. Mungkin mereka akan menawarkan penyelesaian yang lebih baik. Jika anda tidak yakin dengan tindakan anda, bincangkannya dengan rakan sekerja anda. Walaupun ini adalah bidang kepakaran anda, pandangan baru pada keadaan boleh menjelaskan banyak perkara. Jangan malu dengan kejahilan anda sendiri. Lebih baik bertanya soalan bodoh, kelihatan bodoh dan mendapat jawapan, daripada tidak bertanya, tidak mendapat jawapan dan akhirnya menjadi bodoh.
  8. β€œJangan menolak bantuan secara tidak munasabah”. Perkara ini adalah sebaliknya daripada yang sebelumnya. Jika anda ditanya soalan bodoh, jelaskan dan jelaskan. Mereka meminta yang mustahil - menjelaskan bahawa ia adalah mustahil dan mengapa, menawarkan alternatif. Jika anda tidak mempunyai masa (anda benar-benar tidak mempunyai masa, bukan keinginan) - katakan bahawa anda mempunyai soalan mendesak, banyak kerja, tetapi anda akan menyelesaikannya kemudian. Jika rakan sekerja tidak mempunyai tugasan mendesak, tawarkan untuk menghubungi mereka dan wakilkan soalan.
  9. "Beri maklum balas". Adakah salah seorang rakan sekerja anda mula menggunakan teknik baharu atau skrip baharu, dan adakah anda menghadapi akibat negatif daripada keputusan ini? Laporkan ia. Mungkin masalah itu boleh diselesaikan dalam tiga baris kod atau lima minit memperhalusi teknik. Pernahkah anda menemui pepijat dalam perisian anda? Laporkan pepijat. Jika ia boleh dihasilkan semula atau tidak perlu diterbitkan semula, kemungkinan besar ia akan diperbaiki. Suarakan hasrat anda, cadangan dan kritikan membina, dan mengemukakan soalan untuk perbincangan jika ia kelihatan relevan.
  10. "Minta maklum balas". Kita semua tidak sempurna, sama seperti keputusan kita, dan cara terbaik untuk menguji ketepatan keputusan anda ialah membawanya untuk perbincangan. Jika anda telah mengoptimumkan sesuatu untuk pelanggan, minta mereka memantau kerja tersebut; Anda telah menulis skrip bantuan - tunjukkan kepada rakan sekerja anda, mungkin mereka akan mencari cara untuk memperbaikinya.

Jika anda sentiasa menggunakan amalan ini dalam kerja anda, kebanyakan masalah akan berhenti menjadi masalah: anda bukan sahaja akan mengurangkan bilangan kesilapan dan pemalsuan anda kepada minimum, tetapi anda juga akan mempunyai peluang untuk membetulkan kesilapan (dalam bentuk sandaran dan rakan sekerja yang akan menasihati anda untuk membuat sandaran). Selanjutnya - hanya butiran teknikal, di mana, seperti yang kita ketahui, syaitan terletak.

Alat utama yang anda perlukan untuk bekerja dengan lebih daripada 50% masa ialah grep dan vim. Apa yang lebih mudah? Carian teks dan penyuntingan teks. Walau bagaimanapun, kedua-dua grep dan vim adalah berbilang alatan berkuasa yang membolehkan anda mencari dan mengedit teks dengan cekap. Jika sesetengah notepad Windows membenarkan anda hanya menulis/memadam baris, maka dalam vim anda boleh melakukan hampir apa sahaja dengan teks. Jika anda tidak percaya saya, hubungi arahan vimtutor dari terminal dan mula belajar. Bagi grep, kekuatan utamanya adalah dalam ungkapan biasa. Ya, alat itu sendiri membolehkan anda menetapkan keadaan carian dan mengeluarkan data dengan agak fleksibel, tetapi tanpa RegExp ini tidak masuk akal. Dan anda perlu tahu ungkapan biasa! Sekurang-kurangnya pada tahap asas. Sebagai permulaan, saya akan menasihati anda untuk melihat perkara ini video, ia merangkumi asas ungkapan biasa dan penggunaannya bersama dengan grep. Oh ya, apabila anda menggabungkannya dengan vim, anda mendapat keupayaan KUASA MUKTAMAD untuk melakukan sesuatu dengan teks yang anda perlu melabelkannya dengan 18+ ikon.

Daripada baki 50%, 40% datang daripada kit alat coreutils. Untuk coreutils anda boleh melihat senarai di Wikipedia, dan manual untuk keseluruhan senarai ada di tapak web GNU. Apa yang tidak diliputi dalam set ini adalah dalam utiliti POSIX. Anda tidak perlu mempelajari semua kunci dengan teliti, tetapi sekurang-kurangnya mengetahui secara kasar perkara yang boleh dilakukan oleh alat asas adalah berguna. Anda tidak perlu mencipta semula roda daripada tongkat. Saya entah bagaimana perlu menggantikan pemisah talian dengan ruang dalam output daripada beberapa utiliti, dan otak saya yang sakit melahirkan pembinaan seperti sed ':a;N;$!ba;s/n/ /g', seorang rakan sekerja datang dan menghalau saya dari konsol dengan penyapu, dan kemudian menyelesaikan masalah dengan menulis tr 'n' ' '.

Untuk pentadbir sistem pemula: cara membuat susunan daripada huru-hara

Saya akan menasihati anda untuk mengingati apa yang dilakukan oleh setiap alat dan kunci kepada arahan yang paling kerap digunakan untuk semua yang lain ada manusia. Sila hubungi lelaki jika anda mempunyai sebarang keraguan. Dan pastikan anda membaca lelaki itu sendiri - ia mengandungi maklumat penting tentang apa yang akan anda temui.

Mengetahui alat ini, anda akan dapat menyelesaikan sebahagian besar masalah yang akan anda hadapi dalam amalan dengan berkesan. Dalam kuliah berikut, kita akan melihat masa untuk menggunakan alatan ini dan rangka kerja untuk perkhidmatan dan aplikasi asas yang digunakan untuknya.

Pentadbir sistem FirstVDS Kirill Tsvetkov telah bersama anda.

Sumber: www.habr.com

Tambah komen