Я просил заменить так много SSD, что не хочу просить об этом снова. Но если SSD действительно сломался, то один простой сервера обойдется мне в 500 долларов или около того.
Итак, как убедиться, что SSD-накопитель действительно сломан?
Могу ли я просто переформатировать жесткий диск как в windows? Диск смонтирован.
Прежде чем ослабить штифт, сервер перезагрузится слишком много раз. Похоже, что он повредил все SSD там.
/bin/ls: cannot access cache-zch-5666-cache.txt: Input/output error
/bin/ls: cannot access cache-zch-4970-cache.txt: Input/output error
/bin/ls: cannot access cache-zch-4782-cache.txt: Input/output error
./ cache-zch-4782-cache.txt cache-zch-5666-cache.txt
../ cache-zch-4970-cache.txt
root@host [/home2/investgr1/public_html/hello/cache/zch]# rm *
rm: cannot remove `cache-zch-4782-cache.txt': Input/output error
rm: cannot remove `cache-zch-4970-cache.txt': Input/output error
rm: cannot remove `cache-zch-5666-cache.txt': Input/output error
root@host [/home2/investgr1/public_html/hello/cache/zch]#
решение1
Сначала проверьте вывод, dmesg
как я предложил в вашемпредыдущий вопросЕсли у ядра возникнут проблемы при взаимодействии с диском, об этом будет сообщено там.
Это не обязательно означает, что диск неисправен. Оперативная память — еще один популярный виновник, поэтому проведите тест памяти. Я используюUBCDдля этого, но есть много альтернатив.
Если тест памяти проходит чисто и нет ошибок в dmesg
, но вы все еще получаете ошибки ввода-вывода, у вас, вероятно, есть поврежденные сектора на диске. Чтобы определить это, запустите fsck -c
или fsck -cc
на диске. Первый тест лучше для SSD, так как это тест только для чтения, но он не может найти или исправить столько проблем, как тест чтения-затем-записи, который вы получаете с -cc
.
В конечном счете,вы не можете доказать отрицательное, поэтому вы никогда не сможете с полной уверенностью сказать: «Этот SSD не сломан».
Усугубляя проблему, возможно, что тест fsck
(или badblocks
) не выявит ошибок, но симптом исчезнет. Это связано с тем, что современные перезаписываемые дисковые накопители имеют средства самовосстановления, которые включаются, когда вы можете показать накопителю, что есть проблема. Тем не менее, такие средства обычно не позволяют вам увидеть эффект плохих секторов в первую очередь, поэтому, если плохие секторы действительно являются проблемой, это может означать, что пул запасных секторов накопителя израсходован.
решение2
Запустить badblocks -n -v
на одном или нескольких разделах. Я уверен, что это не имеет особого смысла на ssd (блоки виртуальные, и ssd выполняют собственное управление плохими блоками), но если у устройства есть проблемы, процесс badblock может их вызвать.
Другими словами, если badblocks
на SSD-накопителе обнаружены поврежденные блоки, значит, SSD-накопитель неисправен.
Я не нашел никаких ссылок, подтверждающих этот тезис, но вот мои рассуждения:
badblocks -n
выполняет низкоуровневый тест чтения-записи всего раздела.- SSD управляют своими собственными плохими блоками внутри, а также используют выравнивание износа для распределения использования; адреса блоков, отправляемые в систему, являются виртуальными. Таким образом, ни один из этих блоков не должен быть протестирован как плохой, и если это так, то какая-то функция накопителя вышла из строя.
Как говорит Уоррен Янг, здесь трудно доказать отрицательный результат, поэтому даже если этот тест пройден, это не значит, что диск не сломан.
Обратите внимание, чтосначала необходимо размонтировать разделы, то есть вам придется использовать Live CD или что-то в этом роде, если ваша корневая файловая система находится на SSD.