Назад | Перейти на главную страницу

Доступ к блочному устройству iSCSI, настройка как том ZFS на CentOS7 - не монтируется автоматически при загрузке, зависает при перезагрузке

Я запускаю CentOS7 на виртуальном экземпляре Softlayer. Для экземпляра доступно блочное хранилище через multipath / iscsi

Я успешно смонтировал это блочное устройство как XFS. Я решил попробовать ZFS. Когда я вручную запускаю команды для «монтирования» этого тома ZFS, он работает нормально.

zpool import -f zfs-data

У меня есть две проблемы с ZFS на CentOS7.

Я подозреваю, что решение для (a) также может исправить (b).

Давай посмотрим на (а) первый.

На странице github есть обсуждение для zfsonlinux CentOs 7. Не монтировать / импортировать пул после перезагрузки

Похоже, что файл / etc / hostid не создается, когда ZFS устанавливается через yum. Итак, как предлагается на этой странице, я запускаю следующую команду, чтобы создать его.

dd if=/dev/urandom of=/etc/hostid bs=4 count=1

Затем мне внезапно пришло в голову, что он не может монтироваться автоматически, потому что когда машина загружается, загружается ZFS. перед материал iSCSI.

из /var/log/boot.log - первый столбец - это номер строки

81     Starting Import ZFS pools by cache file...
147    Starting Open-iSCSI...

Как изменить порядок загрузки?

(б) зависает при перезагрузке

Если я импортирую пул и ничего не напишу в него, я могу перезагрузиться нормально. Однако, как только происходит обмен данными при монтировании, журнал перезагрузки / выключения содержит эти строки.

Stopping Import network configuration from initramfs...


[  550.096199] end_request: I/O error, dev dm-0, sector 5514152

^^ повторяется десять раз с разными числами.

WARNING: Pool 'zfs-data' has encountered an uncorrectable I/O failure and has been suspended
[...]
Unmounting /zfs-data...
[...]
A stop job is running for /zfs-data

Это никогда не заканчивается, и для возврата к экземпляру требуется ЖЕСТКАЯ перезагрузка.

Любое понимание будет оценено.

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

zfs-import-cache.service # Import ZFS pools by cache file
zfs-mount.service # Mount ZFS filesystems
zfs-share.service # ZFS file system shares
zfs.target # ZFS startup target

Вы можете изменить время или зависимости в соответствии с отложенным монтированием iSCSI.

[Unit]
Description=Import ZFS pools by cache file
DefaultDependencies=no
Requires=systemd-udev-settle.service
After=systemd-udev-settle.service
After=cryptsetup.target
ConditionPathExists=/etc/zfs/zpool.cache

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/sbin/modprobe zfs
ExecStart=/sbin/zpool import -c /etc/zfs/zpool.cache -aN