В этой статье мы расскажем как исправить ошибку «System logs are stored on non-persistent storage» (Ваши события не будут сохранены при отключении сервера) в VMware ESXi
Решение
Проверка местоположения системных событий в vSphere Client (HTML5)
- В навигаторе vSphere Client выберите Hosts and Clusters view.
- Выберите хост-объект в навигаторе vSphere Client.
- Нажмите на вкладку Configure, затем System expander.
- В разделе System выберите Advanced System Settings.
- Убедитесь в том, что параметр Syslog.global.logDir в качестве местонахождения указывает постоянное хранилище.
- Если поле Syslog.global.logDir пустое или указывает на scratch partition, убедитесь, что поле ScratchConfig.CurrentScratchLocation в качестве местонахождения указывает постоянное хранилище.
- Если папка используется в качестве хранилища scratch, которое является общим для большого количества ESXi хостов, вам также необходимо установить поле Syslog.global.logDirUnique,чтобы избежать конкуренции лог-файлов.
Примечание: Чтобы войти в datastore, запись Syslog.global.logDir должна быть в формате
Версии ESXi 6.5, 6.7 и выше реагируют на изменения незамедлительно. Более старым версиям для этого может потребоваться перезагрузка.[Datastorename]/foldername
. Чтобы войти в scratch partition в ScratchConfig.CurrentScratchLocation введите пустой формат или[]/foldername
.
Проверка местоположения системных событий в vSphere Web Client
- Перейдите к хосту в навигаторе vSphere Web Client.
- Нажмите вкладку Manage, затем Settings.
- В разделе System выберите Advanced System Settings.
- Убедитесь в том, что параметр Syslog.global.logDir в качестве местонахождения указывает постоянное хранилище.
- Если поле Syslog.global.logDir пустое или указывает на scratch partition, убедитесь, что поле ScratchConfig.CurrentScratchLocation в качестве местонахождения указывает постоянное хранилище.
- Если папка используется в качестве хранилища scratch, которое является общим для большого количества ESXi хостов, вам также необходимо установить поле Syslog.global.logDirUnique,чтобы избежать конкуренции лог-файлов.
Проверка местоположения системных событий в vSphere Client (vSphere 6.0 и более ранние версии)
- В программе vSphere Client выберите хост на инвентарной панели.
- Нажмите на вкладку Configuration, затем – на Advanced Settings в разделе Software.
- Убедитесь в том, что параметр Syslog.global.logDir в качестве местонахождения указывает постоянное хранилище. У каталога должны быть название и путь к хранилищу данных
[datastorename] path_to_file
. Например,[datastore1] /systemlogs
. - Если поле Syslog.global.logDir пустое или указывает scratch partition в качестве хранилища, убедитесь, что поле ScratchConfig.CurrentScratchLocation указывает в качестве местонахождения постоянное хранилище.
Дополнительная информация
Если вы видите, что работающий хост сохраняет информацию в хранилище scratch в формате >UUID (/vmfs/volumes/xxxxxxxx-xxxxxxxx-xxxx-xxxxxxxxxxxx/foldername)
и хотите, чтобы имя «friendly» отобразилось в вашем vCenter или host client view, вы можете:
- Подключиться к рабочему хосту через сеанс SSH и войти в систему с учетными данными root
Использовать команду:
# esxcli storage filesystem list
. Выход будет приблизительно таким:/vmfs/volumes/ad495351-37d00fe1-c498-a82a72e0c050 abc-lun3 ad495351-37d00fe1-c498-a82a72e0c050 true VMFS-5 805037932544 400613703680
В этом примере
abc-lun3
– это имя «friendly» хранилища данных, которое вы найдете в вашем vCenter или host client, и запись Syslog.global.logDir должна быть в формате[abc-lun3]/foldername
.