Допустим, я купил два процессора Intel Xeon и установил их в аппаратное обеспечение серверного класса ... Если один из процессоров выйдет из строя, другой все еще будет функционировать и восполнит провисание, что обеспечит отказоустойчивость?
Это кажется маловероятным, но я решил спросить, а не делать какие-либо предположения.
central-processing-unit
Soviero
источник
источник
Если говорить о стандартном аппаратном обеспечении x86, то, если система работает и процессор не работает, все нормально останавливается. Однако система будет нормально работать после перезагрузки, хотя и несколько медленнее.
Несколько ЦП в основном должны иметь параллельную обработку, а не отказоустойчивость. Но хорошо иметь систему, которая по-прежнему загружается в случае отказа ЦП (или более).
Я бы сказал, что с большей вероятностью ваш процессор выйдет из строя, чем предполагает Марк Хендерсон, но это все еще маловероятно. По моему опыту, в основном это происходит, когда система часто перегревается и отключается (это довольно легко в офисной серверной комнате с плохим кондиционером). Процессорам это не очень нравится.
Конечно, если у вас был хороший мэйнфрейм IBM или аналогичный, горячая замена процессора (платы) достаточно «проста».
источник
Если процессор выйдет из строя - что крайне маловероятно, согласно другим ответам - система практически ничего не сможет сделать для восстановления. В зависимости от того, как это происходит, это может привести к повреждению памяти странными способами, разрушению таблицы процессов или тому, кто знает, что еще. Если бы у вас была какая-то активная система мониторинга, которая следит за процессором, чтобы убедиться, что он работает хорошо (и может, скажем, откатить любые изменения, внесенные процессором во время его смерти), это также была бы другая система. это может привести к сбою, и программно определить программный сбой довольно сложно (в основном единственный способ, которым вы можете практически это сделать, - это заставить другой процессор делать точно такие же вещи в одно и то же время и сравнивать результаты - что в конечном итоге приведет к замедлению работы вниз так, что там
Тем не менее, как бы редко ни происходил сбой CPU, увеличение количества процессоров в системе фактически увеличит частоту отказов, поскольку теперь у вас в два раза больше ошибок. У вас также есть другие подсистемы, которые также могут выходить из строя, например, такие, которые поддерживают синхронизацию кэшей ЦП, а увеличение энергопотребления и тепловой мощности также вносят свой вклад в факторы общего сбоя системы (и, конечно, другие активные вентиляторы охлаждения точка отказа).
источник
Вы должны точно определить , какие неудачи вы хотите обработать. Если мы рассматриваем совокупность ядер / процессоров / компьютеров, работающих вместе, как сеть, одним из типов отказов является то, что узел просто перестает отвечать на запросы. Гораздо более серьезный сбой - когда узел начинает повреждать данные и отправляет ошибочную информацию другим. Это называется византийским провалом , и в худшем случае он активно нарушает работу сети из-за стратегической «лжи». Относительно легко показать, что ни одна система не может обрабатывать треть или более узлов в византийском стиле .
Что вам нужно сделать, так это решить, какие именно сбои вы ожидаете, и спроектировать свою систему с учетом этого, и принять тот факт, что проблема обработки произвольного числа вредоносных узлов является неразрешимой. В вашем случае вам нужно как минимум четыре процессора, если один из них неисправен.
С другой стороны: в квантовой физике нет никаких невозможностей, но если вам нужно ждать дольше, чем возраст вселенной, чтобы статистически иметь возможность наблюдать определенное поведение, нам не нужно говорить, что это возможно. Имейте это в виду при разработке вашей системы. ;)
источник
Сбой процессора может быть редким. Сбой, вероятно, приведет к другим проблемам на уровне ОС. Я не думал бы об этом как о любой форме отказоустойчивости.
источник
Как и другие ответы, очень редко происходит сбой процессора, и на средних серверах вы не можете выполнить горячую замену, что вы, вероятно, можете сделать, это оставить сервер с одним процессором до замены неисправного, конечно, это процедура полностью в автономном режиме, и вам нужно сделать остановку сервера
источник