Переход в оболочку initramfs

Я изменил приведенные ниже параметры ядра, и диски 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

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

1
29.01.2021, 01:19
1 ответ

У меня все получилось! Вот шаги, которые помогли решить проблему. Надеюсь, это поможет будущему кому-то, кто находится в том же рассоле:

  • Если у вас есть другой способ доступа к вашей системе --, например установлено другое ядро ​​(как было в моем случае )--то не надо 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
  • Теперь поищите в многословном шуме. Убедитесь, что нет ошибок при генерации изображения. Если нет, перезагрузите систему и вуаля!
0
18.03.2021, 22:34

Теги

Похожие вопросы