Что означает «status=10/n/a» в выводе systemd?

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

Команда xfs_growfsобычно увеличивает файловую систему, чтобы она соответствовала размеру базового устройства хранения (, будь то LV, раздел или весь диск ). Сообщения, доступные в двоичном файле xfs_growfs, по-видимому, указывают на то, что даже если вы сами укажете новый размер файловой системы, ответ будет -проверен на работоспособность, поэтому расширение файловой системы за пределы базового LV должно быть невозможным.

Гораздо вероятнее, что кто-то забыл, что команда lvreduce(без опции -r, если она реализована ), уменьшает только LV, а не файловую систему внутри него... и что файловая система XFS не имеет возможности сжиматься, только расширяться.

С помощью LVM расширить существующую файловую систему и LV очень просто... так что можно подумать, что уменьшить их так же просто. К сожалению, это не совсем так, :сокращение файловой системы часто оказывается немного сложнее, чем ее расширение.

Теперь, если datavg-optdataLV был уменьшен с 50G до 30G, это означает, что кусок 20G в хвостовой части файловой системы был отрезан. Если уменьшенное пространство было немедленно использовано для другого использования, данные, которые были там, теперь потеряны.

0
24.03.2020, 21:39
2 ответа

Это сообщение означает, что приложение, запущенное в файле .serviceс помощью ExecStart=, завершило работу и при этом установило код возврата 10.

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

Таким образом, systemd не знает, что означает код 10, поэтому добавляет n/a, чтобы показать, что от systemd нет словесного описания. Вы не сказали нам, что это за приложение, поэтому мы не можем найти для вас код результата 10 дальше, чем это.

В документации systemd, есть несколько таблиц условных обозначений результирующего кода. Подводя итог:

  • библиотека C в основном определяет только 0 для OK и 1 (или любое не -нулевое значение )для отказа
  • в Базе стандартов Linux (LSB )есть определения для кодов 2...7, для вещей, предназначенных для использования в качестве служб (или первоначально для службы в стиле SysVinit -сценарии запуска)
  • Спецификация LSB предполагает, что коды 200 и выше будут зависеть от -реализации, и поэтому systemdопределяет набор кодов в этом диапазоне для ошибок, генерируемых самим systemd.

  • Операционные системы BSD определяют группу общеупотребительных кодов выхода в диапазоне от 64 до 78. Определение этих кодов обычно также доступно в системах Linux в файле /usr/include/sysexits.h, если в системе установлены пакеты разработки C.

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

4
28.04.2021, 23:19

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

n/aозначает неприменимо или доступно(См.https://en.wikipedia.org/wiki/N/a)и это означает, что не определено символическое имя для кода выхода 10, поэтому оно не указывает, что пошло не так.

Короче говоря, что-то пошло не так (или ваш скрипт/программа ошибочно возвращает 10 ).

1
28.04.2021, 23:19

Теги

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