Я пытаюсь настроить сеть с сотнями компьютеров без вентилятора (ARM). Каждый будет иметь свою файловую систему на SD-карте 32G. Образ, с которым я работаю, использует Debian 6.x, и карта отформатирована в EXT2 как один большой раздел.

Прошлой ночью одна из тестовых машин начала выдавать следующие ошибки:

sd 0:0:0:0: [sda] Device not ready
sd 0:0:0:0: [sda]  Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda]  Sense Key : 0x2 [current]
sd 0:0:0:0: [sda]  ASC=0x3a ASCQ=0x0
sd 0:0:0:0: [sda] CDB: cdb[0]=0x28: 28 00 00 2d 78 86 00 00 08 00
end_request: I/O error, dev sda, sector 2979974
EXT2-fs (sda2): previous I/O error to superblock detected

sd 0:0:0:0: [sda] Device not ready
sd 0:0:0:0: [sda]  Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda]  Sense Key : 0x2 [current]
sd 0:0:0:0: [sda]  ASC=0x3a ASCQ=0x0
sd 0:0:0:0: [sda] CDB: cdb[0]=0x2a: 2a 00 00 01 78 86 00 00 08 00
end_request: I/O error, dev sda, sector 96390
EXT2-fs (sda2): error: read_block_bitmap: Cannot read block bitmap - block_group = 11, block_bitmap = 360448

Значит ли это, что СМИ плохие? Или гниет как-то? Я попытаюсь переформатировать его и посмотреть, произойдет ли это снова.

Есть ли лучший способ настроить эту карту? Другая файловая система?

РЕДАКТИРОВАТЬ: Возможный связанный пост здесь.

2 ответа2

3

На SD-картах нет интеллектуального выравнивания износа, поэтому вы можете полностью изнашивать блоки или группы блоков, в которых хранится важная информация о файловой системе, что делает эту область карты практически непригодной для использования.

Когда вы переустанавливаете, вы не проверяете наличие поврежденных блоков в файловой системе, вы просто копируете изображение на карту линейным способом и, как правило, игнорируете, действительно ли операция записи записала правильные данные или блок может содержать данные.

Если бы вы смогли отформатировать карту и выполнить плохое сканирование блоков, вы, скорее всего, найдете области, которые невозможно было использовать.

Причина, по которой многие устройства позволяют использовать SD-карты для этого, совершенно ясна. SD-карты очень дешевы, доступны везде разных размеров и почти повсеместно поддерживаются небольшими встроенными процессорами. Это не вина Kingstons (как и любого другого производителя SD-карт), что люди решили использовать карты таким способом, который почти гарантированно отправит карту в могилу. Если ваша карта умирает, вы просто переустанавливаете и продолжаете.

Цена для этих устройств на базе ARM слишком низкая, чтобы ожидать критически важный уровень надежности. Как правило, если вы не хотите, чтобы SD-карта умерла, вам необходимо переместить файловую систему на более надежный тип устройства. Некоторые владельцы Raspberry Pi зашли так далеко, что переместили корневую файловую систему на жесткий диск USB для надежности (жесткие диски не страдают так же, как карты SD) или даже для сетевой загрузки устройств.

Если вы действительно часто используете карты, возможно, вы захотите заглянуть на сайты, посвященные устройствам ARM с SD-картами.

1

Я могу судить только по собственному опыту работы с SD-картами. Однажды у меня была проблема с SD-картой, используемой в моем смартфоне. Это казалось испорченным, и я больше не мог его использовать. Это был формат FAT32. На моем OSX ноутбуке у меня были похожие проблемы. На компьютере с Windows XP я мог получить доступ к карте и сделать резервную копию. После его переформатирования проблем нет вообще. Мне показалось странным, что только под Windows у меня не было проблем. Карта никогда ранее не форматировалась на машине с Windows, хотя, может быть, на заводе?

На мой взгляд, SDCard (что я читал о них) не надежны для запуска ОС. Вы, вероятно, нашли проблемную карту или неисправную отформатированную карту. Отформатируйте его, отметьте его в следующий раз, когда вы узнаете, была ли ранее проблема с этой картой, и ведите журнал проблем с этими картами. Почему вы выбираете SDCARD?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .