Fórum Root.cz

Hlavní témata => Server => Téma založeno: Miloš 21. 03. 2016, 14:20:22

Název: Jak aktualizujete servery?
Přispěvatel: Miloš 21. 03. 2016, 14:20:22
Zdravím, nějak mi přibývá serverů a přemýšlím, jak je efektivně aktualizovat. Ručně to jde, ale je to otrava. Jak to řešíte vy? Cronem? Nebo nějakým pokročilým systémem? Díky za tipy.
Název: Re:Jak aktualizujete servery?
Přispěvatel: Jenda 21. 03. 2016, 15:44:38
Mám skript, který se na všechny naSSHčkuje, zkontroluje stav RAIDu a spustí apt-get update && apt-get upgrade (případně yum update). Skript spouštím podle nálady když mám čas, případně když do debian-security přijde oznámení o nějaké bezpečnostní chybě, která se mě týká.
Název: Re:Jak aktualizujete servery?
Přispěvatel: Lol Phirae 21. 03. 2016, 15:52:17
Jak to řešíte vy? Cronem?

No, to snad může dělat jedině šílenec, sebevrah nebo nějaký domácí matlal.
Název: Re:Jak aktualizujete servery?
Přispěvatel: Mirek Prýmek 21. 03. 2016, 15:54:07
Pokud chceš fakt jenom spustit příkaz na všech serverech, tak asi nejjednodušší možnost je Paramiko.

Pokud do toho investuješ o trochu víc úsilí, můžeš nějakým nástrojem server nejen updatovat, ale i kompletně nastavit (příp. nastavení ověřit, což se hodí): Ansible, Salt-ssh, Salt, Puppet, Cfengine (v tomhle pořadí subjektivně vnímám jejich složitost).

Pokud to myslíš vážně, doporučoval bych salt-ssh.
Název: Re:Jak aktualizujete servery?
Přispěvatel: Mirek Prýmek 21. 03. 2016, 16:00:21
tak asi nejjednodušší možnost je Paramiko.
A jestli si to nechceš psát sám, tak http://www.root.cz/clanky/parallel-ssh-jeden-prikaz-vladne-vsem/ (podívej se i do komentářů - udělat totéž čistě pomocí shellu není větší problém a mluví se tam o tom).
Název: Re:Jak aktualizujete servery?
Přispěvatel: Tomáš Crhonek 21. 03. 2016, 16:09:34
Pokud to myslíš vážně, doporučoval bych salt-ssh.

salt-ssh '*' -r 'ifconfig'

Mno. A toto má být projekt na správu serverů v roce 2016? Tomu se fakt těžko věří. (Ale třeba to chtějí pustit na *BSD.)
Název: Re:Jak aktualizujete servery?
Přispěvatel: Mirek Prýmek 21. 03. 2016, 16:10:45
Mno. A toto má být projekt na správu serverů v roce 2016? Tomu se fakt těžko věří. (Ale třeba to chtějí pustit na *BSD.)
Tvoje problémy bych chtěl mít :))
Název: Re:Jak aktualizujete servery?
Přispěvatel: pavlix 21. 03. 2016, 16:20:28
A toto má být projekt na správu serverů v roce 2016?

Jako by rok 2016 měl v oblasti IT něčím zvlášť vynikat.
Název: Re:Jak aktualizujete servery?
Přispěvatel: andy 21. 03. 2016, 16:56:46
Cronom? Aktualizacia ma byt sucastou release (mal by si mat k tomu ticket). Pri najmensom by si mal otestovat, ze nova verzia funguje a az potom ju instalovat.
Název: Re:Jak aktualizujete servery?
Přispěvatel: JSH 22. 03. 2016, 16:53:20
Pokud to myslíš vážně, doporučoval bych salt-ssh.

salt-ssh '*' -r 'ifconfig'

Mno. A toto má být projekt na správu serverů v roce 2016? Tomu se fakt těžko věří. (Ale třeba to chtějí pustit na *BSD.)
Šlo by trochu rozvést, co je na tomhle příkazu špatně?
Název: Re:Jak aktualizujete servery?
Přispěvatel: samalama 22. 03. 2016, 18:22:49
Pokud to myslíš vážně, doporučoval bych salt-ssh.

salt-ssh '*' -r 'ifconfig'

Mno. A toto má být projekt na správu serverů v roce 2016? Tomu se fakt těžko věří. (Ale třeba to chtějí pustit na *BSD.)
Šlo by trochu rozvést, co je na tomhle příkazu špatně?

# ip addr add 172.16.1.3/24 dev eth0
# ip addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 74:d4:35:0b:18:06 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.3/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 172.16.1.3/24 scope global eth0
       valid_lft forever preferred_lft forever
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 74:d4:35:0b:18:06 
          inet addr:10.0.0.3  Bcast:10.0.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2231961 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1280839 errors:0 dropped:2 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3044378515 (2.8 GiB)  TX bytes:122330244 (116.6 MiB)

Název: Re:Jak aktualizujete servery?
Přispěvatel: j 22. 03. 2016, 18:31:40
Cronom? Aktualizacia ma byt sucastou release (mal by si mat k tomu ticket). Pri najmensom by si mal otestovat, ze nova verzia funguje a az potom ju instalovat.

Predevsim i potom musis overit, ze to dopadlo, a ze vse funguje. Jakejkoli automatismus je tak leda cesta do pekel horoucich.
Název: Re:Jak aktualizujete servery?
Přispěvatel: Mirek Prýmek 22. 03. 2016, 21:01:57
Šlo by trochu rozvést, co je na tomhle příkazu špatně?
Nic, jenom je to možná trochu nevhodný příklad. Ta nevhodnost se Saltem jako takovým nijak nesouvisí.
Název: Re:Jak aktualizujete servery?
Přispěvatel: Youda 23. 03. 2016, 22:05:25
Momentalni standard je Puppet v konfiguraci master/client.

Ostatne komercni a mastny (list price $10000 annually) RedHat Satellite 6 neni nic jineho nez zabalena kombinace 3 submodulu
- jakehosi SW zacinajiciho na K, ktery spravuje RHN subscriptions
- Foreman - to je graficke udelatko na tvorbu Kickstart instalaci - ucelem je nainstalovat na bare metal holy RHEL + konfiguraci repozitaru + Puppet client
- Puppet server - ten se postara o zbytek

Puppet je nastroj, ktery zajistuje (ensuruje) ze cilovy server bude v "pozadovanem stavu" - tj ze urcite packages budou nainstalovany, urcite naopak nesmi, urcite services pobezi a urcite konfiguraky budou vygenerovany z templates.

Puppet je na serveru spousten periodicky, postupne zkousi jednotlive spravovane Nody, jestli jsou v pozadovanem cilovem stavu, pokud ne, Puppet to premlaskne zpatky na pozadovany stav (nebo jenom nabonzuje v NOOP modu)

Puppet te odstinuje od implementacnich podrobnosti, ty reknes puppetovi, aby na nodu ensuroval package s urcitym nazvem a puppet uz sam vybere, jestli ma pouzit yum, apt nebo solarisi pkg. Kdyz nekdo hrabne do konfiguraku - dtto.

Kdyz uz s puppetem zacnes, je vhodne do nej presunout veskerou spravu a nody pak managovat uz jenom pres puppet. Je to na pocatku pracne, rozhodne se to ale vrati a pak uz to jenom setri cas. Navic pro bezny SW z beznych repozitaru puppet moduly uz existuji na PuppetForge, ty pak staci jenom stahnout a proste reusovat.


Název: Re:Jak aktualizujete servery?
Přispěvatel: Vasek 25. 03. 2016, 11:26:31
Koukni na Pulp - http://www.pulpproject.org/ lze tim jednoduse "posouvat" kontrolovane zmeny, normalne se pouziva vic typu/stage toho sameho repozitare (unstable/stable + live), z live poustis security update (salt/ansible/jenkins/cron/...) ala 'yum update --security --disablerepo="*" --enablerepo="*-live"' ostatni pak postupne testujes a posouvas az do production stage. Pokud mas puppet/chef/... tak neni potreba resit ani napojeni na klientu na pulp (MQ) staci pouzit standardni yum prikazy a definovane repozitare.