Системные администраторы в моей компании говорят, что Linux склонен к сбоям в работе из-за отключения электроэнергии. Они говорят, что машины Windows всегда переживают перебои с питанием, но Linux-блоки часто становятся невосстановимыми (то есть вы больше не можете загружать машины). Это произошло из-за того, что они сказали мне, что энергокомпания отключает электропитание наших офисов на длительный период времени, поэтому администраторы хотели, чтобы я отключил все блоки Linux, к которым у меня есть доступ, до отключения.
Я думал, что Linux должен быть надежным?
Мой вопрос: есть ли какой-то процесс, который я должен запустить, чтобы избежать попадания ядерных программ в Linux из-за сбоя питания?
Ответы:
Является ли Linux более хрупким, чем Windows?
Ответ: это зависит .
Когда кто-то говорит «невозможно загрузить» в этой ситуации, я перевожу его на «Повреждение файловой системы», и ответ «Да» или «Нет» на исходный вопрос зависит от того, какую файловую систему вы используете.
Windows не дает вам полного выбора файловых систем, который позволяет Linux. Вы почти никогда не видите не Windows NTFS системы. NTFS имеет встроенные функции, помогающие в случае потери питания, такие как журналирование и файловые транзакции, которые могут откатиться в случае сбоя.
Коробка Linux могла иметь это, и не могла. Все зависит от того, как был настроен сервер. Если сервер использует ext2 1, вы можете быть очень подвержены повреждению файла в случае сбоя питания. Сравните это с системой, которая использует что-то вроде Btrfs, которая имеет больше функций целостности данных, чем NTFS.
Так что если системный администратор, с которым вы общаетесь, когда-либо работал, когда-либо работал с системами ext2, он вполне мог бы быть прав, но если вы использовали другую файловую систему, он мог ошибаться.
1: Ext2 долгое время использовался по умолчанию для Debian и Red Hat Linux. В настоящее время он заменен в основном на Ext3, который больше походит на NTFS для функций для обеспечения целостности данных.
источник
Нет, Linux по своей природе не менее надежен, чем Windows, когда дело касается внезапных отключений электроэнергии. Что может произойти - в случае любой ОС - это то, что материал записывается в файловую систему на жестком диске в тот момент, когда теряется питание, и (исторически) это может повредить файловую систему.
Решением этой проблемы является использование журналируемой файловой системы, которая защищена от этой проблемы в зависимости от способа записи информации. Большинство новых файловых систем - включая Ext3 и ExT4 (наиболее распространенные файловые системы для Linux), как, я полагаю, и NTFS. Поэтому, пока вы используете журналируемую файловую систему, вы не столкнетесь с этой проблемой.
Позже в процессе загрузки, если у вас есть база данных (я смотрю на MYSQL, Postgres не страдает от этого), у вас могут возникнуть аналогичные проблемы с базой данных MYSQL - MYSQL часто не особенно надежен ( соответствие Google ACID MYSQL для Эта тема). Вы можете обойти эту проблему, принудительно проверив индексы при перезагрузке, если ваша установка MySQL не совместима с ACID.
Другое (отчасти измученное и, возможно, несправедливое по отношению к Windows) представление может быть таким - блоки Linux более надежны, чем блоки Windows (что измеряется с помощью Uptime и необходимости делать перезагрузки), - таким образом, возможно, что при сбое при перезагрузке блоков Linux это аппаратные проблемы из-за старости, а не из-за проблем с программным обеспечением - в то время как сбойный блок Windows может быть обнаружен раньше из-за более частых перезагрузок
источник
В зависимости от дистрибутива и того, какая у вас файловая система, она может быть более или менее уязвимой. Если вы знаете о запланированном отключении электроэнергии, вам определенно следует отключить вручную (и использовать время для обслуживания, например, для очистки систем или повторного подключения ... Для таких незапланированных перебоев в питании, приобретите системы ИБП с программным обеспечением отключения Linux, чтобы вы не надо беспокоиться. Вы все равно должны это запустить. Для большинства дистрибутивов Linux имеется файл APCUPSD, если нет, то обратитесь к дистрибутиву, чтобы узнать, что внутри него или доступно для него. Убедитесь, что он выключится. ваши системы чисто, прежде чем полагаться на него.
источник
Я провел некоторое исследование по этому вопросу и обнаружил, что то, что говорит мой ИТ-отдел, по существу правильно, Linux более уязвим, чем Windows, в случае отключения электроэнергии. Причина в том, как таблица inode работает в Linux / Unix. Поскольку это неупорядоченный список и он постоянно изменяется, нет разделения между важными статическими файлами, такими как двоичные файлы ядра, и бесполезными файлами, такими как временные файлы. Это означает, что записи inode в важные системные файлы постоянно переписываются, очевидно, очень плохой дизайн. Фактически, критические системные файлы на самом деле с большей вероятностью будут иметь свои записи inode в любой момент времени, чем несущественные файлы. Когда питание отключается, оно стремится сдуть любую часть таблицы inode, которая была записана, которая, вероятно, не содержит указателей на системные файлы. Сами системные файлы в порядке и исправны, но каталог для их поиска поврежден. Ситуация усугубляется кэшированием диска, что приводит к увеличению размера поврежденных областей таблицы inode.
В Windows даже старая файловая система FAT более надежна, чем эта. У FAT тоже есть таблица, но это упорядоченная таблица, поэтому системные файлы не смешиваются с временными файлами. Обычно системные файлы находятся в одной области каталога вместе, и вряд ли эта область будет записываться очень часто. Кроме того, в FAT есть каталог резервных копий, поэтому, даже если каталог поврежден, он просто возвращается к резервной копии. Это означает, что с FAT пользователь вряд ли потеряет ссылки на файлы в случае сбоя питания, даже временные файлы. Однако в Linux, поскольку таблица inode постоянно записывается, пользователь практически гарантированно теряет доступ к файлам при сбое питания.
Единственное, что можно сделать для смягчения этого - отключить кеширование диска.
источник