Драйверы CSI: Как собирать журналы
Summary: В этой статье показано, как собрать основные журналы для поиска и устранения неисправностей семейства модулей Dell Container Storage Modules (CSM). Драйверы интерфейса хранилища контейнеров Dell (CSI) ...
Instructions
Сбор
журнала драйвера CSIОн включает отладку, воспроизведение проблемы, если это возможно, сбор журналов для контроллера драйвера CSI и сбор журналов из узла pod.
kubectl Команды можно заменить на «oc» в средах OpenShift.
Включите журналы отладки для контроллера драйвера CSI и узлов pod.
См. раздел «Dynamic Logging Configuration» в документации: https://dell.github.io/csm-docs/docs/csidriver
Определите имена контроллера и модулей pod.
Используйте кнопку kubectl get pods , чтобы вывести список модулей в пространстве имен драйверов.
# kubectl get pods -n isilon NAME READY STATUS RESTARTS AGE isilon-controller-66d7d9d7c-6j6f4 6/6 Running 0 11m isilon-node-9wngk 2/2 Running 0 27d
Соберите журналы контроллера драйверов CSI.
Необходимо собрать журналы для модулей pod контроллера. Соберите журналы со всех контроллеров с помощью команды kubectl logs . Убедитесь, что вы передали соответствующий контейнер, например драйвер.
kubectl logs -n <namespace> <controller> <container> > <file name>
Пример.
kubectl logs -n isilon isilon-controller-66d7d9d7c-6j6f4 driver > isilon-controller-66d7d9d7c-6j6f4_driver.log
Повторите эти действия для всех необходимых контейнеров, связанных с вашей проблемой (подключаемый, устройство создания моментальных снимков, средство предоставления ресурсов, драйвер, контейнер с изменением размера и т. д.). Обязательно измените имя выходного файла, чтобы оно соответствовало имени контроллера и контейнеру.
Соберите журналы pod узла драйвера CSI.
Журналы также должны быть собраны для рабочих узлов. Это может быть один узел или несколько узлов, если проблемный модуль pod перемещался с одного узла на другой. При этом собираются журналы для каждого из контейнеров узла CSI Driver (драйвер, регистратор и т. д.):
kubectl logs -n <namespace> <worker node> > <filename>.txt
Пример.
kubectl logs -n isilon isilon-node-9wngk driver > isilon-node-9wngk_driver.txt kubectl logs -n isilon isilon-node-9wngk registrar > isilon-node-9wngk_registrar.txt
Альтернативы
Сценарий
: При необходимости создаются все журналы контроллера по отдельности (при необходимости измените пространство имен «isilon» на 2 места) и при необходимости добавляются контейнеры.
for x in $(kubectl get pods -n isilon | grep controller | awk '{print $1}'); do for i in attacher provisioner driver snapshotter;do kubectl logs -n isilon $x -c $i > $x-$i.txt;done;done
При этом собираются журналы узлов (при необходимости измените пространство имен «isilon» в двух местах) и при необходимости добавляются контейнеры.
for x in $(kubectl get pods -n isilon | grep node | awk '{print $1}'); do for i in driver registrar;do kubectl logs -n isilon $x -c $i > $x-$i.txt;done;done
Так как опция
Сбор всех журналов может дать больше данных, чем требуется. Метод «--since" может быть использован для сбора данных за известный промежуток времени. За этим параметром следуют «5 с», «5 м» или «5 ч» для значений секунд, минут и часов в зависимости от того, как далеко назад должен идти сбор журналов. Это также полезно, если проблема была воспроизведена, соберите журналы за последние 5 минут (или время, затраченное на воспроизведение):
Пример.
kubectl logs -n isilon isilon-node-xxx driver --since 5m > isilon-node-xxx_driver.txt
Контейнеры
При поиске и устранении неисправностей полезно собирать журналы отдельно, как описано выше. Иногда при замене имени контейнера на "--all-containers" для сбора журналов всех контейнеров pod может быть полезно.
Пример.
kubectl logs -n isilon isilon-node-xxx --all-containers> isilon-node_driver.txt
Прочая необходимая информация:
Container Orchestrator (K8s, OpenShift и т. д.) и версия
Версия и версия
Kubernetes Версия
драйвера Версия дискового массива или микрокода
Узлы K8 Операционная система и версия
Additional Information
Чтобы перечислить развертывания, с помощью этой ссылки можно выполнить следующие действия:
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
csi-powerscale isilon-controller 1/1 1 1 14d
powermax-controller 1/1 1 26d
unity-controller 1/1 1 47d
vxflexos vxflexos-controller 2/2 2 107d
-Имя:
X_CSI_DEBUG производительности: «True»Для
Isilon содержание API-интерфейса REST OneFS также должно быть зарегистрировано в отладе, заметив значение 0 (верно):
-Имя:
X_CSI_VERBOSE производительности: «0» Включение
журналов отладки узла драйвера CSI путем редактирования daemonset.
Отладка активна путем редактирования daemonset.
Чтобы перечислить управляющие программы, с помощью этой программы можно выполнить следующие действия:
NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
csi-powerscale isilon-node 2 2 2 2 14d
powermax-node 2 2 2 2 26d
unity unity-node 2 2 2 2 2 47d
vxflexos vxflexos-node 2 2 2 2 107d
-Имя:
X_CSI_DEBUG производительности: «верно»
Для Isilon содержимое ONEFS REST API также должно быть зарегистрировано в отладе, заметив значение 0 (верно):
-Имя:
X_CSI_VERBOSE производительности: «0»
Так как журналы отладки не являются retroactive, воспроизведите проблему, если это возможно, перед сбором журналов.