Водії CSI: Як збирати журнали
Summary: У цій статті показано, як зібрати основні журнали, щоб розпочати усунення проблеми з сімейством модулів зберігання контейнерів Dell (CSM): Драйвери інтерфейсу контейнерного зберігання Dell (CSI) ...
Instructions
Збір
журналу драйверів CSIЦе полягає в увімкненні налагодження, відтворенні проблеми, якщо це можливо, зборі журналів для контролера CSI Driver, зборі журналів із node pod.
kubectl команди можуть бути замінені на "oc" у середовищах OpenShift.
Увімкніть журнали налагодження для контролера драйвера CSI та подів вузлів.
Дивіться функцію "Dynamic Logging Configuration" у документації: https://dell.github.io/csm-docs/docs/csidriver
Визначте назви контролера та подів вузлів.
За допомогою кнопки 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.
Журнали повинні бути зібрані для блоків контролера. Збирайте журнали з усіх контролерів за допомогою 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
Повторіть ці дії для всіх необхідних контейнерів, пов'язаних з вашою проблемою (attacher, snapshotter, provisioner, driver, resizer тощо). Обов'язково змініть ім'я файлу вихідного файлу, щоб воно відповідало імені контролера та контейнеру.
Збирайте журнали подів вузлів CSI Driver.
Колоди також слід зібрати для робочих вузлів. Це може включати один вузол або кілька вузлів, якщо проблемний блок переміщається з одного вузла на інший. При цьому збираються журнали для кожного з контейнерів на модулі вузла 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" для збору журналів усіх контейнерів капсули може бути корисним.
Приклад:
kubectl logs -n isilon isilon-node-xxx --all-containers> isilon-node_driver.txt
Інша необхідна інформація:
Контейнер Orchestrator (K8s, OpenShift і так далі) і версія
Kubernetes версія і смак
Версія
драйвера Версія масиву або мікрокод
вузлів K8 операційна система і версія
Additional Information
Щоб перелічити розгортання:
ПРОСТОРУ ІМЕН ГОТОВЕ АКТУАЛЬНИЙ ДОСТУПНИЙ ВІК CSI-POWERSCALE
ISILON-CONTROLLER 1/1 1 1 14d Powermax Powermax-controller 1/1 1 1 26d Unity Unity-Controller 1/1 1 1 47d VXFLEXOS VXFLEXOS-контролер 2/2 2 2 107d
-Ім'я:
X_CSI_DEBUG значення: "true"
Для Isilon вміст OneFS REST API також слід увійти в debug, встановивши значення 0 (true):
-Ім'я:
X_CSI_VERBOSE значення: "0"
Увімкніть журнали налагодження вузлів драйвера CSI, відредагувавши фонову службу.
Налагодження вмикається редагуванням фонової служби.
Щоб перерахувати демонсети:
ПРОСТОРУ ІМЕН БАЖАНИЙ ПОТОЧНИЙ ГОТОВИЙ АКТУАЛЬНИЙ ДОСТУПНИЙ СЕЛЕКТОР ВУЗЛІВ ВІК CSI-POWERSCALE
ISILON-NODE 2 2 2 2 2 14d powermax powermax-вузол 2 2 2 2 2 26d
Одиниця єдності-вузол 2 2 2 2 2 47d VXflexOS VXFLEXOS-вузол 2 2 2 2 2 107d
-Ім'я:
X_CSI_DEBUG значення: "Правда"
Для Isilon вміст OneFS REST API також слід увійти до системи налагодження, встановивши значення 0 (true):
-Ім'я:
X_CSI_VERBOSE значення: "0"
Оскільки журнали налагодження не мають зворотної сили, відтворіть проблему, якщо це можливо, перед збиранням журналів.