Skip to content


Правильная перезагрузка linux-сервера

Хаос царит в системе;
Подумай, раскайся и перезагрузись -
Порядок должен вернуться

Пособие для начинающих сотрудников суппорта датацентров. При необходимости перезагрузить сервер делать это следует в таком порядке:

  1. Подключить клавиатуру и, желательно, монитор тоже (чтобы видеть обратную связь на свои действия) или получить доступ к консоли через IPKVM. Если на мониторе видно какие-то странные/нестандартные сообщения об ошибках, желательно их записать или сфотографировать (может пригодится при выяснении причин зависания).
  2. Нажать комбинацию клавиш Ctrl-Alt-Delete.
  3. Если на предыдущее действие реакции со стороны сервера нет, последовательно нажать комбинации клавиш:
    • Alt-PrintScreen-S (запись данных из дисковых буферов на физический носитель)
    • Alt-PrintScreen-U (отмонтирование файловых систем)
    • Alt-PrintScreen-B (перезагрузка)
  4. Если на предыдущее действие реакции со стороны сервера нет, поискать на нём кнопку «Reset» и при её наличии нажать.
  5. Если на предыдущее действие реакции со стороны сервера нет, выключить питание сервера, подождать 10-15 секунд, затем снова включить.

Действия из пункта 3 имеет смысл пробовать только если в файле /etc/sysctl.conf имеется строчка

kernel.sysrq = 1

Именно такой порядок действий обусловлен тем, что при перезагрузке по питанию не происходит корректного завершения работы приложений, сохранения данных из оперативной памяти на диски, что часто приводит к нарушению целостности файловых систем, повреждению таблиц баз данных и прочим неприятностям, вплоть до неработоспособности сервера из-за невозможности загрузиться в штатном режиме. Поэтому перезагрузку по питанию следует использовать только в крайнем случае, когда других возможностей нет. Подробнее про sysrq можно почитать в википедии или
здесь.

Если известно, что одна или более файловых систем не находятся в состоянии clean (проверить можно командой dumpe2fs -h) и хочется избежать их автоматической проверки при следующей загрузке (что может занять даже несколько часов), следует сделать так:

touch /fastboot

Очень полезно для минимизации downtime сервера. После команды reboot или аналогичной на консоли появится сообщение "On the next boot fsck will be skipped". Проверялось на дистрибутиве CentOS. Файл /fastboot автоматически удалится при следующей загрузке ОС.

UPDATE от 2020-11-30. В CentOS 7 c systemd уже не работает магия с "touch /forcefsck" и dumpe2fs -c 1 (как было в более ранних версиях). При необходимости сделать принудительную проверку корневой файловой системы при следующей загрузке нужно добавить в параметры ядра fsck.mode=force (причем если файловая система содержит ошибки, с высокой вероятностью может еще понадобится и fsck.repair=yes).

Признаком того, что нужно добавить fsck.repair=yes, является наличие в логе вот такого:

Nov 30 10:46:29 srv.dom.com systemd-fsck[444]: sys: Inodes that were part of a corrupted orphan linked list found.
Nov 30 10:46:29 srv.dom.com systemd-fsck[444]: sys: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
Nov 30 10:46:29 srv.dom.com systemd-fsck[444]: (i.e., without -a or -p options)
Nov 30 10:46:29 srv.dom.com systemd-fsck[444]: fsck failed with error code 4.
Nov 30 10:46:29 srv.dom.com systemd-fsck[444]: Running request emergency.target/start/replace

Параметры ядра менять удобнее всего в файле /etc/sysconfig/grub, после редактирования которого следует выполнить команду

grub2-mkconfig -o /boot/grub2/grub.cfg

(если не используется UEFI). В последствии, после успешной загрузки узнать как всё прошло у fsck можно командой

journalctl --boot | grep systemd-fsck

Ну и дополнительно убедиться, что проверка таки состоялась, ещё можно с помощью dumpe2fs:

dumpe2fs -h /dev/sda2 | grep 'Last checked:'
dumpe2fs 1.42.9 (28-Dec-2013)
Last checked:             Mon Nov 30 10:55:44 2020

Posted in *nix, Howto.

Tagged with , .


Правила оформления почтовых конвертов

На почту России была совершенна DDOS атака: кто-то сразу отправил два письма.

© Хабр

Адрес получателя нужно писать в правом нижнем углу, адрес отправителя – в левом верхнем углу конверта.

Адрес
отправителя

 

Марка

     
   

Адрес
получателя

Порядок оформления адреса

  • Имя получателя/отправителя (частное лицо или организация)
  • Название улицы, номер дома, номер квартиры
  • Населенный пункт
  • Регион
  • Пятизначный цифровой индекс
  • Страна

Примеры:

  • Собчак Ксения Валериевна
  • ул. Гламурная 9, кв. 777
  • с. Собчаковка, Лысянский р-н
  • Луганская обл.
  • 91425
  • УКРАИНА
  • Sobchak Kseniya
  • Glamurnaya str 9 ap. 777
  • Sobchakovka
  • Luganskaya oblast
  • 91425
  • UKRAINE

А теперь немного offtopic-а :)

пинг укрпочты

Пинг "Укрпошты"

Posted in Разное.


Форматирование флешки в NTFS

Если имеется флешка размером более 4-х гигабайт, возникает желание записать на неё файлы также размером более 4ГБ (например, образ DVD-диска). Но если файловая система флешки - FAT32, то это сделать не получиться, так как by-design FAT32 не умеет работать с файлами больше 4ГБ (232 = 4294967296). Выходом из этой ситуации, очевидно, является смена файловой системы флешки на какую-то более современную. Если мы работаем в windows, то первое что приходит на ум, это, конечно же, файловая система NTFS. Но когда я полез в "Проводник" windows, щелкнул правой кнопкой мыши по значку флешки и выбрал "Форматировать...", меня ждал неприятный сюрприз: NTFS в списке доступных файловых систем не оказалось (были только FAT32 и exFAT). Оказывается, чтобы исправить данное безобразие, нужно сделать следующее (проверялось на Windows XP Pro SP3):

  1. Открыть "Диспетчер устройств" (Win-R, devmgmt.msc)
  2. Найти и раскрыть в списке ветку "Дисковые устройства"
  3. Перейти на вкладку "Политика" и установить переключатель в положение "Оптимизировать для выполнения"

Диспетчер устройств, свойства флеш-накопителя
Диалоговое окно форматирования диска в windows xpПосле этого в диалоге форматирования появляется возможность выбора файловой системы NTFS.

Также сделать файловую систему флешки NTFS-ной можно с помощью стандартной утилиты convert, причём даже без потери данных (но требуется наличие некоторого объёма свободного пространства). Сам лично я это пока не проверял.

И третий (но далеко не последний) способ - использовать сторонные утилиты для работы с флеш-накопителями, такие как HP USB Disk Storage Format Tool (легко находится неглубоким гуглением).

Posted in Howto, Windows.

Tagged with .


Почтовый клиент Alpine

Есть один весьма удобный консольный почтовый клиент - Alpine, о некоторых фичах которого пойдёт речь в этой заметке. Раньше он назывался Pine и создан в University of Washington.

1. Переносы строк.
При настройках по-умолчанию Alpine имеет одно странное свойство - если в конце строки перед переводом строки оставить пробел, то, несмотря на то, что при отправке письмо выглядит нормально разбитым на строки, при получении письма следующая строка после строки с пробелом в конце будет отображена как продолжение той первой (что с пробелом). Вот на скриншотах пример такого кривого поведения. У отправителя:

У получателя:
Здесь видно, что фрагмент "Это слова из строки N2" в почтовом клиенте получателя отобразились как продолжение предыдущей строки. Это очень раздражает, когда отправляешь какой-то форматированный текст, например, вывод mtr - всё съезжает и ничего разобрать нельзя из того, что хотел сказать аффтар. Поэтому аффтару нужно следить за тем, чтобы в конце каждой строки не было пробелов (если он хочет чтобы разбиение текста на строки у получателя было точно таким же как у него). Вот пример правильно отформатированного письма. У отправителя:

У получателя:
Тут обе строки одинаково отображаются как у отправителя, так и у получателя, поскольку отправитель проследил за тем, чтобы в конце строк не было пробелов.

Но, к счастью, такое поведение лишь при настройках по-умолчанию, которые можно изменить. Чтобы Alpine шибко не умничал и оставлял переносы строк в точности там, где мы их поставили, нужно включить опцию "Do Not Send Flowed Text" (в главном меню выбираем Setup, потом Config). Тогда независимо от наличия пробелов в конце строки следующая строка у получателя отобразится реально как следующая.

2. Автоматическая проверка орфографии.
Чтобы перед отправкой письмо проверялось на наличие ошибок, нужно установить какой-то spell-checker, например aspell, и указать Alpine его использовать. В случае с aspell это делается так: идем из главного меню в Setup, потом Config, потом ищем опцию "Spell Check Before Sending" и включаем её, далее ищем параметр "Speller" и устанавливаем его значение в

/usr/bin/aspell --dont-backup --mode=email check -l ru_RU

Путь, естественно, нужно поправить чтобы соответствовал Вашей системе. Через параметр -l задаётся язык проверямого текста. Тогда при нажатии комбинации Ctrl-X в случае, если aspell посчитает, что хоть одно слово в письме написано неправильно, вылезет такая вот менюшка:
Проверка орфографии через aspell
При нажатии клавиш 0-9 подсвеченное слово замениться на соответствующий предложенный aspell-ом вариант. При нажатии клавиши r (Replace) aspell попросит набрать слово для замены. При нажатии a (Add) или l (Add Lower) подсвеченное слово внесётся в пользовательский словарь и в дальнейшем будет считаться правильным. Разница между a и l в том, что при Add Lower слово будет внесено в нижнем регистре, а при просто Add - так, как встретилось в тексте. Если же в тексте всё правильно, то письмо просто отправиться как обычно.

3. Сортировка писем "нитями"
Чтобы письма при переписке по одному и тому же вопросу отображались вместе, а не в порядке поступления, как происходит по-умолчанию, удобно использовать сортировку Thread-ами. Для этого в окне индекса нужно нажать Shift-4, затем H. Тогда Alpine по заголовкам Subject и In-Reply-To будет отслеживать письма на одну и ту же тему и отображать их примерно так:

Posted in *nix, Howto.

Tagged with .