Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam,
Mam wrażliwe środowisko produkcyjne, mam już kilkanaście paczek do aktualizacji security, odnoszą się do php i bibliotek .
Czytałem o nich poprawiają też wydajność i błędy z synchronizacją która u nas nie wystąpiła.
Pytanie jak bezpiecznie aktualizujecie takie środowiska, są to fizyczne maszyny nie wirtualne. Macie jakiś pomysł na zrobienie punktu przywracania przed aktualizacją ?
Czy można zrobić listę pakietów starych które zostaną zaktualizowane i potem ewentualnie zrobić downgrade?
Choleric no mam zagwozdkę, wygląda na to że nie powinno się nic zwalić, ale wolał bym się zabezpieczyć.
Dzięki za info
Redelek
Offline
Są to aktualizacje security zatem nic kluczowego w paczkach się nie pozmieniało. Aktualizuj i "nie bój żaby" ;) To Twoje środowisko więc je znasz i jak coś to z pewnością szybko się możliwym problemem uporasz (jesli w ogóle takowy wystapi).
Offline
ta to nie problem gdyby tylko system, programiści tam pieszczą swoją apkę w php i couchbase i nie chciał bym, żeby coś im się rozjechało. To specyficzne typy ludzi nie poprawią tylko mówią że ty zmieniłeś i dlatego padło :)
Offline
Może zrób sobie za pomocą dpkg-repack paczki które mają się aktualizować i ewentualnie będziesz co miał zainstalować w razie W.
Offline
A może postawić system chroot, rsynciem pociągnąć configi z oryginalnego systemu i sprawdzić czy w chroot działa? Jak środowisko jest na wirtualnej maszynie to możesz snapshota zrobić w razie W.
Offline
Nie możesz na testowym kompie zrobić repo, i produkcyjnych aktualizować z tego testowego, po gruntownym sprawdzeniu czy wszystko działa?
Moim zdaniem to jest najbezpieczniejsze rozwiązanie.
Offline
Rozwiażzać problem na dłuższą metę można wielorako, moim zdaniem najlepiej jakbys sobie napisał do wdrażania tego cuda stosowną automatyzację np w Ansible, a potem tylko robić backupy
Jak się coś spieprzy, to Ansible wystawi ci maszynę od nową w 20minut do tego job do przywracania backupow i in case of fire uzdrowienie świata potrwa tyle co stawianie OSa + czas dla Ansible i run joba z backupem
Poza tym w takich sytuacjach warto pomyśleć o takich cudach jak LVM, jak masz LVM i boisz się że coś się spsuje, to robisz sobie po prostu snapshota w LVM i jak coś się rypnie to przywracasz
Nie wiem jak masz dużą apke, ale może warto by zadbać o jakieś HA :)
Zostawiam do przemyślenia :)
Offline
Mówiłem o tym, ale jestem pionkiem więc do pierwszego dużego przestoju nie jestem ich w stanie przekonać. Podobno testowali kiedyś Citrix i ich środowisko się działało za wolno więc wrócili do fizycznych maszyn i wszystko im zaczeło działać. Zainstalowałem na jednej KVM i pokazuję jak to działa coś przenoszą, ale opornie im to idzie. Ciężkie środowisko do rozmówi negocjacji pomimo wielu przykładów i wyjaśnień nie bo nie i już bez uzasadnienia. Programiści tam żądzą :)
No staram się jakoś to ogarniać i nie chcę czegoś zwalić na starcie
Offline
Współczucie zatem z mojej strony :) z doświadczenia wiem że tam gdzie w webapkach rządzą deweloperzy tam zazwyczaj jest bajzel z całą stroną sysadmińską :p
W tej sytuacji możesz albo ich przekonać do vmek albo przynajmniej na nowych fizycznych maszynach wyrzucać lvma to przynajmniej będziesz mieć opcję robienia snapshotów
No i automatyzacja wdrożenia to sprawą sysadmina więc tu przynajmniej możesz sobie życie ułatwić i opracować dockera albo zrobić playbooki do ansibla
U nas biega puppet z konfiguracją nowych maszyn i też jest całkiem znośny ale Ruby to zło, nie wspominając już o puppetowej przeciwnej deklaratywności, pod tymi względami Ansible jest dalece bardziej wygodny (a przynajmniej takie wrażenie odniosłem, jak pisałem swoje 2-3 playbooki na krzyż
U nas też jest bałagan z tym czego chcą dewy ostatnio im nie pasowało że Centosa chcieliśmy wrzucić do devboxa, ale fedora już była spoko :d (a Centos na prod....)
Pozdro
Offline
[quote=redelek]Mówiłem o tym, ale jestem pionkiem więc do pierwszego dużego przestoju nie jestem ich w stanie przekonać. Podobno testowali kiedyś Citrix i ich środowisko się działało za wolno więc wrócili do fizycznych maszyn i wszystko im zaczeło działać. Zainstalowałem na jednej KVM i pokazuję jak to działa coś przenoszą, ale opornie im to idzie. Ciężkie środowisko do rozmówi negocjacji pomimo wielu przykładów i wyjaśnień nie bo nie i już bez uzasadnienia. Programiści tam żądzą :)
No staram się jakoś to ogarniać i nie chcę czegoś zwalić na starcie[/quote]
Przesadzasz, pionkiem czy nie pionkiem, stabilny Debian to nie katastrofa.
Ja bym zaktualizować, i najwyzej, jak wzorem Freeradiusa, nie będzie coś np gadało z biblioteką libssl, to sobie przekompilują projekt i gotowe.
Z resztą zależy, w czym to piszą.
Offline
zrób sobie obraz dysku wrzuć go na inny dysk lub virtualbox, ptzrzeprowadz aktualizacje i zobacz czy wszystjko poszło ok.
Offline
a można jakoś w locie zrobić nie mogę go restartować działają na nim liczniki od klientów pare tysięcy sklepów więc restart wiąże się z tym że kierownicy będą musieli się tłumaczyć. Chcą tego uniknąć. LVM też tam nie ma :(
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00094 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.191.107.181' WHERE u.id=1 |
0.00062 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.191.107.181', 1732997653) |
0.00050 | SELECT * FROM punbb_online WHERE logged<1732997353 |
0.00064 | DELETE FROM punbb_online WHERE ident='18.190.153.77' |
0.00056 | DELETE FROM punbb_online WHERE ident='3.135.209.107' |
0.00068 | DELETE FROM punbb_online WHERE ident='54.36.149.55' |
0.00067 | DELETE FROM punbb_online WHERE ident='85.208.96.197' |
0.00049 | SELECT topic_id FROM punbb_posts WHERE id=299271 |
0.00172 | SELECT id FROM punbb_posts WHERE topic_id=28398 ORDER BY posted |
0.00072 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=28398 AND t.moved_to IS NULL |
0.00010 | SELECT search_for, replace_with FROM punbb_censoring |
0.00090 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=28398 ORDER BY p.id LIMIT 0,25 |
0.00081 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28398 |
Total query time: 0.00949 s |