Балансировка нагрузки с Piranha+Pulse перестала работать после 'yum update'
Мы успешно используем систему балансировки нагрузки Piranha+Pulse в течение 15 месяцев в нашей системе CentOS 6. Мы используем его для балансировки нагрузки двух веб-серверов. Обратите внимание, что наши веб-серверы также являются нашими балансировщиками нагрузки, поэтому у нас есть два сервера в общей настройке.
Сегодня мы обновили CentOS 6.4 до 6.5 и обновили все пакеты. Мы просто сделали это, выполнив yum update
, После обновления импульс больше не запускается, поэтому балансировщик нагрузки не работает.
Один из обновленных пакетов был piranha, который был обновлен с piranha-0.8.5-19.el6.x86_64
в piranha-0.8.6-2.el6_4.1.x86_64
, Проблема также может быть вызвана обновленной зависимостью, кто знает. Было сделано много обновлений.
На данный момент есть два варианта: либо проблема должна быть исправлена с новым пакетом, либо мы должны вернуться к старому пакету. Любая помощь в достижении этого очень ценится.
Что я узнал о пульсе
Когда импульс запускается, он продолжает работать в течение нескольких секунд, а затем он падает. service pulse status
затем показывает pulse dead but pid file exists
,
Это то, что /var/log/messages
говорит при попытке запуска пульса:
Jan 8 13:12:25 XXX pulse[14028]: STARTING PULSE AS BACKUP
Jan 8 13:12:25 XXX pulse[14028]: Skipping death of unknown child 14029
Jan 8 13:12:26 XXX ntpd[9119]: Listen normally on 12 lo:1:0 xx.xx.xx.xx UDP 123
Jan 8 13:12:26 XXX ntpd[9119]: peers refreshed
Jan 8 13:12:31 XXX pulse[14028]: partner dead: activating lvs
Jan 8 13:12:31 XXX pulse[14028]: Error waiting for semaphore: Interrupted system call
Jan 8 13:12:32 XXX ntpd[9119]: Deleting interface #12 lo:1:0, xx.xx.xx.xx#123, interface stats: received=0, sent=0, dropped=0, active_time=6 secs
Jan 8 13:12:32 XXX ntpd[9119]: peers refreshed
Я обнаружил, что у кого-то есть похожая проблема: https://www.centos.org/forums/viewtopic.php?f=13&t=44198. У меня немного другое сообщение об ошибке (Interrupted system call
вместо Permission denied
). Предложенный ответ не работает для меня, к сожалению. Я все еще получаю ту же ошибку.
Что я пробовал с ням
yum history list piranha
показывает следующее:
Loaded plugins: fastestmirror, security
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
19 | <yy> | 2014-01-08 11:39 | I, U | 184 EE
15 | <yy> | 2013-05-22 11:00 | I, O, U | 254 EE
11 | <yy> | 2012-10-18 16:37 | Install | 2
history list
Я не могу опубликовать полный вывод yum history info 19
потому что содержание слишком длинное для этого поста.
yum downgrade piranha
терпит неудачу:
Loaded plugins: fastestmirror, security
Setting up Downgrade Process
Loading mirror speeds from cached hostfile
* base: mirror.nl.leaseweb.net
* extras: centos.mirror.transip.nl
* updates: mirror.nl.leaseweb.net
Only Upgrade available on package: piranha-0.8.6-4.el6.x86_64
Nothing to do
Я пытался отменить последнее обновление с yum history undo 19
а также yum history rollback 18
, Если я это сделаю, я получу следующие ошибки:
Error: Depsolving loop limit reached.
Error: Package: yum-3.2.29-40.el6.centos.noarch (base)
Requires: python(abi) = 2.6
Removing: python-2.6.6-51.el6.x86_64 (@base)
python(abi) = 2.6
Error: Package: yum-3.2.29-40.el6.centos.noarch (base)
Requires: python-urlgrabber >= 3.9.0-8
Removing: python-urlgrabber-3.9.1-9.el6.noarch (@base)
python-urlgrabber = 3.9.1-9.el6
Error: Package: yum-3.2.29-40.el6.centos.noarch (base)
Requires: yum-metadata-parser >= 1.1.0
Removing: yum-metadata-parser-1.1.2-16.el6.x86_64 (@anaconda-CentOS-201111250358.x86_64/6.3)
yum-metadata-parser = 1.1.2-16.el6
Error: Package: yum-3.2.29-40.el6.centos.noarch (base)
Requires: python-iniparse
Removing: python-iniparse-0.3.1-2.1.el6.noarch (@anaconda-CentOS-201111250358.x86_64/6.3)
python-iniparse = 0.3.1-2.1.el6
Error: Package: yum-3.2.29-40.el6.centos.noarch (base)
Requires: pygpgme
Removing: pygpgme-0.1-18.20090824bzr68.el6.x86_64 (@anaconda-CentOS-201111250358.x86_64/6.3)
pygpgme = 0.1-18.20090824bzr68.el6
Error: Package: yum-3.2.29-40.el6.centos.noarch (base)
Requires: python >= 2.4
Removing: python-2.6.6-51.el6.x86_64 (@base)
python = 2.6.6-51.el6
Error: Package: yum-3.2.29-40.el6.centos.noarch (base)
Requires: rpm-python
Removing: rpm-python-4.8.0-37.el6.x86_64 (@base)
rpm-python = 4.8.0-37.el6
Error: Package: yum-3.2.29-40.el6.centos.noarch (base)
Requires: rpm >= 4.4.2
Removing: rpm-4.8.0-37.el6.x86_64 (@base)
rpm = 4.8.0-37.el6
Error: Package: yum-3.2.29-40.el6.centos.noarch (base)
Requires: /usr/bin/python
Removing: python-2.6.6-51.el6.x86_64 (@base)
Not found
Error: Package: yum-3.2.29-40.el6.centos.noarch (base)
Requires: python-sqlite
Removing: python-2.6.6-51.el6.x86_64 (@base)
python-sqlite = 2.3.2
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Про пиранью этот скрипт говорит (выходной канал grep piranha
):
Updated piranha-0.8.6-2.el6_4.1.x86_64 @updates
--> Processing Dependency: initscripts for package: piranha-0.8.6-4.el6.x86_64
--> Processing Dependency: initscripts for package: piranha-0.8.6-4.el6.x86_64
---> Package piranha.x86_64 0:0.8.6-4.el6 will be erased
Когда я использую --skip-broken
как предложено, я все еще получаю ошибку, и пиранья все еще не понижена. Я получаю следующую ошибку:
Packages skipped because of dependency problems:
yum-3.2.29-40.el6.centos.noarch from base
Error: Trying to remove "yum", which is protected
You could try running: rpm -Va --nofiles --nodigest
Обновить
У нас был контакт с RedHat, и это, вероятно, ошибка. У них есть возможное исправление, но RedHat не может воспроизвести его, поэтому они не могут проверить его в данный момент. Я предложил отправить нам возможное исправление, чтобы мы могли попробовать его. Еще не слышал от них.
В настоящее время мы сами управляем балансировкой нагрузки через lvsd. Это не оптимальное решение, но пока подойдет.
1 ответ
Вы можете использовать ID отмены истории yum, где ID - это идентификатор транзакции.
в твоем случае yum history undo 19