У меня есть простой двухузловой кластер CentOS на основе DRBD, Corosync и KVM.
Когда я пытаюсь обновить его пакеты через yum, он выдает что-то вроде
Updating:
clusterlib x86_64 3.0.12.1-23.el6_2.1 updates 94 k
corosync x86_64 1.4.1-4.el6_2.3 updates 188 k
corosynclib x86_64 1.4.1-4.el6_2.3 updates 171 k
drbd83-utils x86_64 8.3.13-1.el6.elrepo elrepo 223 k
glibc x86_64 2.12-1.47.el6_2.12 updates 3.8 M
glibc-common x86_64 2.12-1.47.el6_2.12 updates 14 M
kernel-firmware noarch 2.6.32-220.23.1.el6 updates 6.3 M
kernel-headers x86_64 2.6.32-220.23.1.el6 updates 1.6 M
kmod-drbd83 x86_64 8.3.13-1.el6.elrepo elrepo 174 k
libvirt x86_64 0.9.4-23.el6_2.9 updates 1.5 M
libvirt-client x86_64 0.9.4-23.el6_2.9 updates 2.8 M
libvirt-python x86_64 0.9.4-23.el6_2.9 updates 308 k
matahari x86_64 0.4.4-12.el6_2 updates 18 k
matahari-agent-lib x86_64 0.4.4-12.el6_2 updates 40 k
matahari-broker x86_64 0.4.4-12.el6_2 updates 25 k
matahari-host x86_64 0.4.4-12.el6_2 updates 43 k
matahari-lib x86_64 0.4.4-12.el6_2 updates 43 k
matahari-network x86_64 0.4.4-12.el6_2 updates 36 k
matahari-service x86_64 0.4.4-12.el6_2 updates 51 k
matahari-sysconfig x86_64 0.4.4-12.el6_2 updates 32 k
qemu-img x86_64 2:0.12.1.2-2.209.el6_2.5 updates 338 k
qemu-kvm x86_64 2:0.12.1.2-2.209.el6_2.5 updates 1.2 M
qpid-cpp-client x86_64 0.14-14.el6_2 updates 996 k
qpid-cpp-client-ssl x86_64 0.14-14.el6_2 updates 106 k
qpid-cpp-server x86_64 0.14-14.el6_2 updates 990 k
qpid-cpp-server-ssl x86_64 0.14-14.el6_2 updates 58 k
qpid-qmf x86_64 0.14-7.el6_2 updates 410 k
Как узнать, повлечет ли обновление определенного пакета какой-либо простой? (Например, потребуется перезагрузка виртуальной машины или всей машины)
решение1
Перезапуск службы практически всегда требуется после обновления указанной службы.
Если вы спрашиваете, выполняется ли этот перезапуск автоматически yum во время обновления, то нет гарантированного способа узнать это (кроме извлечения скриптов RPM preinstall/postinstall каждого пакета). Скрипт RPM preinstall/postinstall может делать все, что захочет.
Лучшей практикой всегда должно быть наличие сред разработки/тестирования, которые отражают производство, чтобы вы могли сначала выполнить такие тесты в этих средах.
Это не только хорошо для определения того, приведет ли обновление пакета к перезапуску службы, но и позволит вам обнаружить любые несовместимости или проблемы, которые могут возникнуть до перехода в производство.
решение2
kmod-drbd83
ваш DRBD-Kernel-module. Если это обновление должно быть активным, вам придется выгрузить его (т.е. остановить drbd). Это будет означать простой drbd.
После обновления glibc вам также следует перезагрузить компьютер.
Поэтому переключите или отключите все службы, установите обновления, перезагрузите систему и верните их в исходное состояние.
решение3
Если вы не меняли вручную репозитории, то можно безопасно установить эти обновления. Для простоя, перед установкой, yum сообщит вам об этом. Или, по крайней мере, после установки, он спросит вас, что делать
решение4
В большинстве случаев вам не придется перезагружать сервер, но вместо этого служба будет перезапущена в процессе обновления. При этом, глядя на ваш список обновлений, я вижу, что у вас есть обновления ядра, которые почти всегда требуют перезагрузки сервера для загрузки нового ядра.