Мы часто пишем о виртуальном модуле VMware vCenter Server Appliance (vCSA), который представляет собой готовую виртуальную машину для управления виртуальной инфраструктурой VMware vSphere (напомним, что это полноценная замена vCenter for Windows).
Сегодня мы покажем несколько интересных утилит командной строки vCSA, которые могут помочь вам в ежедневной эксплуатации этого управляющего сервиса.
1. Просмотр журнала Cron.
vCSA имел раньше проблемы со сжатием фалов журнала (логов), что приводило к тому, что дисковые разделы быстро заполнялись. Поэтому следующей командой можно посмотреть, когда в последний раз выполнялись запланированные задачи Cron:
ls -l /var/spool/cron/lastrun/
Для сравнения ниже приведен вывод этой команды совместно с выводом текущей даты:
vc:~ # date
Mon Dec 4 12:55:39 CET 2017
vc:~ # ls -l /var/spool/cron/lastrun/
total 0
-rw------- 1 root root 0 Dec 3 20:00 cron.daily
-rw------- 1 root root 0 Dec 4 12:15 cron.hourly
-rw------- 1 root root 0 Dec 1 20:00 cron.weekly
Как мы видим, крон успешно выполнялся для ежечасной задачи, ежедневной и еженедельной. Если же крон отвалился, то значит, скорее всего, устарел пароль root. Узнать это можно следующей командой:
grep "Authentication token is no longer valid; new one required" /var/log/messages.0.log | head
Если в выводе этой команды будет что-то вроде этого:
<timestamp> vcenter /usr/sbin/cron[<ID>]: Authentication token is no longer valid; new one required
значит пароль root устарел.
2. Смена устаревшего пароля root.
Если ваш пароль root устарел, и крон-таски vCSA не запускаются, то сменить его проще всего будет следующей командой (обратите внимание, что это НЕ слово change):
chage -l root
У вас запросят старый пароль и попросят задать новый:
Password change requested. Choose a new password.
Old Password:
New password:
После этого можно снова вывести срок действия пароля с помощью chage (тут видно, что он устареет через 99999 дней, то есть 274 года):
vc:~ # chage -l root
Minimum: 0
Maximum: 99999
Warning: 7
Inactive: -1
Last Change: Dec 27, 2016
Password Expires: Never
Password Inactive: Never
Account Expires: Never
3. Перезапуск служб vCSA.
Если вы хотите поправить странное поведение vCSA, которое может быть связано с некорректным поведением сервисов Linux внутри виртуального модуля, то можно перезапустить все службы:
Можно перезапустить, например, только vSphere Client:
service-control --stop vsphere-client
Список запущенных служб узнается так:
service-control --list
А вот так узнается статус того или иного сервиса:
service-control --status
4. Работа с LVM
Если вам надо увеличить виртуальные диски VMDK, а потом расширить тома LVM, то можете прочитать вот эту нашу статью. Чтобы не использовать API Explorer или PowerCLI, можно выполнить следующую команду для просмотра томов LVM:
Для идентификации дисковых устройств и их типов можно выполнить следующее:
lsscsi
Вывод будет примерно таков:
vc:~ # lsscsi
[0:0:0:0] disk VMware Virtual disk 1.0 /dev/sda
[0:0:1:0] disk VMware Virtual disk 1.0 /dev/sdb
[0:0:2:0] disk VMware Virtual disk 1.0 /dev/sdc
[0:0:3:0] disk VMware Virtual disk 1.0 /dev/sdd
[0:0:4:0] disk VMware Virtual disk 1.0 /dev/sde
[0:0:5:0] disk VMware Virtual disk 1.0 /dev/sdf
[0:0:6:0] disk VMware Virtual disk 1.0 /dev/sdg
[0:0:8:0] disk VMware Virtual disk 1.0 /dev/sdh
[0:0:10:0] disk VMware Virtual disk 1.0 /dev/sdi
[0:0:12:0] disk VMware Virtual disk 1.0 /dev/sdj
[0:0:14:0] disk VMware Virtual disk 1.0 /dev/sdk
[1:0:0:0] cd/dvd NECVMWar VMware IDE CDR00 1.00 /dev/sr0
Когда вы поймете, какой том нужно увеличить, выполните команду:
vpxd_servicecfg storage lvm autogrow
Надо помнить, что это сработает только для томов под управлением LVM (например, для disk 1 (sda) с разделом / - не сработает).
5. Поиск "загрязняющих" файлов.
Чтобы найти логи, которые могут засорить корневой раздел или раздел /storage/log, выполните одну из следующих команд:
du -a /var | sort -n -r | head -n 10
du -a /storage/log | sort -n -r | head -n 10
6. Изменение режима ротации логов (Log Rotation).
Сначала перейдем в папку с логами:
cd /etc/logrotate.d
Далее сделаем бэкап настроек:
cp dnsmasq ./dnsmasq.old
Затем откроем настройки:
vi dnsmasq
И поменяем слово "weekly" (еженедельно) на "daily" (ежедневно), например:
После этого можно удалить старый большой лог следующими командами:
cd /var/log
rm dnsmasq.log
7. Удаление файлов, которые не удалились.
Бывает так, что вы удалили большой файл, а дисковое пространство не высвободилось - и это видно командой df -h. Это происходит потому, что какой-то из процессов в памяти еще держит файл (при этом не обязательно использует его). Чтобы узнать, что это за процесс выполняем команду: