FreeNAS 11.2 | Утилиты командной строки

В этом разделе демонстрируются несколько утилит командной строки, которые поставляются с FreeNAS.

Следующие утилиты могут быть использованы для тестирования производительности и производительности:

  • Iperf — используется для измерения максимальной производительности полосы пропускания TCP и UDP
  • Netperf — инструмент для измерения производительности сети
  • IOzone — утилита тестирования файловой системы, используемая для выполнения широкого анализа файловой системы
  • arcstat — используется для сбора статистики ZFS ARC

Следующие утилиты относятся к RAID-контроллерам:

  • tw_cli — используется для мониторинга и обслуживания 3ware RAID-контроллеров
  • MegaCli — используется для настройки и управления RAID-контроллерами семейства Broadcom MegaRAID SAS

В этом разделе также описаны эти утилиты:

  • freenas-debug — серверная часть, используемая для выгрузки отладочной информации FreeNAS
  • tmux — терминальный мультиплексор, аналогичный экрану GNU
  • Dmidecode — сообщает информацию об аппаратном обеспечении системы, как описано в BIOS системы
  • Midnight Commander — это программа, используемая для управления файлами из оболочки

Iperf

Iperf — это утилита для измерения максимальной производительности TCP и UDP. Её можно использовать для составления графика пропускной способности сети с течением времени. Например, он используется для проверки скорости различных типов ресурсов, чтобы определить, какой тип лучше всего работает в сети.

FreeNAS включает в себя сервер iperf. Чтобы выполнить тестирование сети, установите клиент iperf в настольной системе, которая имеет сетевой доступ к системе FreeNAS. В этом разделе показано, как использовать клиентский интерфейс пользователя xjperf  (xjperf user interface client)(https://code.google.com/archive/p/xjperf/downloads), как он работает в системах Windows, macOS, Linux и BSD.

Поскольку этот клиент основан на Java, на клиентском компьютере должна быть установлена соответствующая JRE (The Java™ Platform, Standard Edition Runtime Environment) (http://www.oracle.com/technetwork/java/javase/downloads/index.html).

Пользователи Linux и BSD должны будут установить пакет iperf, используя систему управления пакетами для своей операционной системы.

Чтобы запустить xjperf в Windows: разархивируйте загруженный файл, запустите командную строку в режиме «Запуск от имени администратора», командой «cd» перейдите в разархивированную папку и запустите «jperf.bat»

Чтобы запустить xjperf в macOS, Linux или BSD, разархивируйте загруженный файл, перейдите «cd» в разархивированный каталог, введите «chmod u+x jperf.sh» и запустите «./jperf.sh».

Запустите сервер iperf на FreeNAS, когда клиент будет готов.

Примечание. Начиная с версии 11.1 FreeNAS, iperf2 (https://sourceforge.net/projects/iperf2/) и iperf3 (http://software.es.net/iperf/) предварительно установлены. Чтобы использовать iperf2, используйте iperf. Чтобы использовать iperf3, вместо этого введите iperf3. Примеры ниже для iperf2.

Чтобы увидеть доступные параметры сервера, откройте «Shell» и введите:

iperf --help | more

или

iperf3 --help | more

Например, чтобы выполнить тест TCP и запустить сервер в режиме демона (чтобы получить приглашение), введите:

iperf -sD
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
Running Iperf Server as a daemon
The Iperf daemon process ID: 4842

Примечание. Процесс демона останавливается, когда оболочка (Shell) закрывается. Настройте среду с настроенными общими ресурсами и запустите их перед запуском процесса Iperf.

С рабочего стола откройте клиент. Введите IP-адрес системы FreeNAS, укажите время выполнения теста в разделе «Application layer options -> Transmit» «Параметры уровня приложения -> Передача» (время теста по умолчанию составляет 10 секунд), и нажмите Run Iperf! кнопку. На рисунке 23.1 показан пример клиента, работающего в системе Windows, в то время как передача SFTP происходит в сети.

Рисунок 23.1. Просмотр статистики пропускной способности с помощью xjperf
Рисунок 23.1. Просмотр статистики пропускной способности с помощью xjperf

Проверьте тип трафика перед тестированием UPD или TCP. Сервер iperf используется для получения дополнительной информации об услугах, использующих TCP iperf -sD или UDP iperf -sDu. Сообщение запуска указывает, когда сервер прослушивает TCP или UDP. Команда sockstat -4 | more даёт обзор сервисов, работающих в системе FreeNAS. Это помогает определить, является ли трафик для тестирования UDP или TCP.

Является ли трафик для тестирования UDP или TCP - фото 01
Является ли трафик для тестирования UDP или TCP — фото 01
Является ли трафик для тестирования UDP или TCP - фото 02
Является ли трафик для тестирования UDP или TCP — фото 02

Когда тестирование будет завершено, введите killall iperf или закройте Shell, чтобы завершить процесс сервера iperf.

Netperf

Netperf — это утилита для тестирования производительности, которую можно использовать для измерения производительности однонаправленной пропускной способности и сквозной задержки.

Перед использованием команды netperf запустите серверный процесс с помощью этой команды:

netserver
Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC

Следующая команда отображает доступные параметры для выполнения тестов с помощью команды netperf. Руководство Netperf (https://hewlettpackard.github.io/netperf/) описывает каждую опцию более подробно и объясняет, как выполнять многие типы тестов. Это лучший справочник для понимания того, как работает каждый тест и как интерпретировать результаты. Когда тестирование будет завершено, введите killall netserver, чтобы остановить процесс сервера.

Глобальные опции Netperf
Глобальные опции Netperf

Глобальные опции Netperf:

-a send,recv        Установите локальное выравнивание буфера "send, recv"
-A send,recv        Установите удаленное выравнивание буфера "send, recv"
-B brandstr         Укажите строку для выдачи с кратким выводом
-c [cpu_rate]       Сообщить о локальном использовании процессора
-C [cpu_rate]       Сообщить об использовании удаленного процессора
-d                  Увеличить выход отладки
-D [secs,units] *   Отображать промежуточные результаты, по крайней мере, каждые секунды, используя единицы измерения в качестве начальной оценки единиц в секунду.
-f G|M|K|g|m|k      Установите выходные единицы
-F fill_file        Предварительно заполнить буферы данными из fill_file
-h                  Показать этот текст
-H name|ip,fam *    Укажите целевой компьютер и / или локальный ip и семью
-i max,min          Укажите максимальное и минимальное количество итераций (15,1)
-I lvl[,intvl]      Укажите уровень достоверности (95 или 99) (99) и доверительный интервал в процентах (10)
-j                  Храните дополнительную статистику времени
-l testlen          Укажите продолжительность теста (> 0 секунд) (<0 байт | транс)
-L name|ip,fam *    Укажите локальный ip | имя и адрес семейства
-o send,recv        Установите локальные смещения буфера "send, recv"
-O send,recv        Установите удаленное смещение буфера "send, recv"
-n numcpu           Установите количество процессоров для загрузки процессора
-N                  Не устанавливайте управляющее соединение, используйте только сторону отправки
-p port,lport*      Укажите номер порта сетевого сервера и / или локальный порт
-P 0|1              Показывать или не показывать тестовые заголовки
-r                  Позвольте уверенности быть пораженной только на результате
-s seconds          Подождите несколько секунд между настройкой теста и началом теста
-S                  Установите SO_KEEPALIVE для подключения к данным
-t testname         Укажите тест для выполнения
-T lcpu,rcpu        Запросите netperf / netserver подключиться к локальному / удаленному процессору
-v verbosity        Укажите уровень многословия
-W send,recv        Установите количество буферов "send, recv"
-v level            Установить уровень детализации (по умолчанию 1, минимум 0)
-V                  Показать версию netperf и выйти

Для этих вариантов, принимающих два параметра, должен быть указан как минимум один параметр.

  • Указание одного значения без запятой установит для обеих пар значение,
  • Указав значение с начальной запятой, установит только второй параметр,
  • При указании значения через запятую — первое.

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

Для этих параметров, принимающих два параметра, указание одного значения без запятой установит только первые параметры и оставит второе значение по умолчанию. Чтобы установить второе значение, ему должно предшествовать запятая или пара, разделенная запятыми. Это для сохранения предыдущего поведения netperf.

IOzone

IOzone — это инструмент для тестирования дисков и файловых систем. Его можно использовать для проверки производительности файлового ввода-вывода для следующих операций:

  • read (читать)
  • write (писать)
  • re-read (перечитывать)
  • re-write (переписывать)
  • read backwards (читать задом наперед)
  • read strided (читать с разбросом)
  • fread
  • fwrite
  • random read (случайное чтение)
  • pread
  • mmap
  • aio_read
  • aio_write

FreeNAS поставляется с IOzone, поэтому его можно запускать из Shell. При использовании IOzone во FreeNAS командой «cd» перейдите в каталог в пуле, к которому у вас есть права на запись, в противном случае возникнет ошибка невозможности записи временного файла.

Перед использованием IOzone прочитайте PDF-документацию по IOzone (http://www.iozone.org/docs/IOzone_msword_98.pdf), в которой описываются тесты, множество параметров командной строки и способы интерпретации результатов.

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

  • Как измерить производительность ввода-вывода файловой системы Linux с помощью iozone (https://www.cyberciti.biz/tips/linux-filesystembenchmarking-with-iozone.html)
  • Анализ производительности клиента NFS с помощью IOzone (http://www.iozone.org/docs/NFSClientPerf_revised.pdf)
  • 10 примеров iozone для измерения производительности дискового ввода-вывода в Linux (https://www.thegeekstuff.com/2011/05/iozoneexamples/)

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

Начиная с версии 9.2.1, FreeNAS® по умолчанию включает сжатие во вновь создаваемых пулах ZFS. Поскольку IOzone создает тестовые данные, которые являются сжимаемыми, это может исказить результаты теста. Чтобы настроить IOzone для генерирования несжимаемых тестовых данных, включите параметры -+w 1 -+y 1 -+C 1.

В качестве альтернативы рассмотрите возможность временного отключения сжатия в пуле или наборе данных ZFS при выполнении тестов IOzone.

Примечание. Если предпочтительнее визуальное представление собранных данных, доступны скрипты для вывода IOzone в Gnuplot (http://www.gnuplot.info/).

iozone -h | more
iozone: help mode
Usage: iozone[-s filesize_Kb] [-r record_size_Kb] [-f [path]filename] [-h]
[-i test] [-E] [-p] [-a] [-A] [-z] [-Z] [-m] [-M] [-t children]
[-l min_number_procs] [-u max_number_procs] [-v] [-R] [-x] [-o]
[-d microseconds] [-F path1 path2...] [-V pattern] [-j stride]
[-T] [-C] [-B] [-D] [-G] [-I] [-H depth] [-k depth] [-U mount_point]
[-S cache_size] [-O] [-L cacheline_size] [-K] [-g maxfilesize_Kb]
[-n minfilesize_Kb] [-N] [-Q] [-P start_cpu] [-e] [-c] [-b Excel.xls]
[-J milliseconds] [-X write_telemetry_filename] [-w] [-W]
[-Y read_telemetry_filename] [-y minrecsize_Kb] [-q maxrecsize_Kb]
[-+u] [-+m cluster_filename] [-+d] [-+x multiplier] [-+p # ]
[-+r] [-+t] [-+X] [-+Z] [-+w percent dedupable] [-+y percent_interior_dedup]
[-+C percent_dedup_within]
-a           Автоматический режим
-A           Автоматический режим 2
-b Filename  Создать файл листа Excel
-B           Используйте файлы mmap ()
-c           Включить близких в расчет времени
-C           Показать байты, переданные каждым ребенком в тестировании пропускной способности
-d #         Микросекундная задержка вне барьера
-D           Использовать msync (MS_ASYNC) для файлов mmap
-e           Включить flush (fsync, fflush) в расчет времени
-E           Запустите тесты на расширение
-f           имя файла для использования
-F           имена файлов для каждого процесса / потока в тесте пропускной способности
-g #         Установите максимальный размер файла (в килобайтах) для автоматического режима (или #m или #g)
-G           Использовать msync (MS_SYNC) для файлов mmap
-h           Помощь/Справка
-H #         Используйте асинхронный ввод / вывод POSIX с # асинхронными операциями
-i #         Тест для запуска (0=write/rewrite, 1=read/re-read, 2=random-read/write, 3=Read-backwards, 4=Re-write-record, 5=stride-read, 6=fwrite/re-fwrite, 7=fread/Re-fread, 8=random_mix, 9=pwrite/Re-pwrite, 10=pread/Re-pread, 11=pwritev/Re-pwritev, 12=preadv/Re-preadv)
-I           Используйте VxFS VX_DIRECT, O_DIRECT или O_DIRECTIO для всех файловых операций
-j #         Установить шаг доступа к файлу (# * размер записи)
-J #         миллисекунды цикла вычислений перед каждой операцией ввода-вывода
-k #         Используйте асинхронный ввод / вывод POSIX (без bcopy) с # асинхронными операциями
-K           Создать джиттер в шаблоне доступа для читателей
-l #         Нижний предел количества процессов для запуска
-L #         Установить размер строки кэша процессора в значение (в байтах)
-m           Используйте несколько буферов
-M           Сообщить о выводе uname -a
-n #         Установите минимальный размер файла (в килобайтах) для автоматического режима (или #m или #g)
-N           Отчет о результатах в микросекундах за операцию
-o           Пишет синхронно (O_SYNC)
-O           Дайте результаты в ops / sec.
-p           Очистить на
-P #         Привязка процессов / потоков к процессорам, начиная с этого процессора
-q #         Установите максимальный размер записи (в килобайтах) для автоматического режима (или #m или #g)
-Q           Создать файлы смещения / задержки
-r #         размер записи в кб
или -r #k .. size in Kb
или -r #m .. size in Mb
или -r #g .. size in Gb
-R           Создать отчет в формате Excel
-s #         размер файла в килобайтах
или -s #k .. size in Kb
или -s #m .. size in Mb
или -s #g .. size in Gb
-S #         Установить размер кэша процессора в значение (в килобайтах)
-t #         Количество потоков или процессов, используемых в тесте пропускной способности
-T           Используйте POSIX pthreads для тестов пропускной способности
-u #         Верхний предел количества процессов для запуска
-U           Точка монтирования для перемонтирования между тестами
-v           информация о версии
-V #         Проверьте шаблон данных запись / чтение
-w           Не отсоединять временный файл
-W           Блокировка файла при чтении или записи
-x           Выключить каменные стены
-X filename  Напишите файл телеметрии. Содержит строки с (смещение reclen compute_time) в ascii
-y # Установите минимальный размер записи (в килобайтах) для автоматического режима (или #m или #g)
-Y filename  Прочитать файл телеметрии. Содержит строки с (смещение reclen compute_time) в ascii
-z           Используется вместе с -a для проверки всех возможных размеров записи
-Z           Включить смешивание mmap IO и файлового ввода / вывода
-+E          Использовать существующий файл не-Iozone для тестирования только для чтения
-+K          Sony особенная. Ручное управление тестом 8.
-+m Cluster_filename Включить кластерное тестирование
-+d          Диагностический режим файлового ввода-вывода. (Для устранения неисправности подсистемы ввода / вывода файлов)
-+u          Включить вывод использования ЦП (экспериментальный)
-+x #        Множитель для увеличения размеров файлов и записей
-+p #        Процент микса, который нужно прочитать
-+r          Включите O_RSYNC | O_SYNC для всего тестирования.
-+t          Включить тест производительности сети. Требуется -+м
-+n          Нет выбранных повторных тестов.
-+k          Используйте постоянный совокупный размер набора данных.
-+q          Задержка в секундах между тестами.
-+l          Включить режим блокировки записи.
-+L          Включите режим блокировки записи с общим файлом.
-+B          Последовательная смешанная нагрузка.
-+A #        Включите madvise (медвис). 0 = normal, 1=random, 2=sequential 3=dontneed, 4=willneed
-+N          Не обрезайте существующие файлы при последовательной записи.
-+S #        Данные с возможностью дедупликации ограничены совместным использованием в каждом числовом наборе файлов
-+V          Включить общий файл. Нет блокировки.
-+X          Включить режим короткого замыкания ТОЛЬКО для тестирования файловой системы
ВСЕ результаты НЕ действительны в этом режиме.
-+Z          Включить старый режим совместимости набора данных. ПРЕДУПРЕЖДЕНИЕ. Опубликованные хаки могут лишить законной силы эти                 результаты и генерировать поддельные, высокие значения для результатов.
-+w ##       Процент данных с возможностью дедупликации в буферах.
-+y ##       Процент дедуплицирующей таблицы внутри и между файлами в буферах.
-+C ##       Процент дедуплицирующей таблицы внутри, а не между файлами в буферах.
-+H Hostname Имя хоста сервера PIT.
-+P Service  Сервис сервера PIT.
-+z          Включить регистрацию гистограммы задержки.

arcstat

Arcstat — это скрипт, который выводит статистику ZFS ARC (https://en.wikipedia.org/wiki/Adaptive_replacement_cache). Первоначально это был Perl-скрипт, созданный Sun. Этот сценарий perl был перенесен во FreeBSD, а затем перенесен как сценарий Python для использования во FreeNAS.

Наблюдение за попаданиями / промахами ARC и процентами показывает, насколько хорошо пул ZFS извлекает данные из ARC, а не использует дисковый ввод-вывод. В идеале, из кеша будет извлекаться как можно больше вещей. Имейте в виду нагрузку при просмотре статистики. При случайном чтении следует ожидать пропуска и необходимости идти на диск для получения данных. Для кэшированных чтений, ожидайте, что это вытащит из кэша и получит удар.

Как и во всех кеш-системах, ARC требуется время для заполнения данными. Это означает, что он будет иметь много промахов, пока пул не будет использоваться некоторое время. Если по-прежнему происходит много пропусков и высокий уровень дискового ввода-вывода при кэшированном чтении, есть причина для дальнейшего изучения и настройки системы.

Руководство по настройке FreeBSD ZFS (https://wiki.freebsd.org/ZFSTuningGuide) содержит некоторые рекомендации по часто настраиваемым значениям sysctl. Следует отметить, что настройка производительности — это больше искусство, чем наука, и что любые внесенные изменения, вероятно, потребуют нескольких итераций настройки и тестирования. Имейте в виду, что то, что необходимо настроить, будет зависеть от типа рабочей нагрузки и что то, что работает для одной сети, может не принести пользу другой.

В частности, значение предварительной выборки зависит от объема памяти и типа рабочей нагрузки, как показано в разделе Общие сведения о ZFS: предварительная выборка (http://cuddletech.com/?page_id=834&id=1040).

FreeNAS предоставляет два сценария командной строки, которые можно запускать вручную из Shell:

  • arc_summary.py: предоставляет сводку статистики
  • arcstat.py: используется для просмотра статистики в реальном времени

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

Этот пост на форуме (https://forums.freenas.org/index.php?threads/benchmarking-zfs.7928/) демонстрирует некоторые примеры использования этих сценариев с подсказками о том, как интерпретировать результаты.

Чтобы просмотреть справку для arcstat.py:

arcstat.py -h
[-havxp] [-f fields] [-o file] [-s string] [interval [count]]
-h : Распечатать это справочное сообщение
-a : Распечатать все возможные характеристики
-v : Перечислите все возможные заголовки и определения полей
-x : Распечатать расширенную статистику
-f : Укажите конкретные поля для печати (см. -V)
-o : Перенаправить вывод в указанный файл
-s : Переопределить разделитель полей по умолчанию пользовательским символом или строкой
-p : Отключить автоматическое масштабирование числовых полей
Examples:
arcstat -o /tmp/a.log 2 10
arcstat -s "," -o /tmp/a.log 2 10
arcstat -v
arcstat -f time,hit%,dh%,ph%,mh% 1

Для просмотра статистики ARC в реальном времени укажите интервал и количество. Эта команда будет отображаться каждую 1 секунду для отсчета пяти.

Для просмотра статистики ARC
Для просмотра статистики ARC

Таблица 23.1 кратко описывает столбцы в выходных данных.

Таблица 23.1 Описания столбцов arcstat
Таблица 23.1 Описания столбцов arcstat

read   всего ARC доступов / сек
miss   ARC промахов / секунду
miss%  ARC процент пропусков
dmis   количество пропущенных данных в секунду
dm%    процент пропущенных данных о спросе
pmis   предварительная выборка пропускает в секунду
pm%    процент пропущенных предварительных выборок
mmis   количество метаданных в секунду
mm%    процент пропущенных метаданных
arcsz  размер дуги
c arc  целевой размер

Чтобы получить сводную статистику, используйте:

Сводная статистика 01
Сводная статистика 01
Сводная статистика 02
Сводная статистика 02
Сводная статистика 03
Сводная статистика 03
Сводная статистика 04
Сводная статистика 04
Сводная статистика 05
Сводная статистика 05

При чтении настраиваемых значений 0 означает «нет», 1 обычно означает «да», а любое другое число представляет значение. Чтобы получить краткое описание значения «sysctl», используйте sysctl -d. Например:

sysctl -d vfs.zfs.zio.use_uma
vfs.zfs.zio.use_uma: Use uma(9) for ZIO allocations

Настраиваемые параметры ZFS требуют четкого понимания того, как работает ZFS, а это означает, что требуется чтение справочных страниц и поиск значения незнакомых сокращений. Не изменяйте значение настраиваемого параметра, предварительно не изучив его. Если переменная принимает числовое значение (а не 0 для no или 1 для yes), не создавайте его. Вместо этого изучите примеры полезных ценностей, соответствующих рабочей нагрузке.

Если какой-либо из параметров ZFS был изменен, продолжайте следить за системой, чтобы определить эффект от изменения. Рекомендуется сначала проверить изменения в командной строке с помощью sysctl. Например, чтобы отключить предварительную выборку (то есть изменить отключение на 1 или да):

sysctl vfs.zfs.prefetch_disable=1
vfs.zfs.prefetch_disable: 0 -> 1

На выходе будет указано старое значение, за которым следует новое значение. Если изменение не выгодно, верните его к первоначальному значению. Если изменение окажется полезным, его можно сделать постоянным, создав sysctl с помощью инструкций в Tunables.

tw_cli

FreeNAS включает утилиту командной строки tw_cli для предоставления контроллера, логического устройства и управления дисками для RAID-контроллеров AMCC/3ware ATA. Поддерживаемые модели перечислены в справочных страницах для twe (4) (https://www.freebsd.org/cgi/man.cgi?query=twe) и twa (4) (https://www.freebsd.org/cgi/man.cgi?query=twa) драйверы.

Перед использованием этой команды прочитайте ее справочную страницу (https://www.cyberciti.biz/files/tw_cli.8.html), так как она описывает терминологию и предоставляет некоторые примеры использования.

Когда tw_cli в Shell введен, приглашение изменится, указывая на то, что интерактивный режим включен, где могут выполняться все виды команд обслуживания на контроллере и его массивах.

Также можно указать одну команду для запуска. Например, для просмотра дисков в массиве:

Или, чтобы просмотреть журнал событий:

Если диски, добавленные в массив, не отображаются в веб-интерфейсе, попробуйте выполнить следующую команду:

tw_cli /c0 rescan

Используйте диски для создания модулей и экспорта их в операционную систему. Когда закончите, запустите camcontrol rescan all, чтобы сделать их доступными в веб-интерфейсе FreeNAS.

Этот пост на форуме (https://forums.freenas.org/index.php?threads/3ware-drive-monitoring.13835/) содержит удобный скрипт-обертку, который будет выдавать уведомления об ошибках.

MegaCli

MegaCli — это интерфейс командной строки для RAID-контроллеров семейства Broadcom: MegaRAID SAS. FreeNAS также включает утилиту mfiutil (8) (https://www.freebsd.org/cgi/man.cgi?query=mfiutil), которая может использоваться для настройки и управления подключенными устройствами хранения.

Команда MegaCli довольно сложна с несколькими десятками опций. Команды, показанные в листе аварийной ситуации (http://tools.rapidsoft.de/perc/perc-cheat-sheet.html), могут помочь вам начать работу.

freenas-debug

Веб-интерфейс FreeNAS предоставляет возможность сохранять информацию об отладке в текстовый файл, используя System -> Advanced -> Save Debug. Эта отладочная информация создается утилитой командной строки freenas-debug, а копия этой информации сохраняется в /var/tmp/fndebug.

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

freenas-debug
Usage: /usr/local/bin/freenas-debug <options>
Where options are:
-A Dump all debug information
-B Dump System Configuration Database
-C Dump SMB Configuration
-D Dump Domain Controller Configuration
-I Dump IPMI Configuration
-M Dump SATA DOMs Information
-N Dump NFS Configuration
-S Dump SMART Information
-T Loader Configuration Information
-Z Remove old debug information
-a Dump Active Directory Configuration
-c Dump (AD|LDAP) Cache
-e Email debug log to this comma-delimited list of email addresses
-f Dump AFP Configuration
-g Dump GEOM Configuration
-h Dump Hardware Configuration
-i Dump iSCSI Configuration
-j Dump Jail Information
-l Dump LDAP Configuration
-n Dump Network Configuration
-s Dump SSL Configuration
-t Dump System Information
-v Dump Boot System File Verification Status and Inconsistencies
-y Dump Sysctl Configuration
-z Dump ZFS Configuration

Индивидуальные тесты могут быть выполнены в одиночку. Например, при устранении неполадок в конфигурации Active Directory используйте:

freenas-debug -a

Чтобы собрать выходные данные каждого модуля, используйте -A:

freenas-debug -A

Для сбора отладочной информации об одном пуле используйте zdb с -U /data/zfs/zpool.cache, за которым следует имя пула:

zdb -U /data/zfs/zpool.cache pool1

Обратитесь к справочной странице zdb (8) (https://www.freebsd.org/cgi/man.cgi?query=zdb) для получения дополнительной информации.

tmux

tmux — это мультиплексор терминалов, который позволяет создавать, получать доступ и управлять несколькими терминалами с одного: экрана. tmux является альтернативой screen из GNU. Как и в случае с экраном, tmux можно отсоединить от экрана и продолжить работу в фоновом режиме, а затем снова подключить. В отличие от Shell, tmux предоставляет доступ к командной строке, в то же время предоставляя доступ к графическим экранам администрирования.

Чтобы начать сеанс, просто введите tmux. Как видно на рисунке 23.2, открывается новый сеанс с одним окном со строкой состояния в нижней части экрана. Эта строка показывает информацию о текущем сеансе и используется для ввода интерактивных команд.

Рисунок 23.2 Сессия tmux
Рисунок 23.2 Сессия tmux

Чтобы создать второе окно, нажмите Ctrl + b, а затем «. Чтобы закрыть окно, введите exit в этом окне.

tmux (1) (http://man.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/tmux.1?query=tmux) перечисляет все привязки клавиш и команды для взаимодействия с окнами tmux и сессии.

Если оболочка закрыта во время работы tmux, она отключит свой сеанс. В следующий раз, когда откроется Shell, запустите tmux attach, чтобы вернуться к предыдущему сеансу. Чтобы полностью выйти из сеанса tmux, введите exit. Если запущено несколько окон, необходимо сначала выйти из каждого.

Эти ресурсы предоставляют больше информации об использовании tmux:

  • Ускоренный курс tmux (https://robots.thoughtbot.com/a-tmux-crash-course)
  • TMUX — терминальный мультиплексор (http://blog.hawkhost.com/2010/06/28/tmux-the-terminal-multiplexer/)

Dmidecode

Dmidecode сообщает аппаратную информацию в соответствии с BIOS системы. Dmidecode не сканирует аппаратное обеспечение, а только сообщает то, что ему сказал BIOS. Пример вывода можно посмотреть здесь (http://www.nongnu.org/dmidecode/sample/dmidecode.txt).

Чтобы просмотреть отчет BIOS, введите команду без аргументов:

dmidecode | more

dmidecode (8) (https://linux.die.net/man/8/dmidecode) описывает поддерживаемые строки и типы.

Midnight Commander

Midnight Commander — это программа, используемая для управления файлами из оболочки. Откройте приложение, запустив mc. Клавиши со стрелками используются для навигации и выбора файлов. Функциональные клавиши используются для выполнения таких операций, как переименование, редактирование и копирование файлов. Эти ресурсы предоставляют больше информации об использовании Midnight Commander:

  • Википедия Midnight Commander (https://en.wikipedia.org/wiki/Midnight_Commander)
  • Веб-сайт Midnight Commander (https://midnight-commander.org/)
  • mc(1) (https://www.freebsd.org/cgi/man.cgi?query=mc)
  • Основное руководство (http://linuxcommand.org/lc3_adv_mc.php)
Поделись записью