LINUX.ORG.RU

Сообщения dmnord

 

pacemaker: как узнать состояние конкретного ресурса на нужной ноде?

Форум — Admin

Добрый день!

Есть необходимость узнавать состояние ресурса, чтобы после на основании полученного результата запускать зависимый сервис, который должен запускаться без участия pacemaker.

Идея в следющем, проверять состояние ресурса в файле сервиса systemd в директиве PreStart. При удачной проверке запускать сервис!

Существует команда pcs resources show, которая выдает полный список ресурсов кластера, а вот узнать состояние требуемого ресурса на текущей ноде не представляется возможность, как я понял.

Может кто-то подскажет как можно это сделать! А то уже не знаю как гуглить))

 

dmnord
()

pacemaker: как убрать запуск клона ресурса без его предварительного останова

Форум — Admin

Доброго времени суток!

Настраиваю с помощью клонов независимые ресурсы на Pacemaker, которые работают на разных нодах.

Они запускают и работают, только есть одна не очень маленькая проблема!

При перезагрузке одной из нод кластера, клон ресурса перезагружаемой ноды помечается как Stopped. Все нормально! Только вот когда нода запустилась и пришло время ресурсу запуститься, клоны данного ресурса на других работающих нодах также выключаются, а после снова запускаются совместно друг с другом!

Все бы ничего, если бы не прописал order для последовательного запуска зависымых ресурсов и его клонов. И получается что все ресурсы кластера последовательно и веерно выключаются и включаются заново! :(

pcs resource create clvm ocf:heartbeat:clvm \
  op start start-delay="2s" interval="10s" timeout="5s" on-fail=restart \
  op stop  start-delay="2s" interval="10s" timeout="5s" on-fail=restart \
  op monitor interval="10s" timeout="10s" on-fail=restart 

pcs resource clone clvm interleave=true ordered=false clone-max=2 clone-node-max=1 globally-unique=true target-role=Started

pcs constraint colocation add clvm-clone with dlm-clone
pcs constraint order start dlm-clone then clvm-clone

pcs constraint location clvm-clone prefers node01.infra.local=INFINITY
pcs constraint location clvm-clone prefers node02.infra.local=INFINITY

 ,

dmnord
()

Помогите в выборе решения для кластера postgresql

Форум — Admin

Доброго времени суток!

Хотел бы задать вопрос, который уже неоднократно тут поднимался, но все же.

Есть задача поднять PostgreSQL-кластер.

Мульти-мастер не рассматриваю, так как везде пишут, что это не совсем стабильное решение. Хотя возможно что-то изменилось в данный момент.

Хотелось бы настроить для теста трех-узловой кластер в режиме Active/Standby. Возможно ли такое, так чтобы Stanby-серверов было 2? Как я понимаю, реализуется это через pg_pool-II.

Я новичок в postgres и потому все время с оглядкой смотрю на mariadb с её galera.

Честно, совсем не представляю себе вообще какую реализацию репликации выбрать.

Смотрел в сторону postgresql-xl и citus, но пока не разбирался с ними основательно. И стоит ли разбираться с ними вообще?

 ,

dmnord
()

Правильный OCF-ресурс для DRBD 9.8.x

Форум — Admin

Добрый день!

Пытаюсь средствами Pacemaker в конфигурации Master/Slave развернуть ресурс DRBD (ocf:linbit:drbd).
Версия drbd 9.8.7 (последняя, взятая с сайта drbd.org), OCF-скрипт ресурса для pacemaker взят из архива drbd.

Ресурс создается, но при этом во время запуска сразу помечается как FAILED.
При ручном запуске параметром debug-start вываливается куча ошибок.

Пытаюсь поднять трех-узловой кластер, а не двух, а потому ресурс ругается на то что я требую от него запускать 3 клона, а не ожидаемые 2.
Маленькая правка скрипта drbd вручную (исправляю ограничение meta_expect clone-max 2 на 3), валится огромное количество мусора в котором присутсвуют ошибки синтаксиса.

Кто уже работал с данной версией DRBD, используя его в Pacemaker?
Как заставить сие работать?
Может есть исправленный рабочий OCF-скрипт для drbd?

 ,

dmnord
()

corosync: разделение узлов кластера на группы (???)

Форум — Admin

Добрый день!

Есть 5 серверов с установленных CentOS7.
Требуется на этих пяти серверах развернуть базу данных MariaDB Galera (отдав под нее 3 сервера из 5), веб-сервера Nginx также займут 3 сервера из 5.
Ко всему, есть еще пару сервисов которым нужен отдельный VIP, эти сервисы также планируется распределить равномерно по кластеру.
Возникает несколько вопросов:
1) Каким образом можно разделит узлы кластера corosync на группы?
2) Учитывая первый вопрос как настраивать quorum в кластере?
Возможно ли вообще такое? Почитав документацию, я немного приуныл.

 ,

dmnord
()

Компиляция с sysroot для armv7hf (линковка библиотек ncurses)

Форум — Development

При сборке кода командой:

/opt/cross/arm-cortexa7hf-linux-gnueabi/bin/arm-cortexa7hf-linux-gnueabi-gcc -o test-bin -ltinfo test.c
Выдается следующая ошибка:
In file included from /opt/cross/arm-cortexa7hf-linux-gnueabi/arm-cortexa7hf-linux-gnueabi/sysroot/usr/include/endian.h:60:0,
                 from /opt/cross/arm-cortexa7hf-linux-gnueabi/arm-cortexa7hf-linux-gnueabi/sysroot/usr/include/sys/types.h:216,
                 from /opt/cross/arm-cortexa7hf-linux-gnueabi/arm-cortexa7hf-linux-gnueabi/sysroot/usr/include/termcap.h:49,
                 from test3.c:517:
/opt/cross/arm-cortexa7hf-linux-gnueabi/arm-cortexa7hf-linux-gnueabi/sysroot/usr/include/bits/byteswap.h: In function 'main':
/opt/cross/arm-cortexa7hf-linux-gnueabi/arm-cortexa7hf-linux-gnueabi/sysroot/usr/include/bits/byteswap.h:44:1: error: invalid storage class for function '__bswap_32'
 __bswap_32 (unsigned int __bsx)
 ^
/opt/cross/arm-cortexa7hf-linux-gnueabi/arm-cortexa7hf-linux-gnueabi/sysroot/usr/include/bits/byteswap.h:75:1: error: invalid storage class for function '__bswap_64'
 __bswap_64 (__uint64_t __bsx)
 ^
Подскажите, по какой причине это происходит?
У меня по этой причине ни одна утилита/библиотека не собирается с поддержкой ncurses.

 , ,

dmnord
()

Смена доменного пароля на Samba Workstation. Как?

Форум — Admin

Есть задача ввести с десяток виртуальных linux-машин в домен Active Directory. Заказчик хочет Ubuntu Desktop.

Настроил Kerberos, Winbind, lib{pam,nss}-winbind.
Сделал и настроил так, как написано во многих статьях, которые описывают процесс настройки Linux с авторизацией на основе учетных записей AD.
Запустил `pam-auth-update`, получил дефолтные конфиги pam.

В итоге имею следующее:

  • Получается зайти учеткой AD на рабочей станции локально, по ssh и графическую консоль.
  • Команды `wbinfo {-p,-t,-u,g}` отрабатываю, выводя свой контент, как положено.

Вроде, чего ещё нужно?

А нужно:

  • Менять пароль доменному пользователю.
    Команда `smbpasswd <aduser>` выдает сообщение Failed to find entry for user <aduser>.
    Когда создаю пользователя локально с аналогичным именем командой pdbedit, то при смене пароля меняется только локальный пароль, на сервере остается прежний пароль.
    Также пробовал менять пароль командой `passwd <aduser>`, но тут тоже ошибка - Authentication token manipulation error. Как я понял, тут не правильно отрабатывает PAM
  • Динамически маштабировать экран виртуальной машины (для этого используется spice). Провел пару тестов и оказалось, что экран маштабируется только у локальных залогинившихся пользователей. Полагаю (возможно ошибочно), что происходит это из-за того что, `getent shadow` не выдает доменных пользователей AD. А не выдает как раз-таки потому, что в nsswitch.conf это не прописано, хотя если и прописать, то складывается та же картина.

 ,

dmnord
()

Неправильная сборка кросс-компилятора под thumb2 (armv7)

Форум — Development

Собрал своими силами toolchain для кросс-компиляции под Cortex-A7 (armv7-a). Думаю собрать собственную сборку дистрибьютива под Cubietruck, который использует hard fpu (аппаратную обработку операций с плавающей точкой).

Первая и вторая стадии компиляции gcc проходят без ошибок, аналогично собирается glibc с помощью gcc первой стадии.

Компиляторам на этапе сборки передаются явно параметры:

--with-arch=armv7-a --with-tune=cortex-a7 --with-float=hard --with-abi=aapcs-linux --with-fpu=neon-vfpv4 --with-mode=thumb"
с помощью которых, как я полагаю, должен генерироваться код инструкций thumb2. Также на этапе сборки glibc передаю те же параметры через:
CFLAGS="-march=armv7-a -mtune=cortex-a7 -mfloat-abi=hard -mabi=aapcs-linux -mfpu=neon-vfpv4 -mthumb -O2 -Wa,-mthumb -Wa,-mimplicit-it=thumb"
В итоге, собирая этим toolchain'ом библиотеку gmp выдается ошибка вида:
In file included from /opt/cross/tools/arm-cortexa7hf-linux-gnueabi/include/features.h:389:0,
                 from /opt/cross/tools/arm-cortexa7hf-linux-gnueabi/include/stdio.h:27,
                 from ./gmp-6.0.0/gen-fac.c:31:
/opt/cross/tools/arm-cortexa7hf-linux-gnueabi/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
compilation terminated.
In file included from /opt/cross/tools/arm-cortexa7hf-linux-gnueabi/include/features.h:389:0,
                 from /opt/cross/tools/arm-cortexa7hf-linux-gnueabi/include/stdio.h:27,
                 from ./gmp-6.0.0/gen-fib.c:31:
/opt/cross/tools/arm-cortexa7hf-linux-gnueabi/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
make: *** [gen-fac] Error 1
make: *** Waiting for unfinished jobs....
compilation terminated.
In file included from /opt/cross/tools/arm-cortexa7hf-linux-gnueabi/include/features.h:389:0,
                 from /opt/cross/tools/arm-cortexa7hf-linux-gnueabi/include/assert.h:35,
                 from ./gmp-6.0.0/mini-gmp/mini-gmp.c:44,
                 from ./gmp-6.0.0/bootstrap.c:32,
                 from ./gmp-6.0.0/gen-bases.c:32:
/opt/cross/tools/arm-cortexa7hf-linux-gnueabi/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
compilation terminated.
make: *** [gen-fib] Error 1
make: *** [gen-bases] Error 1
In file included from /opt/cross/tools/arm-cortexa7hf-linux-gnueabi/include/features.h:389:0,
                 from /opt/cross/tools/arm-cortexa7hf-linux-gnueabi/include/stdlib.h:24,
                 from ./gmp-6.0.0/gen-trialdivtab.c:48:
/opt/cross/tools/arm-cortexa7hf-linux-gnueabi/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
compilation terminated.
make: *** [gen-trialdivtab] Error 1

Ранее, экспериментировав с различными параметрами, обнаружил следующее:

  • Без указания float-abi=hard генерируется как раз таки soft float point.
  • Явно генерируется thumb1, а не thumb2, хотя ассеблеру я передаю -mimplicit-it=thumb, что по различной документации требуется для генерации именно thumb2.

Что идет не так? Подскажите, кто знает, как генерировать правильно код thumb2.
Я делаю что-то не так или gcc об этом не знает.

По определению armv7-a и cortex-a7 - это обязательно thumb2 и возможность использования hard float point.

 , , ,

dmnord
()

CLVM на Fedora

Форум — Admin

Добрый день!

Есть необходимость настроить clvm, чтобы расшарить LVM-тома на трех серверах! Используется дистрибьютив Fedora 21 (взял последнюю версию дистрибьютива для развертывания новой среды) До кластера дело не дошло потому как не могу управится с первой нодой.

Установил yum'ом следующий пакет lvm2-cluster с зависимостями dlm, corosync, также установлен пакет kenel-modules-extra в котором упакован модуль dlm.

В итоге имею следующее:

[root@vdisk00 ~]# corosync-quorumtool 
Quorum information
------------------
Date:             Fri Feb 27 13:55:49 2015
Quorum provider:  corosync_votequorum
Nodes:            1
Node ID:          1
Ring ID:          28
Quorate:          Yes

Votequorum information
----------------------
Expected votes:   1
Highest expected: 1
Total votes:      1
Quorum:           1  
Flags:            Quorate 

Membership information
----------------------
    Nodeid      Votes Name
         1          1 10.24.9.3 (local)
[root@vdisk00 ~]#
[root@vdisk00 ~]# dlm_tool status
cluster nodeid 1 quorate 1 ring seq 28 28
daemon now 9452 fence_pid 0 fence_init
fence 2 startup pid 0 actor 0 fail 1425014549 fence 0 now 1425023884
fence 3 startup pid 0 actor 0 fail 1425014549 fence 0 now 1425023884
node 1 M add 118 rem 0 fail 0 fence 0 at 0 0
node 2 X add 0 rem 0 fail 117 fence 0 at 0 0
node 3 X add 0 rem 0 fail 117 fence 0 at 0 0
[root@vdisk00 ~]#
[root@vdisk00 ~]# netstat -tunlp | grep corosync
udp        0      0 10.24.9.3:5404          0.0.0.0:*                           1691/corosync       
udp        0      0 10.24.9.3:5405          0.0.0.0:*                           1691/corosync       
udp        0      0 239.255.1.1:5405        0.0.0.0:*                           1691/corosync       
[root@vdisk00 ~]#

В итоге при запуске clvmd в логах выдается следующее:

vdisk00.example.com kernel: dlm: clvmd: group event done -512 0
vdisk00.example.com kernel: dlm: clvmd: group join failed -512 0
vdisk00.example.com kernel: dlm: Using TCP for communications
vdisk00.example.com dlm_controld[1707]: 10785 process_uevent online@ error -17 errno 11
vdisk00.example.com kernel: dlm: clvmd: joining the lockspace group...
vdisk00.example.com kernel: dlm_controld[1707]: 11188 clvmd wait for fencing

В итоге clvmd виснет! strace при этом пишет, что файла /dev/misc/dlm_clvmd не существует. Какими средствами его создать ума не приложу.

Поисковики гордо молчат, выдавая устаревшую информацию большой давности, либо выдают совершенно не то.

Вижу что доделано не до конца, но что сделать дальшe не знаю!

 ,

dmnord
()

Проблема с запуском OpenNebula на разных серверах

Форум — Admin

Добрый день!

Установил oned, sunstone и oneflow на разных серверах.

Во время запуска sunstone проблем в логах не выдает, но при к обращении к вкладкам относящихся к oneflow в логах сыпятся сообщения Connection refused to http://localhost:6344/ (это сервис oned), а на веб-странице уведомление Cannot to connect to OneFlow Server.

Версия 4.10.2
Собрал rpm-пакеты я, правда, из собственного spec-файла, который оттачивал примерно неделю изучая модули для ruby и документацию на оф.сайте.

Кто сталкивался с OpenNebula по возможности, помогите пожалуйста.

Могу скинуть логи для уточнения...

 

dmnord
()

Squid+SSL_Bump+Google-Почта

Форум — Admin

Доброго времени суток!

Тема уже обсуждалась ранее на форуме, много чего про это есть, но вот для себя я так ничего в существующих темах форума так и не подчерпнул. В инете искал.

Сегодня я наконец-то дошел мозгами до того, как заставить работать SSL_Bump на сквиде для фильтрации HTTPS-трафика. Использовал статью http://habrahabr.ru/post/168515/. Заработало. Ранее не работало потому что использовал не самоподписной сертификат (хотя поэтому ли, не знаю).

В итоге всё набираемые мною страницы с https загружаются нормально. Проверял почту на mail.ru, yandex.ru, также проверял youtube.com, google.com и его вариации, также прочие внешние ресурсы.

Не работает лишь https://mail.google.com/, который ссылается ссылка на глайной странице гугла, и который при этом перенаправляется при нажатии на https://www.gmail.com/, который в свою очередь использует сертификат SSL разрешающий использовать только доменные имена mail.google.com, inbox.google.com. Мой FireFox в этой ситуации ругается с ошибкой ssl_error_bad_cert_domain.

Все это провляется лишь в режиме SSL_Bump. Когда на фаерволле делаю прямое перенаправление на этот ресурс в обход прокси-сервера, то вижу пару редиректов с mail.google.com на gmail.com и обратно, страница при этом загружается нормально с нужным сертификатом. Чую в этом и кроется проблема.

Что сделать чтобы это все обойти?

Дать сквиду гугловский CA сертификат чтобы все его сертификаты пропускались доверенными? Или что-то иное в конфиге сквида подкрутить?

В инете ничего похожего не нашел. Возможно, плохо искал :)

 , ,

dmnord
()

kpartx + loop + lvm = не удаляются разделы loopXpY после отключения образа

Форум — Admin

Привет всем!!

У меня проблема с которой я никак не могу справится, точнее не могу понять что и где правильно выключить.

Монтирую образ блочного устройства через kpartx -a <ИМЯ>.img, далее забиваю нулями этот образ через dd предварительно. Создаю два раздела, и в итоге имею в /dev вот такие устройства: /dev/loop0 /dev/loop0p1 /dev/loop0p2. На втором разделе (loop0p2) создаю LVM-том и 2 LVM-раздела на нем, форматирую их и сразу же демонтирую. После, чтобы отключить LVM-том даю команду vgchange -an <VG> и сразу же отключаю образ kpartx -d <ИМЯ>.img. При этом команда losetup дает мне понять что мое loop0-устройство успешно отключена, не выводя его в своем списке.

А самое интересное, что после отключения образа файлы /dev/loop0[pX] остаются в каталоге, а вместе с ними и LVM-том на них. Команда dmsetup ls никаких устройств связанных этим lVM не видит. Команда blkid продолжает упорно писать, что в /dev/loop0p2 располежен все тот же LVM-том VG.

Как я представляю, вместе с отключением образа должны пропасть и loop-устройства, но что-то происходит не так.

Помогите пожалуйста кто знает в чем дело, бьюсь уже который день. Спасибо заранее!!!

 ,

dmnord
()

RSS подписка на новые темы