glusterfs монтируется при загрузке на кластерных серверах - RHEL 7

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

Эти серверы настроены как кластер с использованием кардиостимулятора. Помимо общей базы данных, pacemaker также предоставляет виртуальный IP-адрес для монтирования файловой системы gluster.

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

mount -t glusterfs nodea:/gv0 /data

И это здорово. Но я хочу, чтобы это происходило автоматически при загрузке.

Итак, я попытался добавить запись в fstab:

nodea:/gv0  /data       glusterfs   _netdev 0 0

Что работает, когда я запускаю команду «mount -a» после того, как кластер запущен и работает. Однако при загрузке он не работает. (Именно так клиентские машины монтируют glusterfs при загрузке, но кластер запущен и работает. Так что, конечно, он работает для них при загрузке.)

Я также попытался создать файл модуля systemd для обработки монтирования glusterfs при загрузке. Мой файл модуля находится в / etc / systemd / system с именем "data.mount" и выглядит так:

# Mounting gluster fs at /data

[Unit]
Description = Automount gluster filesystem
After=pcsd.service

[Mount]
What=nodea:/gv0
Where=/data
Type=glusterfs

[Install]
WantedBy = pcsd.service

Опять же, это работает, когда оба сервера запущены и работают, выполнив команду "

Есть ли способ, чтобы файл модуля systemd проверил, действительно ли он смонтировал файловую систему, а если не повторить попытку, пока это не произойдет?

Есть ли другой способ смонтировать glusterfs при загрузке и проверить, что он действительно установлен?

3
задан 1 September 2016 в 17:50
3 ответа

Вы должны иметь возможность иметь systemd automount, когда это необходимо. У меня тоже были проблемы с монтированием Ubuntu 16.04 при загрузке. Основываясь на этом сообщении я добавил noauto,x-systemd.automount в свою строку fstab:

gluster1:/volume1   /storage-pool   glusterfs   defaults,_netdev,noauto,x-systemd.automount 0 0

Я перезагружал серверы приложений несколько раз каждый, и все они успешно смонтированы. Надеюсь, это вам тоже поможет!

11
ответ дан 3 December 2019 в 04:39

Я пытался решить эту проблему, учитывая отношение LP:

файл: / и т. Д. /systemd/system/glusterfsmounts.service[1142634 provided:[12205 visiblethen you should:

systemctl daemon-reload

systemctl enable glusterfsmounts

and reboot ... был для меня самым лучшим / стабильным

6
ответ дан 3 December 2019 в 04:39

Вы можете использовать сценарий, чтобы удерживать "запущенный" статус службы systemd glusterfs до тех пор, пока тома фактически готовы.

systemctl edit glusterd.service

[Service]
ExecStartPost=/usr/local/sbin/glusterfs-wait

Создайте файл / usr / local / sbin / glusterfs-wait со следующим:

#!/bin/bash 
FAIL=1
until [ $FAIL -eq 0 ]; do
    gluster volume status all
    FAIL=$?
    test $FAIL -ne 0 && sleep 1
    done
exit 0

Убедитесь, что этот файл является исполняемым.

Затем создайте переопределение монтирования, например, для / mnt / storage это будет mnt-storage.mount , косая черта станет дефисом.

systemctl edit mnt-storage. mount

Если это не сработает и вы только что добавили запись fstab, перезагрузите systemd, чтобы он увидел обновление ( systemctl daemon-reload ).

[Unit]
After=glusterd.service
Wants=glusterd.service
0
ответ дан 3 December 2019 в 04:39

Теги

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