Как да рестартирате сървъра

Анотация: Описание на рестартиране, историята за SysRq, ipt_SYSRQ, IPMI, PSU.

Как да рестартирате сървъра? - Това е въпрос, който обикновено се попита много добре за начинаещите потребители, които са объркани между спирането, изключване -r, рестартиране, първоначален 6 и т.н.

Един опитен администратор, за да зададете въпрос: "това, което сървърът не е тя?" Различни типове сървър повреди изискват различни видове рестартиране - и неправилно избрана опция ще доведе до тежки последици, включително посещение на уеб лицето IPMI / DRAC / МОТ за "doperezagruzit" ще най-лесният. Най-трудното в частния ми беше enikeyschiki пътуване до близкия град. С цел да се "остави рестартиране" на самотен сървъра.

В тази статия: какво пречи рестартиране на сървъра и как да му помогне.

Нека започнем с рестартиране на теория.

Когато изключите или рестартирате сървъра за инициализация мениджър (в повечето съвременни дистрибуции - systemd, по ексцентричен Ubuntu 14.04 е все още парвеню, в архаичния боклука - SysV-първоначален) в определен ред изпраща всички демони командата "изключване". И повечето от демоните (например база данни, като MySQL) знаят как да се затвори правилно. Например, за да завършите всички сделки, освен всички незаписани данни на диск и т.н. За бази данни в паметта, като преразпределяне, всичко може да бъде от решаващо значение не задържа - губи.

Старата система initsalizatsii чака неопределено време всеки от скриптове инициализиращите. Например, ако "шегаджия" ви добавя в "спирка" клонка "съня на 3600", а след това на вашия сървър ще се рестартира час с опашка. И ако има може би повече от една фигура, или програма, която не иска да края, след което рестартирайте никога няма да свърши.

New инициализация на системата (в действителност, не срамежлив - само systemd) получаване на изчакване (обикновено 120 или 180 секунди) за съхраняване на данни, и след това завършва процеса със сила. В допълнение към спиране на демоните, демонтирате файловата система (т.е., изхвърлен от всички блокови кеш), спрете ISCSI target'y (също с skidyvaniem кеш) и т.н. и т.н. По това време shatdauna Оказва се за неопределено време, всичко е същия курс. Плюс това, има поне някаква надежда за правилното изпълнение на всички демони, skidyvanie файлови кеш, и така нататък. Г.

По този начин, здравословна система правилния отговор на въпроса "как да се зареди" - изпълни рестартиране. В някои случаи - дори и единственият правилен (изменението: ако графичен потребителски интерфейс, за да се направи «рестартиране», графичната среда ще си помисли, че това е спешен рестартиране - да се презареди от режима на графика трябва да се използва «рестартиране» в DE интерфейс).

Какво може да се обърка, когато един "нормален рестартиране"? Ами, на първо място, някои от демоните може да започне "тъп" - виж по-горе.

На второ място, може да има проблем с демонтиране на файлови системи. Смята се, че това е достатъчно, за да "убие" всички процеси и демонтирането на устройството ще бъде лесно - тя е не използват. Но, меко казано, не е вярно. Това са потенциални методи "FS нокти нокти, за да не се спре ли:

  • fallocate / FS / размяна -L 1G; mkswap / FS / замяна; swapon / FS / размяна
  • дд ако = / Dev / SDA на = / FS / изображение; kpartx / FS / изображение
  • losetup --Find --show / FS / изображение

и т.н. Накратко: Файлът може да се използва не само на файловата система, но също така и в основата. И в основата на модула може да бъде зает търси отговори на смисъла на живота и нямат намерение да се освободи ресурс.

Отколкото е изпълнено? Немонтирано файлова система. Systemd в тази ситуация се опитва, като се опитва, и отливки (немонтирани файлова система). Т.е. рестартиране в тази ситуация ще бъде много дълъг, но все пак ще се проведе. Но тя ще се върне грешка, ако демонтирате.

И така се случи, че не може да демонтирате завършите операцията се дължи на факта, че нещо не е на разположение. Например, един файл на NFS сървър. Ако един процес на обжалване на такъв файл, той не може да бъде завършен (дори и с убийство -9). И в тази ситуация, "рестартиране" воал сървър. Отново, най-типичните места в systemd "покрити", но шансовете да се препънат по TASK_UNINTERRUPTIBLE ( "D" в к.с. AUX) все още е възможно.
Какво да се прави? Можете да се рестартира без синхронизация на файлове система и изграждането на нещо рестартирате -f. Но това може да се затвори. За причини по-долу, но сега за за последствията: всички процеси, които не се спират и умират веднага, сесията на TCP не е затворена, дискови кешовете не са изчистени. Въпреки това, все още ядрото изпълнява някакво движение в рестартиране на площ (и вероятно част от кешовете ще бъде изчистен). Основното нещо - по-голямата част на ядрото ще се използва по време на рестартиране. А това означава, че ако ядрото poplohelo, не можем да се върнем.

Стана така, че сървъра остава отворена само една конзола (и последният вече е отворен). Защо? Защото някой има нещо podhimichil дискове шофьор. Или рейд контролер. Или още нещо, а след това върху "/" има само спомени в кеша на диска. Това означава, че ние само трябва да приличат на Баш команда (вградена), които се извършва, без да поема нови процеси.

Има метод, който не изисква никакви изпълними файлове (т.е. четене от липсващия диск) презареди. Това е (като основа): ехо б> / Proc / SysRq-тригер. SysRq-тригер файл ви позволява да "преса" всички ключови SysRq комбинации от (аварийно ядро ​​прекъсвач). Включително SysRq-б, т.е. извънредно положение "рестартиране". Често се случва, след като въведете дори не се появи нов ред - сървърът вече е в рестартирането преди завръщането на syscall. Това е най-мощният от Softovaya, че трябва да се рестартира.
Забележка: kazhuyuscheesya правилно в тази ситуация ", синхронизация, рестартиране", т.е. SysRq-ите, SysRq-B е грешка, защото след SysRq-S, ядрото може да се опита да започне комуникация с празното множество, и потенциално попадат в паника, или скъса от вас последните налични конзоли. Ако сте направили извънредна рестартиране - той трябва да бъде предупреждение


Всичко това работи, ако имате конзолата на сървъра. И ако отворите виси за вход и не конзола? Има ipt_SYSRQ модул. SysRq ви дава възможност за извършване на заявки за получаване на определена мрежа за пакети (или по-точно, по правилото на IPTABLES). Работи изцяло в ядрото, т.е. от FS не го прави. За него отборът прикрепен send_sysrq.

Човек би си помислил, че в този "всичко", но има и още по-неприятно от повърхности. Така например, се мотае една мрежова карта. И нормално рестартиране (включително чрез SysRq) не помага. Втори пример за лоша ситуация е да се мотае заграждение, което zalipla на лош диск, и не взема под внимание автобус нулиране. Рестартирайте като всичко се нулира и дискове на разположение.

В този случай, ние се нуждаем от цикъл мощност (включване / изключване). Физически тече към сървъра не се интересуват, за да можем да разгледаме възможностите на съвременните сървъри: IPMI. Тя vstrenny микрокомпютър, ви позволява да управлявате "голям" компютър. Той обикновено се нарича IPMI, DRAC, МОТ, и т.н.

Ние Интерес команда: цикъл на захранване ipmitool шаси. Тя е по-взискателни (модули на ядрото трябва да се заредят, ipmitool самата трябва да започне успешно, IPMI да работим, и т.н.) на работата на системата. Но тя позволява да се наруши храненето всички. По-точно, почти всички - ако сървърът има jbod'y, а след това до тях, тази команда не достига. Но, въпреки това, той е много солидна и добра рестартиране.

Ако ядрото прави poplohelo, командата може да се извършва от разстояние (ipmitool -Н ipmi.server.local шаси цикъл на захранване)

Друга трудна ситуация - когато увисна IPMI. Ако системата по този начин е повече или по-жив, можете да "рестартира IPMI": ipmitool MC рестартирате трудно. След това можете да направите и изключва захранването на шасито. Звучи странно, но имам няколко пъти в живота ми ", изтеглен" в нормален сървър рестартиране точно такава последователност. (След MC рестартиране трудно трябва да се обърне на няколко минути, за да качите BMC).

Следваща точка "болка" - тя увисва захранвания. Да, това се случва. Бъгс в захранването на фърмуера верни, те трябва да мига. Разбира се, всеки мека рестартиране (като IPMI цикъл мощност) в тази ситуация не работят. Трябва да бъде физическа мушкам кабел или наруши силата дистанционно. В тази ситуация помага IP-гнездо.

Изглежда така (фрагмент от контролния панел, за да servers.com/servers.ru):

Как да рестартирате сървъра

Очевидно е, че в тези условия, рестартиране ще се проведе на твърдия ochon сценарий, но със сигурност ще се проведе.

Как да рестартирате сървъра

Как да рестартирате сървъра

пейсмейкър: как да се завърши лежи
Когато резервирате някои видове ресурси, това е много важно, което е едновременно използване на ресурсите не повече от един клиент, като drbd: невъзможно е да признаем, че drbd е монтиран в режим RW, двете системи. Същото важи и за дискови системи, които са свързани с множество сървъри. Това бе наблюдавана от сърдечния стимулатор, но може да се появи

Как да рестартирате сървъра

Уязвимост "физическо присъствие" в UEFI
Нови стандарти UEFI се предполага, че физическото присъствие на човек (оператор) ще осигури защита от автоматизирани Malware поведение модификация на различни видове ключове (които проверява валидността на софтуер за сваляне), попълнете грешен BIOS версия, и т.н. Логиката е следната: да се даде възможност на тези действия (които ще го зареди

Как да рестартирате сървъра

Как да разбера защо пусна сървъра не е свързан към монитора и клавиатурата?
Това се случва, че сървърът катастрофи, но това не е свързан или клавиатурата или монитор. Аз нямам много на монитора, и е установено, че сървърът не отговаря на мрежата, за да се отстрани на монитора от моя компютър, за да се свържете със сървъра и няма желание и усилия в килера. В Linux, има възможност на ядрото като Netconsole. Netconsole ви позволява да изпращате съобщения