Сразу скажу, что проблема тут именно в параметрах, например, MINIO_COMPRESS_EXTENSIONS и т.д. Что нужно сделать первым делом? Конечно проверить переменные в файле /etc/default/minio, /etc/sysconfig/minio или в самом systemd файле сервиса MinIO.
Но в моём случае всё казалось одинаковым для человеческого глаза. В моём случае переменные были указаны в файле сервиса MinIO (/usr/lib/systemd/system/minio.service) и моя основная задача была в переносе существующей ноды MinIO на новый сервер с более новой ОС (CentOS 9). Поэтому я уже копировал существующий файл /usr/lib/systemd/system/minio.service со старого сервера на новый и как мне казалось ничего изменится не могло.
Как проверить что в итоге использует приложение?
А вот теперь я покажу что приложение MinIO видит иначе нежели мы. Если переменные передаются сервису в стиле Environment=MINIO_ROOT_USER=storeadmin, то можно посмотреть какие именно значения получает уже само приложение. Для этого выполняем:
sudo cat /proc/$(pidof minio)/environ | tr '\0' '\n' | grep MINIO_
MINIO_ROOT_USER=aaaa
MINIO_ROOT_PASSWORD=aaaa
MINIO_PROMETHEUS_AUTH_TYPE=public
CONSOLE_MINIO_SERVER=https://minio3:9000
MINIO_COMPRESS=on
MINIO_COMPRESS_EXTENSIONS=.txt,.log,.csv,.json,.tar,.xml,.bin,.pdf,.xls,.xlsx,.doc,.docx
MINIO_COMPRESS_MIME_TYPES=text/*,application/json,application/xml,application/pdf
И вроде бы всё нормально, но есть одно, но если выполнить туже команду на другой ноде (CentOS 7) я получу результат:
MINIO_ROOT_USER=aaaa
MINIO_ROOT_PASSWORD=aaaa
MINIO_PROMETHEUS_AUTH_TYPE=public
CONSOLE_MINIO_SERVER=https://minio3:9000
MINIO_COMPRESS="on"
MINIO_COMPRESS_EXTENSIONS=".txt,.log,.csv,.json,.tar,.xml,.bin,.pdf,.xls,.xlsx,.doc,.docx"
MINIO_COMPRESS_MIME_TYPES="text/*,application/json,application/xml,application/pdf"
Решение
Получается, что указанные переменные с двойными кавычками в файле /usr/lib/systemd/system/minio.service передаются приложению уже без них. Решением будет либо убрать все кавычки на всех нодах, либо же добавить знак \ перед кавычками.
Environment=MINIO_COMPRESS=\"on\"
Environment=MINIO_COMPRESS_EXTENSIONS=\".txt,.log,.csv,.json,.tar,.xml,.bin,.pdf,.xls,.xlsx,.doc,.docx\"
Environment=MINIO_COMPRESS_MIME_TYPES=\"text/*,application/json,application/xml,application/pdf\"
Далее я выполнил systemctl daemon-reload и нормально запустил ноду. Да я понимаю, что вариант с указанием переменных в самом systemd файле не совсем правильный, но иногда приходится работать с тем то имеешь. Да и у кого-то может быть такая же ситуация, а решения её в интернете я особо и не нашёл.


Комментарии