Soru Linux Ağ ve Sistem Yönetimi için Araç Seti ve Alışkanlıkları [kapalı]


Çoğunlukla Debian ve Ubuntu'yu çalıştıran küçük bir işyeri ağının yanı sıra birkaç iş istasyonunun yönetimi ile görevlendirildim. İki sunucu vardır: bir veritabanı ve yazıcı sunucusu ve bir yedekleme ve dosya sunucusu.

Linux'un bir derecesine kadar kendime yardımcı olmak için yeterince şey bilen şeylerin bu tarafına nispeten yeni olmak, bu alanı öğrenmek için hangi yazılım araçlarını ve görevlerini / alışkanlıklarını kullanabileceğimi / edinebileceğimi ve bunu yaparken de etkili olabileceğimi bilmek isterim.

En iyi olanın ne olduğunu bilmem gerekmiyor, sadece bir acemi sys-admin'in uygun bir sistem yönetimine dönüşecek bir temel olarak öğrenmek ve kullanmak için bir başlangıç ​​paketi olarak ne kullanabileceği.

İhtiyacım olan şey, başlangıçta kullanacağım birkaç temel araç ve düzenli olarak yapmam gereken şeyler, örneğin: ne zaman kontrol edileceğine, ne zaman ve neyin izleyeceğine, ne tür bir “doğru” yerin başladığına ve ne yapabileceğime İhtiyacım olan reklam.


20
2017-10-17 13:23


Menşei


Öznel konu, aşırı. Bir "doğru" cevap nasıl görünebilir? - Bill Weiss


Cevaplar:


1

İş kritik süreçlerini izlemek (örneğin - veritabanı çalışmakta ve basit sorgulara yanıt vermektedir), işletim sisteminin temel parametreleri [boş disk alanı, yük ortalaması]. kullanabilirsiniz nagios veya Zabbix Örneğin.

2

bazı taban çizgileri oluşturmak için istatistikleri toplamak. Gelecekte bu kapasite planlaması için yararlı olacaktır. kullanabilirsiniz MuninZabbix kaktüsler vb.

3

Zamanlanmış otomatik yedeklemeleri çalıştır, bazılarını çevrimdışı olarak sakla. Başarısız olup olmadıklarını izleyin, zaman zaman kritik verileri kurtarabiliyorsanız el ile kontrol edin. kullanmak isteyebilirsiniz backupninja orkest etmek Zmandaama çok daha kullanışlı araçlar var ..

4

belgesi. senin iyiliğin için. Belgelerin eksikliğinin iş güvenliğinizi arttırdığını düşünmeyin. onun eksikliği yüzünden acı çeken ilk sizsiniz, muhtemelen çok çabuk şeyleri unutursunuz.

5

diğer rastgele şeylerden:

Bazı betik dilini öğrenirsiniz - belki bir tanesini biliyorsunuzdur? Perl / python / php, görevleri otomatikleştirmek için kullanılabilir ve çoğu durumda daha karmaşık görevler için bash'tan daha uygundur

araçlarını öğren - sonsuz liste ... ssh muhtemelen önce akla gelir. Çıkış yapmak bu ve o.


16
2017-10-17 13:35



"sonsuz liste ..." - gerçekten; Bu soruyu sormadan önce bunun için uğraştım, ama bunaldım. KISS'e inanıyorum ve basit, kolay bir temelden başlamak ve doğru şeyler öğrenmeye çalışmak istiyorum. - slashmais
Bu noktaya 1 ve 4 numaralı noktaları eklemek istiyorum. Kukla gibi bir yapılandırma yönetim sistemi kullanmanızı tavsiye ederim. en azından, sürüm kontrolü (git / svn) kullanıyor olmalısınız, ancak kukla bir şeyler yapmanıza izin verecek ve daha sonra hizmetleri eklemeniz veya yeniden oluşturmanız gerektiğinde tekrarlanabilir olmanızı sağlayacaktır. Ayrıca aşırı mühendisliğe de inanıyorum. Altyapınızı 100 makineye ihtiyacınız olduğu gibi oluşturuyorsanız, 10 makinenizi yönetmek ve gerekirse ölçeklendirmek daha kolay olacaktır. - neoice
Sanırım bir fikir meselesi, ama en önemli nokta 3'ü koyuyorum. Evet, muhasebe veri tabanının yarısı kadar düştüğünde berbat, ama Gerçekten mi Kötü / yetersiz yedekler nedeniyle tüm finansallar ortadan kalktığında berbattır. YMMV. - Joe Internet
@pQd - İzleme (nagios, opennms, vb) ve bir bilet sistemi de ekleyebilirim. Şaşırtıcı bir şey olmak zorunda değil: "todo" öğelerinizi tutmak için sadece bir yer. Sonunda, ihtiyaç duydukları şeyleri teslim eden veya diğer takımlar için kuyruklar geliştiren insanlara genişletilebilir. - warren
okumak Sistem Yöneticileri için Zaman YönetimiThomas Limoncelli tarafından. E-posta ile çalışan herkes için okuma yapılmalıdır. - warren


Sistem ve Ağ Yönetimi Uygulaması, Limoncelli, ve arkadaşları, başlangıç ​​yapmanız gereken yer. Teknolojiler gelip gidiyor (ve gerektiği gibi kolayca googled olabilir), ancak bu kitaptaki bilgiler zamansız (ve paha biçilemez).


10
2017-10-17 22:30



Ayrıca Frisch tarafından Temel Sistem Yönetimi. - Jason Antman


Başlamak İçin Birkaç Temel Araç

Google. Yok gerçekten. Google, bir sistem yöneticisinin hayalinin gerçekleşmesidir. İnternetteki büyük miktarda bilgiyi kullanmanın daha iyi bir yolu yoktur. Ve kendinizi sadece "yeni başlayanlar için linux" aramasıyla sınırlamayın; Gerçekleştirmeye çalıştığınız belirli bir göreviniz varsa, o belirli şey için Google. Sıkça ihtiyaç duyduğunuzdan çok daha fazla bilgi bulacaksınız ve yeni başlayan biri olarak başka bir dil gibi görünecektir, ancak yaparak öğrenme, işleri hızlı bir şekilde almak için iyi bir yoldur.

Sekme tamamlanması. Linux komut satırı, tüm komutların, dizin ağaçlarının, dizin adlarının ve dosya adlarının sekme tamamlanmasını sağlar.

Man sayfaları. Her komut ve birçok sistem yapılandırma dosyası (/ etc / fstab, / etc resolv.conf, vb.) Man sayfalarına sahiptir. Aradığınızı öğrenmek için "man komut_adı" veya "dosya_adı" yazın. Oh ve "q" bir adam sayfasından çıkar.

SSH. Linux sistemine erişmenin en iyi yollarından biri. Muhtemelen  Sisteme fiziksel erişiminiz yoksa en iyi yoldur.

Ekran. Ekran, bir terminali bir çokya dönüştürmenizi sağlayan harika bir küçük uygulama, bir şeyleri yolunuza / arka plana getirmenize izin veriyor ve işleri daha sonra geri gelebilmeniz için bırakmanızı sağlıyor.

Nano. Yukarıda bahsettiğini söyledin, ama sadece iki sentime atacağımı ve kabul ettiğimi düşündüm. Vi ve Vim ve hepsi iyi ve hepsi, ama sevdiğim Nano'nun sadeliği. Linux dünyasının Not Defteri gibi.

Bul ve Grep. Bulmak, arama için harika için dosyaları, Grep aramak için harika içinde Dosyalar. Her ikisi de çok basit şekillerde kullanılabilir ve her ikisi de çok karmaşık şekillerde kullanılabilir, ancak her ikisi de iki şekilde oldukça faydalıdır.

Sudo. Kök olmadan, kök gibi davranmanıza izin verir. Çok kullanışlı.

Ayrıca bir sonraki bölüm bağlamında bahsettiğim birkaç diğer araç ...

Düzenli Yapmanız Gereken Şeylerin Çeşitleri

Sisteminizi izleyin. Disk kullanımınızı izleyin (df yararlı bir komuttur ve belirli dizinler için de geçerlidir), çalışan süreçlerinizi ve görevlerinizi izleyin (ps komutu ve üst komutlar aracılığıyla), sisteminizde oturum açan kullanıcıları izleyin (kullanıcılar ve kimin komutları olacak) Bunu söyleyin ve ağ kullanımınızı izleyin (kaktüsler gibi uygulamalar bunun için iyidir). Bir X Windows ortamına erişiminiz varsa, GKrellM'in her zaman çok kullanışlı hepsi bir arada sistem izleme aracı olduğunu tespit ettim.

Yedekler. Tux'un aşkı için, yedekler. Yedekleme yapılandırma dosyaları, yedekleme ana dizinleri, yedek uygulama verileri. Yedekler. Yaptığınız tüm veriler, sunucudaki verileri başka bir kutudaki ve harici bir sabit diskteki CIFS / NFS paylaşımına kopyalarken bile. Ve evet, her bir yedeklemenin iki kopyasını tutmalı ve asla aynı medya / sistemde bulunmamalısınız. Yedeklemelerinizin yedekleri olarak düşünün.

Yedeklerinizi kontrol edin. Yedeklerinizdeki verileri sisteminize geri yükleyebildiğinizden emin olmak için düzenli olarak kontrol edin. Boş / bozuk / eksik yedeklemeler, gün uzun olduğu kadar faydasızdır.

Günlük dosyalarınızı kullanın. Dmesg, / var / log / mesajlar ve / var / log döneminde gerçekten çok fazla şey. Eğer bir şey doğru çalışmıyorsa ve nedenini bilmiyorsanız, günlükler cevaba sahip olmayabilirler ancak kesinlikle bulmanıza yardımcı olabilirler. Ve / var / log'daki günlükler ve dizinler mantıklı bir şekilde adlandırılır, böylece doğru kayıtların bulunması zor olmamalıdır. Her bir günlük dosyasını sürekli olarak izlemeniz gerekmeyecek, ancak onlara göz kulak olmak, sisteminizi sağlıklı ve güvenli tutmanıza yardımcı olacaktır.

Sisteminizi güncel tutun. Yazılımınızın aylar ve aylar boyunca güncellenmesine izin vermeyin, çünkü yapılandırma dosyası sözdizimi veya bağımlılıkları değiştiğinde çok fazla baş ağrısına ve kırılmaya neden olabilir. Farklı dağıtımlar farklı güncelleme programlarına (apt-get, yum, vb.) Sahiptir, fakat hangisini kullanırsanız kullanın, öğrenin ve düzenli olarak kullanın.

Sisteminizi güvende tutun. Sisteminize istenmeyen erişimi önlemek ve kullanmak için iptables, PAM, hosts.allow / hosts.deny ve benzeri şeyleri kullanın.

Öğrenmeyi asla bırakma. Daha önce söylediğim (devam ederek öğrenme) bir şeye devam etmek için bakmanız gereken bir şey sanal makineler. VirtualBox'ı indirin (veya VMWare lisanslarınız daha da iyiyse) ve kendinize bir Linux sanal makinesi yapın. Gerçekten istediğiniz herhangi bir dağıtımını seçebilirsiniz, ancak ortamınızda kullanmakta olduğunuz bir şeyle gitmek muhtemelen en mantıklıdır. Sanal makinede oynayın ... bir sandbox gibi kullanın. Bir şeyleri ayarla, bir şeyler kır, araştır, öğren. Sanal makine sanal makinesinin güzelliği, ona ne olduğu önemli değil. Tamamen hortumluyorsan, yeni bir tane yap. Ya da kurulumdan sonra orijinalin yedek kopyasını saklayın ve gerektiğinde yeniden kullanın.

Bu konudaki diğer yayınlardan bazıları bahsettiğinden ve ima ettiğinden, bu listeler neredeyse sonsuz olabilirdi, ama umarım bu, iyi bir başlangıç ​​yapmanıza neden olur.


10
2017-10-22 19:33



Örnek "man" komutumun sözdizimini çıkardı, bu yüzden onları biraz değiştirdim. "Command_name" ve "file_name" komutlarını sadece uygun komut veya dosya ile değiştirirsiniz. - kingfish
Bazen Not Defteri'nde ve kendimi ESC yazarken buluyorum: wq problem nadir bir durum değil. Nedenini merak ediyorum... - Mircea Vutcovici


Eğer yeni başlıyorsanız ve özellikle de bazı Debian'larınız olduğundan (Ubuntu kendi çekirdeklerinde Debian), kesinlikle tavsiye ederim. Debian Referansı. Sistem yönetiminin neredeyse her yönüyle ilgili harika bir genel bakış ve bu gibi küçük bir sistem setini sürdürme konusunda bilmeniz gereken hemen hemen her şeyi kapsamalıdır.

Ayrıca pQd'nin yaptığı tüm noktalara katılıyorum ve daha spesifik olarak tüm süreçlerinizi ve konfigürasyonlarınızı belgelemek için bir wiki kurmanızın iyi bir fikir olacağını düşünüyorum. Kuruluşumda Trac kullanıyoruz, ancak herhangi bir wiki motoru, küçük kodlar ve komut listeleri için yararlı olduğundan kaynak kodunu görüntülemenin güzel bir yolunun olduğundan emin olun.


8
2017-10-17 16:42





Dürüst olmak gerekirse, Linux Sistem Yönetimi sadece 'atlayabileceğiniz' bir alan değil.

Eğer sen zorundaAncak, konuyla ilgili birkaç iyi kitap var. O'Reilly, başlamanız gereken iki kitap (Linux Ağ Yönetimi ve Linux Sistem Yönetimi) sahibidir.

Şahsen, eğer olsaydım, sadece birkaç günümü farklı dağıtımlarla uğraşmak, yazılım kurmak, Nagios / Cacti / Apache2 / SSH / NFS türünde şeyler yapmak ve belki de bir çeşit betik dili öğrenmek (Perl kullanıyorum) kendim ama birçok arkadaşım Python'u kullanmayı tercih ediyor. Yine de öğrenmek istediğiniz şey size kalmış.

Ve kesinlikle komut satırını öğren. Grafik araçları üzerinde bir koltuk değneği olarak düşmeyin.

Vi öğrenin. Temel düzenlemeleri yapmak için yeterince iyi öğrenmiş olsanız bile iyi olur - ancak vi öğrenmek önemlidir, çünkü bazen Vim / Nano / Emacs olmadan bir sistemde takılırsınız. Bu durumda, bir ya da iki gün geçirdiğiniz için mutlu olacaksınız.

Herhangi bir yardıma ihtiyacınız varsa bana e-posta göndermekten çekinmeyin (e-posta adresim güvenlik nedeniyle kaldırılmıştır) - Size ServerFault'un dışında yardımcı olmaktan memnuniyet duyarım.


3
2017-10-17 14:56



Perl'i biliyorum; Biliyorum / some / vi (nasıl ekleyip & save & quit - nano'yu tercih edin). Benim durumum neyse ki 'düşük basınç' bir, bu yüzden ben bir sys-admin guru sağ-off olmanıza gerek yok, ben içine büyüyebilir (ve sunucu-hata var ve ben (güven için teşekkürler) ben ne zaman sormak gerçekten takıldım (aynı zamanda çok yararlı bir LKG'ye aittir). İhtiyacım olan şey, başlangıçta kullanacağım birkaç temel araç ve düzenli olarak yapmam gereken şeyler, örneğin: ne zaman kontrol edilecek, ne zaman ve neyin izlenmesi gerektiği İhtiyacım olan reklamı başlayabilmem için “doğru” bir yer. - slashmais
Ardından Cacti, Nagios, Snort ve Postfix'i kurmanızı öneriyorum. Muhtemelen sisteminizi izlemek için en çok kullandığınız dört araç olacaktır. Bunları ayarlamak, kayıt dosyalarını manuel olarak kontrol etmek için çok fazla zaman kazandıracaktır. Günlükleri manuel olarak kontrol etmek için, / var / log / içerisindeki her şey muhtemelen iyi bir bahistir. Sizi işaret edebileceğim belirli bir dosya yok, ancak bir şey düzgün bir şekilde çalışmıyorsa, / var / log girişini kontrol etmek için iyi bir bahis olabilir. - Michael Pobega
Bir zamanlar ben de nano'yu tercih ettim, slashmais. Dosyaları her zaman düzenlemeye başladığınızda, vi'yı daha ayrıntılı olarak öğrenmek istersiniz. Bundan yeterince alamıyorum ... - Kyle Smith


Bir uygulamayı sunuculara yüklemek konusunda rahat davranıyorsanız, webmin Günlüğe kaydetme ve yapılandırmanın çoğu için bir "tek durak" mağazası sağladığı için. SSL kullanarak yüksek sipariş portu üzerinden çalışacak şekilde ayarlayın ve kendini kontrol kolaylığı için ödüyor.


3
2017-10-22 20:55





Size sistem ve ağ yönetiminin en büyük gizli sırrını anlatacağım. Hazır mısın? Tamam, işte burada:

Temelleri öğrenin. Detaylandırmama izin ver.

Bu veya belirli bir yazılımın ne yaptığını (veya hemen hemen) öğrenen herkes, bu düğmeyi x, y veya z yapmak için bu araca nasıl bastırabilir. Bu özel bir şey değil.

Eğer olmak istiyorsan iyi sys / net admin, kaputun altını öğren. Tipik bir ağ bağlantısındaki olaylar dizisi nedir? Bir çerçeve ve paket arasındaki fark nedir? Yük ortalaması, bir Unix sisteminde gerçekten ne anlama geliyor? Bir makine için tipik önyükleme süreci nedir (baştan sona takip ederseniz, tek başına bu bilgi zenginliğini sağlayacaktır).

Temelleri anladıktan ve onları gerçekten iyi anladıktan sonra, iyi bir vakfın üzerine bilgi vermek çok daha kolaydır. Ama en baştan başlarsanız ve altta ne olup bittiğini bilmeden, belirli yazılım parçalarını öğrenmeye çalışırsanız, bu sizi temelde bir başka yüksek teknolojili hizmetkâr yapar.


2
2017-10-21 20:31





İlk önce, günlüklerini bul. Çoğu Linux dağıtımı / var / log / mesajlarına bağlanır, ancak / var / log / syslog dosyasına bir çift giriş yaptım. Bir şey yanlışsa, büyük olasılıkla günlüklerde bazı ilgili bilgiler olacaktır. Ayrıca, e-posta ile uğraşıyorsanız, / var / log / mail'i de unutmayın. Uygulamalarınızı iki kez kontrol edin, bunlardan herhangi birinin, syslog'un dışında gülünç bir yere giriş yapıp yapmadığını öğrenin.

Vi becerilerinizi geliştirin. Nano, bu güzel çocukların bu günlerde kullandıkları şey olabilir, ancak deneyim bana vi'nın sistemde olması garantili tek metin editörü olduğunu öğretti. Klavye kısayollarına alıştıktan ve kendi tetikleyicilerinizi oluşturmaya başladığınızda, vi sizin için ikinci bir doğa olacaktır.

Man sayfasını okuyun ve her makinede aşağıdaki komutları çalıştırın ve sonuçları belgelerinize kopyalayın:

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

Bu, belgelerinizin başlangıcı olarak hizmet edecektir. Bu komutlar, ortamınızı tanımanıza ve daha sonra problemleri azaltmanıza yardımcı olabilir.

Günlüklerinizden Grep ve "hata" veya "başarısız" için arama yapın. Bu, olması gerektiği gibi çalışmayan bir fikir verecektir. Kullanıcılarınız neyin yanlış olduğuna dair görüşlerini size söyleyecekler, ne söyleyeceklerine dikkatlice dinleyin. Sistemi anlamıyorlar, ama bunu sizden farklı bir şekilde görüyorlar.

Bir sorununuz olduğunda, şu sırayla kontrol edin:

  1. Disk Alanı (df -h): Linux ve Linux üzerinde çalışan bazı uygulamalar, disk alanı bittiğinde bazı garip şeyler yapar. % 100 dolu bir dosya sistemini kontrol edip bulana kadar ilgisiz görünebilir.

  2. Top: Top, orada mevcut tüm CPU döngülerini tüketen bir işleminiz varsa bunu size bildirir. Hiçbir şey uzun bir süre% 99 CPU kullanmalıdır. Eğer meşru bir süreçse, muhtemelen aşağı yukarı dalgalanmalıdır. En üstte iken, kontrol et ...

  3. Sistem Yükü: Sistem yükü normal olarak standart bir sunucuda veya iş istasyonunda 3'ün altında olmalıdır. Sistem yükü CPU, bellek ve G / Ç'ye dayanır.

  4. Bellek (ücretsiz -m): Linux'ta RAM kullanımı biraz farklıdır. Neredeyse tüm RAM'inin kullanıldığı bir sunucuyu görmek nadir değildir. Panik yapmayın, eğer bunu görürseniz, çoğunlukla sadece önbellektir ve gerektiği gibi silinir. Bununla birlikte, kullanımdaki takas miktarına dikkat ediniz. Mümkünse, bunu olabildiğince sıfıra yakın tutun. Yetersiz bellek, her türlü performans sorununa yol açabilir.

  5. Günlükler: Günlüklerinize geri dönün, tail -500 / var / log / messages komutunu çalıştırın | daha fazla okumaya ve neler olup bittiğini görmeye başlayabilirsiniz. Umarım, günlükler, bir sonraki gitmeniz gereken yönde size işaret edebilir.

İyi bakılmış bir Linux sunucusu sorunsuz yıllar boyunca çalışabilir. Sadece 748 gün boyunca koşan birini kapattık ve uygulamayı kapattık çünkü uygulamayı yeni donanıma geçirdik. Umarım bu ayaklarınızı ıslatmanıza ve iyi bir başlangıç ​​yapmanıza yardımcı olur.

Son bir şey, her zaman değiştirmeyi planladığınız bir yapılandırma dosyasının bir kopyasını yapın ve her zaman değiştirdiğiniz çizgiyi kopyalayın ve orijinali yorumlayın ve değiştirmeye nedeninizi ekleyin. Bu, gittiğiniz sırada belgeleme alışkanlığınıza girecek ve 9 ayınızı saklayacağınız yere saklayabileceksiniz.


2
2017-10-25 08:14