Многим известны книги Томаса Лимончелли по системному администрированию, очень ценные для админа книжки. На его сайте тоже немало интересного, среди прочего нашёл такую статью: «A list of dumb things to check». На русском языке она, к сожалению, не нагуглилась, переводил сам. После допилинга под свои условия буду использовать как часть КМБ у себя в отделе, а первоначальный перевод выкладываю тут.
Некоторые моменты не осилил (не хватило языка или технических знаний), но для практического применения, думаю, годится. Авторская пунктуация частично сохранена.
Статья (да и весь его блог) распространяется под CC-BY-NC-SA.
«
Вы решаете проблему в течение многих часов и внезапно осознаёте: «Бьюсь об заклад, дело в какой-то глупости!» Часто так и есть. Поэтому мы представляем…
Добавлено: 2009-11-25: Люди ссылаются на это как на что-то смешное. Чёрт, это список на 100% правда! Все эти вещи случались со мной и заставили меня подумать: «Лучше я запишу всё это, чтобы ничего не забыть!» Даже последний пункт!
1. Убедитесь, что CapsLock выключен. (То же для ScrollLock и NumLock)
2. Напечатайте это снова (без копирования-вставки) и посмотрите, будет ли результат таким же. (помогает от опечаток) (и от символа юникода «whitespace»)
3. Скопируйте и вставьте имя переменной (или URL, команды и т. д.) чтобы убедиться, что оно введено верно.
4. Вы запускаете те программы, что думаете? (Может, вы устанавливали их в однопользовательском режиме, когда /opt не был смонтирован? Можете ли вы сравнить контрольные суммы файлов этой машины и машины, работающей правильно?)
5. Проверьте права на файл.
6. Это действительно тот компьютер, что вы думаете?
7. Вы выполняете проверку с правильной машины? Может, эффективнее будет с другой?
8. Выполняемая проверка действительно проверяет то, что вы думаете? Что если выполнить проверку заведомо исправной и заведомо неисправной систем? Вы получили те результаты, что ожидали?
9. Это файл, каталог, жёсткая ссылка, символическая ссылка или точка монтирования?
10. Правильное ли расширение у файла? Может, он должен быть .php, а не .html?
11. Не остановлен ли экран нажатием Ctrl-S? (Нажмите Ctrl-Q, чтобы выяснить это)
12. Можете ли вы попасть на веб-сайт? Работаете ли вы в автономном режиме?
1. Оба конца питающего/сетевого/видео/… кабеля подключены?
2. Кабель подключён в правильный разъём?
3. Пробовали ли вы отключить кабель и включить его снова, чтобы убедиться, что он в порядке?
4. На вопрос «Он подключён?» очень просто ответить «Да». Лучше попросить выключить и включить его снова, или проверить оба конца питающего кабеля, или спросить, горит, не горит или мигает индикатор питания.
5. Если включить в эту розетку лампу — она загорится?
6. Это ноутбук, который работает от батареи? (и, тем самым, не даёт заметить проблему с электроснабжением)
7. Драйвер, который вы устанавливаете, действительно от вашего устройства?
1. Нет ли в сети постороннего DHCP-сервера?
2. Не исчерпан ли пул адресов на DHCP-сервере, остались ли свободные адреса?
3. VPN-соединение обрывается в произвольные моменты, а сервер получает ICMP-ответ «узел недоступен»? Фаерволл клиентского компьютера блокирует ARP, и по истечении времени хранения ARP-кэша (300 секунд) маршрутизатор не может отправить ему пакеты. (Некоторые производители хранят ARP-запись об адресе всё время, пока получают пакеты от этого адреса (Cisco), но большинство так не делает) (Я добавил это, потому что встречал такое в двух местах)
1. Указан ли шлюз по умолчанию? Правильно ли задана маска сети?
2. http://www.psc.edu/~mathis/MTU/index.html: шесть классов проблем, уменьшающих производительность сети:
* потеря пакетов, повреждение, перегруженность, неисправное оборудование
* IP-маршрутизация, высокое RTT (round trip time)
* переупорядочивание пакетов
* несоответствующее буферное пространство
* несоответствующий размер пакета
* неэффективные приложения
3. Этот IP-адрес у кого-то ещё? (Отключите сетевой кабель и попингуйте адрес)
4. (проблемы с правилами фаерволла) Проблема остаётся после изменения IP-адреса? Проблема остаётся после перемещения в другую подсеть? Проблема остаётся, если дать этот IP-адрес другой машине? Проблема остаётся, если загрузить другую ОС (например, Linux или FreeBSD с CD-ROM)?
5. Возникнет ли та же проблема, если вместо имени машины указать IP-адрес?
1. Выполните трассировку от A к B. Затем от B к A. Они соответствуют друг другу?
1. SSH, SCP, L2TP, PPTP
1. Читает ли программа последнюю строку файла? Она правильно обрабатывается?
2. Нет ли (невидимых) Ctrl-M в конце каждой линии текстового файла?
3. Заканчивается ли файл переносом строки?
4. Если строка заканчивается экранирующим символом "\", то действительно ли она им заканчивается? Нет ли после него невидимого пробела или табуляции? Невидимый пробел или табуляция могут привести к ошибке командной оболочки «неожиданный |» («unexpected |»)!
1. Правильно ли настроен DNS? Ошибка в настройках DNS скрывает другие проблемы и выглядит как проблема, решение которой вы станете искать где угодно, кроме /etc/resolv.conf
2. Проверьте переменные окружения.
3. Вы запускаете ту копию скрипта, которую редактируете?
4. Программа ищет конфигурационный файл там же, где и вы? (Может, новая верия ищет его по адресу /etc/example2/example.conf вместо старого адреса /etc/example.conf?)
1. Пользователи действительно нажимают RETURN тогда, когда вы предполагаете? (Они вообще его нажимают?)
2. Пользователь пишет "/" или "\"?
3. Пользователь знает, что такое символы «меньше» (<) и «больше» (>)?
4. «У вас есть разрешение взламывать этот парольный файл?»… «Оно в письменной форме?»
5. Сегодня первое число месяца? Может быть, проблема с биллингом, и что-то отключилось.
6. Точно измерьте время, как часто возникает проблема, или через какое время она возникает. Отметьте отключения на шкале времени. С каким протоколом они могут быть связаны?
ARP-кэши хранятся 300 секунд. Протоколы маршрутизации обычно обновляются каждые 5 или 15 минут. Однажды я построил график «пауз в сети» и увидел, что они случаются каждые 10 минут, но не только: ЦП маршрутизатора перегружался процессом, запускавшимся раз в 10 минут И каждый раз во время обновления RIP. Без графика я бы заметил только «каждые 10 минут»-составляющую.
Вы не забыли проверить этот список?
Том Лимончелли
»
Оригинал.
Некоторые моменты не осилил (не хватило языка или технических знаний), но для практического применения, думаю, годится. Авторская пунктуация частично сохранена.
Статья (да и весь его блог) распространяется под CC-BY-NC-SA.
«
Вы решаете проблему в течение многих часов и внезапно осознаёте: «Бьюсь об заклад, дело в какой-то глупости!» Часто так и есть. Поэтому мы представляем…
список проверки глупых вещей
Добавлено: 2009-11-25: Люди ссылаются на это как на что-то смешное. Чёрт, это список на 100% правда! Все эти вещи случались со мной и заставили меня подумать: «Лучше я запишу всё это, чтобы ничего не забыть!» Даже последний пункт!
Уровень 0 — Человеческий
1. Убедитесь, что CapsLock выключен. (То же для ScrollLock и NumLock)
2. Напечатайте это снова (без копирования-вставки) и посмотрите, будет ли результат таким же. (помогает от опечаток) (и от символа юникода «whitespace»)
3. Скопируйте и вставьте имя переменной (или URL, команды и т. д.) чтобы убедиться, что оно введено верно.
4. Вы запускаете те программы, что думаете? (Может, вы устанавливали их в однопользовательском режиме, когда /opt не был смонтирован? Можете ли вы сравнить контрольные суммы файлов этой машины и машины, работающей правильно?)
5. Проверьте права на файл.
6. Это действительно тот компьютер, что вы думаете?
7. Вы выполняете проверку с правильной машины? Может, эффективнее будет с другой?
8. Выполняемая проверка действительно проверяет то, что вы думаете? Что если выполнить проверку заведомо исправной и заведомо неисправной систем? Вы получили те результаты, что ожидали?
9. Это файл, каталог, жёсткая ссылка, символическая ссылка или точка монтирования?
10. Правильное ли расширение у файла? Может, он должен быть .php, а не .html?
11. Не остановлен ли экран нажатием Ctrl-S? (Нажмите Ctrl-Q, чтобы выяснить это)
12. Можете ли вы попасть на веб-сайт? Работаете ли вы в автономном режиме?
Уровень 1 — Физический
1. Оба конца питающего/сетевого/видео/… кабеля подключены?
2. Кабель подключён в правильный разъём?
3. Пробовали ли вы отключить кабель и включить его снова, чтобы убедиться, что он в порядке?
4. На вопрос «Он подключён?» очень просто ответить «Да». Лучше попросить выключить и включить его снова, или проверить оба конца питающего кабеля, или спросить, горит, не горит или мигает индикатор питания.
5. Если включить в эту розетку лампу — она загорится?
6. Это ноутбук, который работает от батареи? (и, тем самым, не даёт заметить проблему с электроснабжением)
7. Драйвер, который вы устанавливаете, действительно от вашего устройства?
Уровень 2 — Канальный
1. Нет ли в сети постороннего DHCP-сервера?
2. Не исчерпан ли пул адресов на DHCP-сервере, остались ли свободные адреса?
3. VPN-соединение обрывается в произвольные моменты, а сервер получает ICMP-ответ «узел недоступен»? Фаерволл клиентского компьютера блокирует ARP, и по истечении времени хранения ARP-кэша (300 секунд) маршрутизатор не может отправить ему пакеты. (Некоторые производители хранят ARP-запись об адресе всё время, пока получают пакеты от этого адреса (Cisco), но большинство так не делает) (Я добавил это, потому что встречал такое в двух местах)
Уровень 3 — Сетевой
1. Указан ли шлюз по умолчанию? Правильно ли задана маска сети?
2. http://www.psc.edu/~mathis/MTU/index.html: шесть классов проблем, уменьшающих производительность сети:
* потеря пакетов, повреждение, перегруженность, неисправное оборудование
* IP-маршрутизация, высокое RTT (round trip time)
* переупорядочивание пакетов
* несоответствующее буферное пространство
* несоответствующий размер пакета
* неэффективные приложения
3. Этот IP-адрес у кого-то ещё? (Отключите сетевой кабель и попингуйте адрес)
4. (проблемы с правилами фаерволла) Проблема остаётся после изменения IP-адреса? Проблема остаётся после перемещения в другую подсеть? Проблема остаётся, если дать этот IP-адрес другой машине? Проблема остаётся, если загрузить другую ОС (например, Linux или FreeBSD с CD-ROM)?
5. Возникнет ли та же проблема, если вместо имени машины указать IP-адрес?
Уровень 4 — Транспортный
1. Выполните трассировку от A к B. Затем от B к A. Они соответствуют друг другу?
Уровень 5 — Сеансовый
1. SSH, SCP, L2TP, PPTP
Уровень 6 — Представительский
1. Читает ли программа последнюю строку файла? Она правильно обрабатывается?
2. Нет ли (невидимых) Ctrl-M в конце каждой линии текстового файла?
3. Заканчивается ли файл переносом строки?
4. Если строка заканчивается экранирующим символом "\", то действительно ли она им заканчивается? Нет ли после него невидимого пробела или табуляции? Невидимый пробел или табуляция могут привести к ошибке командной оболочки «неожиданный |» («unexpected |»)!
Уровень 7 — Прикладной
1. Правильно ли настроен DNS? Ошибка в настройках DNS скрывает другие проблемы и выглядит как проблема, решение которой вы станете искать где угодно, кроме /etc/resolv.conf
2. Проверьте переменные окружения.
3. Вы запускаете ту копию скрипта, которую редактируете?
4. Программа ищет конфигурационный файл там же, где и вы? (Может, новая верия ищет его по адресу /etc/example2/example.conf вместо старого адреса /etc/example.conf?)
Уровень 8 — Пользовательский/Политический
1. Пользователи действительно нажимают RETURN тогда, когда вы предполагаете? (Они вообще его нажимают?)
2. Пользователь пишет "/" или "\"?
3. Пользователь знает, что такое символы «меньше» (<) и «больше» (>)?
4. «У вас есть разрешение взламывать этот парольный файл?»… «Оно в письменной форме?»
5. Сегодня первое число месяца? Может быть, проблема с биллингом, и что-то отключилось.
6. Точно измерьте время, как часто возникает проблема, или через какое время она возникает. Отметьте отключения на шкале времени. С каким протоколом они могут быть связаны?
ARP-кэши хранятся 300 секунд. Протоколы маршрутизации обычно обновляются каждые 5 или 15 минут. Однажды я построил график «пауз в сети» и увидел, что они случаются каждые 10 минут, но не только: ЦП маршрутизатора перегружался процессом, запускавшимся раз в 10 минут И каждый раз во время обновления RIP. Без графика я бы заметил только «каждые 10 минут»-составляющую.
Если ничего не помогло
Вы не забыли проверить этот список?
Том Лимончелли
»
Оригинал.