сервис drbd, не startable / WFConnection

Я недавно переместил свою установку drbd от Ubutnu до песней 7, и я получаю странную ошибку:

я могу загрузить и обычно разгружать модуль, и все это, кажется, работает

#>modprobe drbd
#>lsmod | grep drbd
drbd       373504     2
...

я могу теперь выпустить drbdadm drbdres команды, видеть состояние для ресурса, все работает, это кажется. я могу также разгрузить модуль

#>rmmod drbd
#>lsmod | grep drbd
#>drbdadm cstate all
0: Failure: (127) Device minor not allocated 
...
#> lsmod | grep drbd
drbd       373504     2
...

таким образом, я могу загрузить модуль, drbdadm может загрузить его, но не поднимает ресурсов, в то время как документы утверждают, что init сценарий сделал бы это, таким образом, drbd, очевидно, не инициализирует модуль таким образом.

Обычно, все ресурсы, настроенные в/etc/drbd.conf, автоматически включены после системного запуска/etc/init.d/drbd init сценарий.

(источник: http://www.drbd.org/users-guide-8.3/s-enable-disable.html)

Если я пытаюсь запустить init.d скрипт, я получаю странную ошибку:

#>/etc/init.d/drbd start script i get:
Starting DRBD resources:
sh: modinfo: command not found
open(".") failed: permission denied
#>

я смог определить местоположение строки (строк), где это происходит:

$DRBDADM="drbdadm"
...

out=$(&DRBDADM sh-nop 2>&1); ex=?
[[ $ex = 127 ]] && exit 5 #LSB for "not installed"
log_daemon_msg "Starting DRBD resources"
if [[ $ex != 0 ]] ; then
    printf"\n%s\n" "$out" >&2
    exit1
fi

я вставил строку для входа $ex, и он говорит "3", таким образом, это, кажется, означает:

drbdadm sh-nop возвращается "открытый (". ") отказавший: разрешение отклонило", который является ошибкой "3".

Я не могу узнать то, что это, как предполагается, говорит мне, работая

#>drbdadm sh-nop

ничего не возвращает в терминале или пишет в журналы, о которых я знаю. Я также не могу определить местоположение точки ни в каком файле где открытый (". "), был бы назван.

Я далек от эксперта по Linux, ecspecially centOS/redhat, поскольку я привык к debian, все, которое я могу сказать, то, что Ubuntu 14.04 работала хорошо с этой конфигурацией под drbd83. Я теперь переключился на drbd84 на centOS 7, в документах ничто не говорится об изменениях в частях модуля, которые касаются моей конфигурации afaik. Только вещь состоит в том, что я больше не могу хранить внутренние метаданные, когда целое drbd устройство будет вручено как диск виртуальной машине.

Я надеюсь, что ошибка находится в моей "делающей вещи debian путь", потому что я не могу найти проблемы конфигурации с drbd.

Я добавлю свою конфигурацию:

global {
    usage-count no;
}

common {
    syncer {
        rate 100M;
    }

}
resource drbdres {
    device minor 0;

    net {
        protocol C;
    }
    startup {
        wfc-timeout     0;
        degr-wfc-timeout    60;
    }
    disk {
        on-io-error     detach;
    }
    #NODES

    on node1 {
        disk        /dev/mapper/vmachines-lvdrbd;
#       device      drbddisk;
        address     192.168.8.133:7788;
        meta-disk   /dev/mapper/vmachines-lvdrbdMeta; #!internal
    }

    on node2 {
        disk        /dev/mapper/vmachines-lvdrbd;
#       device      drbddisk;
        address     192.168.8.132:7788;
        meta-disk   /dev/mapper/vmachines-lvdrbdMeta; #!internal
    }
}

если я присоединяю свой второй хост, чтобы протестировать установку независимо от этих проблем, оба запуска drbd, и застрять с состоянием "WFConnection", IP-адреса, которые они настроили для других хостов, корректны, таким образом, я предполагаю, что сервис действительно не запускается drbdadm, это просто загружает модуль, если это не загружается.

Спасибо за любые подсказки или справку,

Отношения BillDoor

(исходный: https://stackoverflow.com/questions/25680702/centos-7-drbd-cannot-start-service)

Править:

мои настроенные репозитории:

Centos7 base
ELrepo e17
Centos7 extras
centos7 updates

я установил пакеты:

drbd84-utils.x86_64
drbd84-utils-sysvinit.x86_64
kmod-drbd.x86_64

я вышел yum install drbd84 устанавливать drbd

4
задан 23 May 2017 в 15:41
3 ответа

Я знаю, что это старый пост,но я думал, что предоставлю решение для тех, кто хочет / нуждается в включенном SELinux. Сделайте это, создав локальную политику SELinux для DRBD.

Если вы введете grep в '/var/log/audit/audit.log' для "drbd_t", вы должны увидеть некоторые ошибки; передача этих ошибок в «audit2allow» позволит вам сгенерировать новый пакет политики SELinux, который разрешает ранее запрещенные действия. Затем вы можете установить эту политику с помощью 'semodule -i':

# grep drbd_t /var/log/audit/audit.log | audit2allow -M drbdlocal
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i drbdlocal.pp

# semodule -i drbdlocal.pp

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

2
ответ дан 3 December 2019 в 03:17

Ненавижу отвечать на свой вопрос, но для всех будущих новичков в использовании CentOS и drbd именно selinux отказывает мне в доступе к определенным необходимым каталогам. Я еще не обнаружил, какие именно каталоги мне нужно настроить для drbd, но установка selinux в разрешающий режим позволяет мне, по крайней мере, протестировать установку drbd!

Это также причина того, почему debian запускается без каких-либо проблемы, так как selinux - это функция безопасности, присутствующая только в Enterpriseiselinux, поэтому в основном это redhat и CentOS.

3
ответ дан 3 December 2019 в 03:17

Есть ли причина, по которой вы закомментировали часть вашего DRBD-конфигуратора, посвященную устройству?

Должно ли это быть что-то вроде:

устройство /dev/drbd0; или /dev/drbddisk;

.
0
ответ дан 3 December 2019 в 03:17

Теги

Похожие вопросы