Керування оновленнями на сотнях серверів Debian


20

Як ви вважаєте, які найкращі практики підтримувати десятки (якщо не сотні) серверів debian? Маючи на увазі, що:

  • Є групи серверів (тобто однакові веб-сервери, сервери БД, ...)
  • Існує декілька проблем Debian (lenny, etch)
  • Запускати цикл на всіх серверах і робити оновлення & оновлення apt-get неприйнятно (тому що це я зараз роблю :)) Це повинно бути краще, ніж це!

В даний час, коли я нарешті закінчу всі оновлення, з'являється нове оновлення безпеки, і мені доведеться робити це заново.

Заздалегідь дякую спільноті за замовчуванням сервера!


1
Майте один локальний сервер для зберігання останніх пакетів та використання його як підходящого сховища, це заощадить вам пропускну здатність та час, використовуйте локальне сховище для розповсюдження оновлень на локальних серверах. О, і використовуйте здатність замість apt-get.
Кароліс Т.

3
Так, для дзеркала та ні для схильності. Жодної вигоди в ці дні. Він навіть не має супер сили корови.
Девід Пашлі

Відповіді:


12

Я використовую apt-dater для управління оновленням усіх моїх скриньок Debian. Здається, зробити трюк досить добре. Не намагався масштабувати це до сотень господарів.


1
Цікавий продукт, хоча я ніколи про нього не чув.
wzzrd

Це дуже добре ! Я б просував цю відповідь, якби apt-dater не мав локального пакету для встановлення на кожному хості ... і я не розумію, для чого це навіть потрібно.
Фолкен

Після тестування цей інструмент є приголомшливим! Але працює на десятки серверів, а не на сотні. Під час роботи з великою кількістю машин все стає лускатим і повільним ... занадто погано.
Фолкен

1
Я просуваю цю відповідь, тому що мені нарешті вдалося її використати, але й інші рішення досить непогані, залежно від ваших уподобань / оточення!
Фолкен

2
Це ssh-агент за замовчуванням у ubuntu зробив це все не так. Я просто її видалив і використав просте "ssh-add". Вся повільність зникла!
Фолкен

10

Google вирішив це демаршалом:

http://code.google.com/p/debmarshal/

Що дозволяє схвалювати пакети із сховища вище за потоком для встановлення на ваших хостах виробництва.

Тоді ви можете просто запустити cron-apt в повністю автоматичному режимі.

Ось вступне відео:

http://www.youtube.com/watch?v=L3hRToC23mQ


3

Ми перевіряли використання маріонетки для оновлення виправлень безпеки на неістотні пакети. Ми запустили apticron, щоб надіслати електронною поштою список оновлень для кожного сервера, а потім щодня запускати сценарій, який об'єднав ці оновлення у файл маніфесту маріонет, який дав пакет та версію для кожного дистрибутива. Потім це оновить купу файлів на окремих серверах і запустить сценарій оновлення, коли пакет потребує оновлення. Це спрацювало розумно, але ми не перевірили його так сильно, як хотілося б. Ця схема обходила обмеження Лялечки тим, що в декількох місцях не визначений один і той же ресурс.

Мені також не було зручно робити автоматичні оновлення таких речей, як MySQL або PostgreSQL, де випадкове оновлення вимкне сервіс, можливо, в середині дня. Вони все ще потребують оновлення вручну.

Spacewalk і Debmarshall виглядають як підходящі альтернативи для нашої лялькової схеми.


Немає коментарів до відповіді, просто запізнілий "щасливий 10К день" кричить.
Еван Андерсон

1

Мабуть, Spacewalk тепер має попередню підтримку для Debian. Це, можливо, разом з Лялькою було б моїм відправною точкою. Я впевнений, що хлопець, який розробляє підтримку Debian для Spacewalk, сподобається вам за те, що ви працювали з ним, щоб підняти підтримку Debian на більш високий рівень.


1

У способі натягуючих систем конфігурації, таких як Puppet, також є bcfg2 та cfengine. Одне або інше з них може добре відповідати вашим потребам. Я зараз розгортаю bcfg2 у своїй лабораторії.


1

Рішення може дати функція


Я б не робив функцій. Це шлях до незрілості для використання у виробництві, хоча, я визнаю, це і є багатообіцяючим.
wzzrd

func використовується шобником, це не незрілий ІМХО. cobbler сильно користується користувачами RH, і ці технології будуть включені до наступного випуску RHEL. Це, можливо, не формально готове виробництво, але насправді це зовсім поруч.
drAlberT

0

Я не впевнений, якого типу рішення ви очікуєте. Ви, напевно, знаєте про роботу з Cron, але я б не оновлював системи в сліпому, оскільки потрібні втручання людини (і саме тому вони платять вам за це, правда?)

Якби у вас були повністю однакові системи, ви можете розглянути можливість використання чогось на зразок rsync для усунення відмінностей, але з'ясувати, які файли не для rsync може бути складним, і я б цього не робив під час роботи служб. Принаймні, сценарії оновлення створені для управління перезапуском послуг та об'єднанням у відмінності файлів конфігурації.

Можливо, якщо ви поясните, у чому полягає проблема у виконанні команд apt-get, ми могли б побачити того, чого ви хочете уникнути.

Якщо проблема полягає в пропускній спроможності та часу для завантаження, можливо, вам слід встановити одне поле, щоб виступати у вашому локальному сховищі Debian. Існують посібники Debian, як це зробити.

Ось кілька порад, як мінімізувати кількість речей, які потрібно оновити.

Встановлюючи Debian, не встановлюйте Desktop, якщо вам дійсно не потрібно використовувати X на цій консолі. Більшість серверів не потребує встановлення X. Це може значно зменшити кількість пакетів у системі, і тоді вам не потрібно буде оновлювати стільки пакетів.

Переконайтеся, що izvor.list включає лише сховища, які вам справді потрібні. Якщо ви експериментували з якимось сховищем і забули про це, можливо, ви вводите оновлення, які вам не потрібні чи не хочете.

Якщо у вас виникли проблеми зі сліпою роботою оновлень на виробничому сервері, будьте обережні, зверніться до посібників із оновлення Debian, коли є основне оновлення (4,0 до 5,0). Вони дуже добре пройдуть, якщо дотримуватись інструкцій щодо оновлення. Це не так просто, як запустити оновлення apt-get dist і перейти пішки. Іноді в інструкціях є навіть вказівки на те, коли запускати здатність, а не apt-get - в них є невеликі відмінності.


0

У вас зараз цей інструмент "оболонка танцюриста"? Мені це подобається і я його використовую. Але я не знаю, чи можете ви використовувати його для стількох хостів. Можливо, ви могли б спробувати ...

http://www.netfort.gr.jp/~dancer/software/dsh.html.en

І він у сховищі.


-1

КластерSSH. Ви входите на всі сервери і даєте їм абсолютно однакові команди, тому ви також можете реагувати на діалоги. Якщо один сервер отримає додаткове запитання, просто натисніть на це, і він буде єдиним, хто відповість.

Я використовував його для оновлення 25 веб-серверів від etch до lenny. Працював як шарм.

http://sourceforge.net/projects/clusterssh/


Агент SSH насправді помирає, якщо ви спробуєте і зробите дивні речі, такі як підключення до ~ 50 машин одночасно. Інакше мені подобається ClusterSSH, хоча він потребує іншого рівня групування.
LapTop006

-1

Кластерний ssh ​​- хороша пропозиція.

debmarshal ще не є частиною debian - я навіть не впевнений, що це буде пакет - здається, це зовсім інша система зі спеціалізованим сховищем. За словами доповідача, це наразі вороже, не зручно для користувачів.

Схоже, Spacewalk є клоном мережі Redhat, принаймні у веб-інтерфейсі. У мене погані результати від використання Redhat Network для оновлення систем. Один раз він завис, без жодної причини, і призвів до відключення сервісу. Я оновлював yum одразу після цього, і це вирішило це чудово, тому я можу лише припустити, що проблема була в тому, що було з-за того, що збито з боку RHN. Інша річ, яка мені не подобається в оновленнях RHN, це те, що ви не знаєте, коли відбудеться оновлення, щоб спостерігати за проблемами.


-1 Неправда: оновлення RHN не є автоматичними, якщо ви не зробите їх автоматичними. Крім того: як хтось, хто щодня використовує RHN, я ще не бачив його на собі.
wzzrd

Я не сказав, що RHN був автоматичним. Але якщо ви налаштовуєте оновлення від RHN, то нічого не повідомлять, коли вони відбудуться, тому це відчуває те саме. Ваша явна удача не скасовує мого реального досвіду роботи з нею та залишає користувачів без обслуговування. Навіть оновлення yum може не вдатися. Кожен, хто думає, що ви можете просто оновити та піти, не переймається обережністю або просто не турбується, тому що це не виробничий сервер (виробництво = є клієнти, які залежать від послуг).
labradort
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.