По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Часто бывает, что на системе Linux произошла незапланированная или по неизвестным очевидным причинам, перезагрузка. Поиск и устранение первопричины может помочь предотвратить повторение таких проблем и избежать незапланированных простоев. Есть несколько способов выяснить, что вызвало перезагрузку. В этой статье мы обсудим эти способы и способы использования доступных утилит и журналов в системе Linux для устранения таких сценариев. Проверка времени перезагрузки Чтобы посмотреть, когда именно произошла перезагрузка системы можно воспользоваться командами who и last Проверка системных журналов Кроме того, можно сопоставить время перезагрузки, которую требуется диагностировать, с системными сообщениями. Для систем CentOS/RHEL журналы можно найти по адресу /var/log/messages, а для систем Ubuntu/Debian - по адресу /var/log/syslog. Для фильтрации или поиска конкретных данных можно использовать команду tail или любимый текстовый редактор. Как видно из приведенных ниже журналов, такие записи предполагают завершение работы или перезагрузку, инициированную администратором или пользователем root. Эти сообщения могут варьироваться в зависимости от типа ОС и способа запуска перезагрузки или завершения работы, но вы всегда найдете полезную информацию, просматривая системные журналы, хотя этого не всегда может быть достаточно, чтобы определить причину. Ниже приведена одна такая команда, которую можно использовать для фильтрации системных журналов: sudo grep -iv ': starting|kernel: .*: Power Button|watching system buttons|Stopped Cleaning Up|Started Crash recovery kernel' /var/log/messages /var/log/syslog /var/log/apcupsd* | grep -iw 'recover[a-z]*|power[a-z]*|shut[a-z ]*down|rsyslogd|ups' Зафиксированные события не всегда могут быть конкретными. Всегда отслеживайте события, которые дают признаки предупреждений или ошибок, которые могут привести к выключению или сбою системы. Проверка журнала auditd Для систем, использующих auditd – это отличное место для проверки различных событий с помощью инструмента ausearch. Используйте приведенную ниже команду для проверки последних двух записей из журналов аудита. $ sudo ausearch -i -m system_boot,system_shutdown | tail -4 Появится сообщение о двух последних остановках или перезагрузках. Если это сообщает о SYSTEM_SHUTDOWN, за которым следует SYSTEM_BOOT, все должно быть хорошо. Но, если он сообщает две строки SYSTEM_BOOT подряд или только одно сообщение SYSTEM_BOOT, то, скорее всего, система некорректно завершила работу. Вывод при нормальной работе должен быть примерно следующим: $ sudo ausearch -i -m system_boot,system_shutdown | tail -4 ---- type=SYSTEM_SHUTDOWN msg=audit(Saturday 13 February 2021 A.852:8) : pid=621 uid=root auid=unset ses=unset subj=system_u:system_r:init_t:s0 msg=' comm=systemd-update-utmp exe=/usr/lib/systemd/systemd-update-utmp hostname=? addr=? terminal=? res=success' ---- type=SYSTEM_BOOT msg=audit(Saturday 13 February 2021 A.368:8) : pid=622 uid=root auid=unset ses=unset subj=system_u:system_r:init_t:s0 msg=' comm=systemd-update-utmp exe=/usr/lib/systemd/systemd-update-utmp hostname=? addr=? terminal=? res=success' В приведенных ниже выходных данных перечислены два последовательных сообщения SYSTEM_BOOT, которые могут указывать на аварийное завершение работы, хотя результаты нужно скорректировать с данными системного журнала. $ sudo ausearch -i -m system_boot,system_shutdown | tail -4 ---- type=SYSTEM_BOOT msg=audit(Saturday 13 February 2021 A.852:8) : pid=621 uid=root auid=unset ses=unset subj=system_u:system_r:init_t:s0 msg=' comm=systemd-update-utmp exe=/usr/lib/systemd/systemd-update-utmp hostname=? addr=? terminal=? res=success' ---- type=SYSTEM_BOOT msg=audit(Saturday 13 February 2021 A.368:8) : pid=622 uid=root auid=unset ses=unset subj=system_u:system_r:init_t:s0 msg=' comm=systemd-update-utmp exe=/usr/lib/systemd/systemd-update-utmp hostname=? addr=? terminal=? res=success' Анализ журнала systemd Чтобы сохранить журнал системных логов на диске, необходимо иметь постоянный системный журнал, иначе логи будут очищаться при перезагрузке. Для этого можно либо внести изменения в /etc/systemd/journald.conf, либо создать каталог самостоятельно с помощью следующих команд: $ sudo mkdir /var/log/journal $ sudo systemd-tmpfiles --create --prefix /var/log/journal 2>/dev/null $ sudo systemctl -s SIGUSR1 kill systemd-journald После этого можно дополнительно перезагрузить систему для ввода нескольких записей перезагрузки в журнал, хотя это и не требуется. Приведенную ниже команда позволяет выводить список записанных событий о загрузке из журнала: $ journalctl --list-boots Вот его выходные данные на моем сервере: Как видно на рисунке, в системе есть несколько событий загрузки. Для дальнейшего анализа причины конкретной перезагрузки используйте: $ journalctl -b {num} –n Здесь {num} будет индексом, заданным в команде journalctl --list-boots в первом столбце. В приведенных выше выходных данных можно просмотреть сообщения, зарегистрированные в журнале, и отследить аномалии, если таковые имеются. Заключение Не всегда можно определить причину перезагрузки Linux с помощью одной команды или из одного файла журнала. Поэтому всегда удобно знать команды и журналы, которые фиксируют события, связанные с системой, и могут сократить время, необходимое для поиска первопричины. Приведенные выше примеры дают вам возможность начать поиск и устранение неисправностей. Используя комбинацию таких инструментов и журналов, вы можете быть уверены в том, что произошло и как перезагрузилась ваша система.
img
CURL это мощный инструмент командной строки, который позволяет тестировать различные API интерфейсы, отправлять данные на URL методом POST/GET и прочее. Как минимум для разработчика это необходимый инструмент. Если вам нужно протестировать CURL, а вы не хотите устанавливать Postman, например, то из терминала (командной строки) на MacOS можно лего инициировать CURL. В статье мы покажем несколько полезных примеров cURL и терминала. Отправка POST запрос через cURL Сделать POST легко: можно с данными, а можно и без них. Смотрите какой синтаксис использования: CURL запрос без дополнительных данных curl -X POST http://URL/test.php CURL запрос с дополнительными параметрами curl -d "data=test1data2=test2" http://URL/test.php CURL с передаче полей curl -X POST -F "name=diman" -F "password=test" http://URL/example.php CURL с передачей файла curl -X POST -F "image=@/path/pic.png" http://URL/testform.php Отправка CURL с JSON Ловите пример отправки JSON curl -H "Content-Type: application/json" -X POST -d '{"user":"sanya","pass":"qwerty"}' http://test/myscript.php Вам мало примеров? Если так, то вы легко можете изучить все возможности CURL в консоли: curl --help curl --manual Профит!
img
В этой статье рассмотрим как решить следующие неисправности: Вам не удаётся включить виртуальную машину При включении виртуальной машины происходит сбой Вы видите ошибку: An unexpected error was received from the ESX host while powering on VM . Reason: Cannot open the disk disk_name or one of the snapshot disks it depends on. Где причина одна из следующего: Reason: Failed to lock the file. Reason: The parent virtual disk has been modified since the child was created. Reason: The destination file system does not support large files. Reason: Could not open/create change tracking file. Reason: Cannot allocate memory. Reason: The file specified is not a virtual disk. Reason: Insufficient permission to access file. Решение Ошибка №1: не удалось заблокировать файл. Ошибка «не удалось заблокировать файл» означает, что файл открывается другим процессом и используемый Вами процесс не может открыть файл должным образом. Это обычно происходит, если Вы: Пытаетесь запустить вторую виртуальную машину, используя тот же .vmx файл конфигурации виртуальной машины. Включаете виртуальную машину с подключенными дисками с помощью утилиты vmware-mount. Пытаетесь включить виртуальную машину через пользовательский интерфейс во время операции снимка. Пытаетесь добавить виртуальный диск к виртуальной машине, которая уже используется. Ошибка №2: Родительский виртуальный диск был изменен с момента создания дочернего диска Данная ошибка возникает, когда снимки находятся в плохом состоянии, либо из-за ручного вмешательства, либо из-за сбоя системы. Ошибка №3: целевая файловая система не поддерживает большие файлы Данная проблема возникает, если размер блока целевого хранилища данных не поддерживает VMDK такого же размера, как исходный. Чтобы устранить данную проблему, убедитесь, что целевое хранилище данных отформатировано с размером блока, достаточным для поддержки файла VMDK исходной машины. Ошибка №4: не удалось открыть или создать файл отслеживания изменений Эта проблема может возникнуть, если файл filename-ctk.vmdk был создан ранее и не был очищен. Ошибка №5: не удается выделить память Данная проблема может возникнуть, если в модуле VMFS не хватает места в куче. Ошибка №6: указанный файл не является виртуальным диском Данная проблема может возникнуть, если файл дескриптора .vmdk поврежден или отсутствует. Чтобы решить данную проблему, создайте новый файл дескриптора .vmdk для этого диска, а затем отмените регистрацию и заново зарегистрируйте виртуальную машину. Это гарантирует, что клиент vSphere определит правильный размер диска и виртуальная машина включится правильно. Ошибка №7: недостаточно прав для доступа к файлу Данная проблема обычно наблюдается в виртуальных машинах, расположенных на хранилищах данных NFS. Данная проблема может возникнуть из-за проблем с разрешениями в хранилище данных NFS. Чтобы решить данную проблему, убедитесь, что хост имеет правильные разрешения на чтение / запись для доступа к экспорту NFS. Если в массиве хранения установлен параметр "Нет корневого квадрата" (No Root Squash), убедитесь, что данная опция включена, или обратитесь к администратору хранилища.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59