Я изменил приведенные ниже параметры ядра, и диски SMR больше не отключаются при большой нагрузке записи. Иногда производительность записи резко снижается при интенсивном вводе-выводе (, например при скорости записи в однозначных МБ/с ), но диски, по крайней мере, больше не отключаются.
DEVICE=sdX # insert your device name here
echo 3600 > /sys/block/$DEVICE/device/timeout
echo 3600 > /sys/block/$DEVICE/device/eh_timeout
echo noop > /sys/block/$DEVICE/queue/scheduler
echo 1 > /sys/block/$DEVICE/device/queue_depth
echo 4 > /sys/block/$DEVICE/queue/nr_requests
Я не тестировал каждый из них по отдельности, поэтому не уверен, что требуется установка каждого из них, но эта комбинация работает для меня.
У меня все получилось! Вот шаги, которые помогли решить проблему. Надеюсь, это поможет будущему кому-то, кто находится в том же рассоле:
Если у вас есть другой способ доступа к вашей системе --, например установлено другое ядро (как было в моем случае )--то не надо chroot
. Просто выберите это ядро в меню GRUB и войдите -в к вашей системе. Я смог попасть в оболочку терминала.
Получите UUID всех ваших блочных устройств, используя sudo blkid
. Откройте -ваш файл /etc/fstab
и замените дескрипторы имени ядра (, то есть /dev/sda1 )на UUID. Это важно, потому что дескрипторы имен ядра не являются постоянными. Также обратите внимание, что существует проблема с типами разделов MBR/GPT (, ссылка). После всего сказанного и сделанного у вас должно получиться что-то вроде этого:
UUID=XXXXXX-XXXXXX-XXXXX-XXXX-XXXXXX / ext4 errors=remount-ro 0 $
UUID=XXXXXX-XXXXXX-XXXXX-XXXX-XXXXXX /boot ext2 defaults 0 $
UUID=XXXXXX-XXXXXX-XXXXX-XXXX-XXXXXX none swap sw 0 $
/etc/crypttab
. Здесь должна быть только одна запись для каждого зашифрованного устройства. Первый столбец — это ссылкаdevice mapper's name
()и не должен быть UUID (, как в файле fstab ). Вы можете найти имя картографа устройств в распечатке blkid
-. Обычно он указан как /dev/mapper/sda5_crypt
. Обратите внимание, однако, что UUID в файле crypttab НЕ ТО ЖЕ САМОЕ , что и в строке blkid
для dev/mapper/sda5_crypt
. Вместо этого правильный UUID, который должен использоваться в файле crypttab, можно найти в строке blkid
для /dev/sda5
. В итоге у вас будет что-то вроде этого:sda5_crypt UUID=XXXXXX-XXXXXX-XXXXX-XXXX-XXXXXX none luks,discard
Затем перейдите в загрузочный каталог (, то есть /boot ). Сделайте резервную копию вашего файл vmlinuz (т. е. vmlinuz -5.9.0 -0.bpo.5 -amd64 ).
Теперь вам нужно запустить команду, чтобы обновить файл vmlinuz для конкретной ссылки ядра(). U для «обновления». v означает "многословный" (живой вывод -из всего ).k для конкретной версии «ядра», для которой вы будете генерировать образ initramfs. Команда:
sudo update-initramfs -uvk 5.9.0-0.bpo.5-amd64