Настроить
Я был программистом в течение довольно долгого времени, но я все еще немного размыт о глубоких, внутренних вещах.
Сейчас. Я хорошо знаю, что это тоже не очень хорошая идея:
- убить -9 процесс (плохо)
- самопроизвольно отсоединяйте шнур питания на работающем компьютере или сервере (что еще хуже)
Тем не менее, иногда вы просто должны. Иногда процесс просто не отвечает, независимо от того, что вы делаете, а иногда компьютер просто не отвечает, независимо от того, что вы делаете.
Давайте предположим, что система работает под управлением Apache 2, MySQL 5, PHP 5 и Python 2.6.5 через mod_wsgi.
Примечание: меня больше всего интересует Mac OS X здесь, но ответ, который относится к любой системе UNIX, помог бы мне.
Моя забота
Каждый раз, когда мне приходится делать что-то одно, особенно второе, я очень переживаю, что что-то сломалось. Какой-то файл может быть поврежден - кто знает, какой файл? На компьютере более 1 000 000 файлов.
Я часто использую OS X, поэтому я запускаю операцию «Проверка диска» через Дисковую утилиту. Это не сообщит о проблемах, но я все еще обеспокоен этим.
Что, если какой-то файл конфигурации где-то облажался. Или еще хуже, что если бинарный файл где-то поврежден. Или файл сценария где-то поврежден сейчас. Что если какое-то оборудование повреждено?
Что если я не узнаю об этом до следующего месяца, в критическом сценарии, когда коррупция или ущерб приведут к катастрофе?
Или что, если ценные данные уже потеряны?
Я надеюсь
Я надеюсь, что эти проблемы и заботы беспочвенны. В конце концов, после того, как мы проделали это много раз, ничего по-настоящему плохого еще не произошло. Хуже всего то, что мне пришлось восстанавливать некоторые таблицы MySQL, но я не потерял никаких данных.
Но если мои опасения не беспочвенны, и реальный ущерб может произойти в любой ситуации 1 или 2, то я надеюсь, что есть способ обнаружить это и предотвратить против него.
Мои вопросы)
Может ли это быть из-за того, что современные операционные системы предназначены для того, чтобы в этих сценариях ничего не терялось? Может ли это быть потому, что современное программное обеспечение разработано так, чтобы ничего не потеряно? А как насчет современного аппаратного дизайна? Какие меры принимаются, когда вы вытягиваете вилку из розетки?
Мой вопрос заключается в том, что для обоих этих сценариев, что именно может пойти не так, и какие шаги необходимо предпринять, чтобы это исправить?
У меня сложилось впечатление, что одна вещь, которая может пойти не так, это то, что некоторые программы могли не сбрасывать свои данные на диск, поэтому любые последние данные, которые должны были быть записаны на диск (скажем, за несколько секунд до отключения питания) может быть потеряно Но как насчет этого? И может ли эта проблема потери данных за 5 секунд испортить систему?
Как насчет повреждения случайных файлов, скрывающихся где-то в огромном лесу файлов на моих жестких дисках?
Как насчет повреждения оборудования?
Что бы мне больше всего помогло
Подробное описание того, что происходит внутри, когда вы либо убиваете -9 процесс, либо отключаете питание всей системы. (кажется мгновенным, но кто-то может замедлить это для меня?)
Объяснения всех вещей, которые могут пойти не так в этих сценариях, наряду с (грубо конечно) вероятностями (то есть, это очень маловероятно, но это вероятно) ...
Описание мер, применяемых в современном оборудовании, операционных системах и программном обеспечении, для предотвращения повреждения или повреждения в случае возникновения таких сценариев. (чтобы успокоить меня)
Инструкции о том, что делать после kill -9 или выключения питания, помимо «проверки диска», чтобы действительно убедиться, что ничто не повреждено или повреждено где-то на диске.
Меры, которые можно предпринять, чтобы укрепить настройки компьютера, чтобы в случае необходимости что-либо убить или отключить питание, любой потенциальный ущерб будет уменьшен.
Некоторая информация о двоичных файлах - не правда ли, что двоичный файл apache или какая-либо библиотека могут иметь случайный байт или два поврежденных посередине, которые не появятся и не вызовут проблему позже? Как я могу убедить себя, что это не произошло в результате отключения власти или убийства?
Спасибо!