Как в Linux хранятся большие значения?

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

  • Вам нужны постоянные имена многопутевых устройств. Я не уверен, откуда берется mpathb, но я рекомендую не включать user_friendly_namesв /etc/multipath.confдля ясности. Либо настройте псевдоним вручную, либо используйте WWID, предоставленный вашим хранилищем.
  • Фильтры LVM представляют собой регулярные выражения, а не шаблоны оболочки, поэтому вам нужно изменить синтаксис на что-то вроде

    filter = ["a|^/dev/mapper/222c60001556480c6$|", "r|.|"]
    

    (global_filterявляется необязательным для правильной работы, но может повлиять на время загрузки.)

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

    Requires = dev-mapper-222c60001556480c6.device
    After = dev-mapper-222c60001556480c6.device
    

    - /etc/systemd/system/lvm2-activation-net.service.d/wait_for_storage.conf. Другой — создание специальной службы активации.

  • Устройства хранения данных iSCSI (и их многоканальные устройства )могут появиться через много времени. Вам может понадобиться создать /etc/systemd/system/dev-mapper-222c60001556480c6.device, содержащий

    [Unit]
    JobTimeoutSec=3min
    

    , чтобы убедиться, что systemd не слишком быстро истечет по таймауту в ожидании. Используйте символические ссылки на общий файл, если у вас несколько таких устройств.

Даже если описанное выше не решит вашу проблему немедленно, это облегчит отладку. Удачи!

1
07.10.2020, 09:42
1 ответ

Общего ответа нет, все зависит от значения.

Счетчики прерываний составляют для каждого -CPU unsigned ints , и они увеличиваются с использованием сложения C. Значение носит информационный характер, поэтому не имеет значения, что оно будет неточным после чуть более двух миллиардов вхождений (на платформах, где unsigned int— 32-битное -значение ).

Для значений, где важна обработка переполнения, само хранилище не меняется — т.е. его размер будет выбран под размер данных, но никакой «магии» в хранилище нет — а операции над value будет использовать переполнение -проверка вариантов .

2
18.03.2021, 22:59

Теги

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