Доброго времени коллеги.
Не судите строго, только постигаю технологию.
Итак. Имеем:
FreeBSD с ZFS.
Созданы 2 пула
# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zroot 464G 36,1G 428G - 12% 7% 1.00x ONLINE -
zstore 7,25T 3,52T 3,73T - 9% 48% 1.00x ONLINE -zroot - система
zstore - данные.
# zpool status
pool: zroot
state: ONLINE
scan: resilvered 237M in 0h0m with 0 errors on Fri Dec 1 11:39:54 2017
config:NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gpt/root0 ONLINE 0 0 0
gpt/root1 ONLINE 0 0 0errors: No known data errors
pool: zstore
state: ONLINE
scan: resilvered 24K in 0h0m with 0 errors on Fri Dec 8 16:02:30 2017
config:NAME STATE READ WRITE CKSUM
zstore ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
gpt/backup0 ONLINE 0 0 0
gpt/backup1 ONLINE 0 0 0
gpt/backup2 ONLINE 0 0 0
gpt/backup3 ONLINE 0 0 0errors: No known data errors
Поднял istgt. Выделил разделы:
# zfs list -r zstore
NAME USED AVAIL REFER MOUNTPOINT
zstore 2,56T 2,55T 140K none
zstore/backup 2,06T 2,55T 2,06T /backup
zstore/iSCSI 509G 2,55T 504G /iSCSIУчитывая что это ZFS, использую ежедневные снепшоты:
#!/bin/bash
SRC_PATH='/smb/'
ZFS='/sbin/zfs'
GREP='/usr/bin/grep'
AWK='/usr/bin/awk'
for i in `$ZFS list | $GREP /iSCSI | $AWK '{print $1}'`
do
$ZFS snapshot $i@`/bin/date '+%Y-%m-%d_%H:%M'`
doneВсе отлично, все работает и в любой момент можно примонтировать снепшот:
zfs clone zstore/iSCSI@2018-02-16_00:01 zstore/test
zfs mountpoint=/test zstore/testДалее внутри я вижу:
# ll /test/
total 528796179
-rw-r--r-- 1 root wheel 429496729600 15 фев 08:26 disk0
-rw-r--r-- 1 root wheel 430570471424 16 фев 08:18 disk1
-rw-r--r-- 1 root wheel 431644213248 15 фев 08:26 disk2
-rw-r--r-- 1 root wheel 432717955072 16 фев 08:18 disk3
-rw-r--r-- 1 root wheel 433791696896 16 фев 08:17 disk4Все хранилища подключены, каждый к своему серверу на винде 2012R2(Hyper-V)
Теперь. Чтобы в любое из этих хранилищ стало видно по iSCSI на серверах, нужно прописать его в конфете, скажем так:
LUN5 Storage /test/disk0 400GBИ перезагрузить:
/usr/local/etc/rc.d/istgt restartНо при перезагрузке, диски на серверах отваливаются, как следствие вырубаются виртуалки.
/usr/local/etc/rc.d/istgt reload - не решает проблемы, новые диски не появляются на серверах.
Вопрос: Как можно на самом сервере с FreeBSD подключить хранилище, чтобы хотя бы локально скопировать данные из хранилища и в последствии скопировать по самбе, скажем для монтирования на винтовом компе, чтобы выдернуть с диска нужную информацию?
> Вопрос: Как можно на самом сервере с FreeBSD подключить хранилище, чтобы хотя
> бы локально скопировать данные из хранилища и в последствии скопировать по
> самбе, скажем для монтирования на винтовом компе, чтобы выдернуть с диска
> нужную информацию?Можно. Но будут танцы с бубнами, чтоб прочитать раздел с NTFS.
>> Вопрос: Как можно на самом сервере с FreeBSD подключить хранилище, чтобы хотя
>> бы локально скопировать данные из хранилища и в последствии скопировать по
>> самбе, скажем для монтирования на винтовом компе, чтобы выдернуть с диска
>> нужную информацию?
> Можно. Но будут танцы с бубнами, чтоб прочитать раздел с NTFS.ntfs-3g не проблема. К тому же, в ro монтируется влёт, а это все что нужно.
Вот и вопрос, как можно прочитать из хранилища данные? Подскажите плиз.
>>> Вопрос: Как можно на самом сервере с FreeBSD подключить хранилище, чтобы хотя
>>> бы локально скопировать данные из хранилища и в последствии скопировать по
>>> самбе, скажем для монтирования на винтовом компе, чтобы выдернуть с диска
>>> нужную информацию?
>> Можно. Но будут танцы с бубнами, чтоб прочитать раздел с NTFS.
> ntfs-3g не проблема. К тому же, в ro монтируется влёт, а это
> все что нужно.
> Вот и вопрос, как можно прочитать из хранилища данные? Подскажите плиз.Я правильно понял, вы полученный снапшот пытаетесь по iscsi подключить к w2k12, а там этот снапшот имеет те же идентификационные параметры как и имеющийся уже подключенный диск, после чего w2k12 падает?
Может надо вспомнить, что сама фришка может выступать и как клиент iscsi, снапшоты можно подключать к ней самой, дальше ntfs-3g... Но я не пробовал...
>[оверквотинг удален]
>>> Можно. Но будут танцы с бубнами, чтоб прочитать раздел с NTFS.
>> ntfs-3g не проблема. К тому же, в ro монтируется влёт, а это
>> все что нужно.
>> Вот и вопрос, как можно прочитать из хранилища данные? Подскажите плиз.
> Я правильно понял, вы полученный снапшот пытаетесь по iscsi подключить к
> w2k12, а там этот снапшот имеет те же идентификационные параметры как
> и имеющийся уже подключенный диск, после чего w2k12 падает?
> Может надо вспомнить, что сама фришка может выступать и как клиент
> iscsi, снапшоты можно подключать к ней самой, дальше ntfs-3g... Но я
> не пробовал...Нет. Вы не правильно поняли.
Проблема в том, что istgt не подцепляет новые хранилища и не транслирует их инициаторам без перезагрузки демона.
смотрите. Если делаю так: /usr/local/etc/rc.d/istgt restart, то все работает, в смысле новые хранилища появляются на инициаторах, а если /usr/local/etc/rc.d/istgt reload то нет.
Но постоянно ребутить демона я не могу, так как при перезагрузке цели(демона istgt), на всех инициаторах происходит отключение хранилище и подключение заново. Ну и как следствие, выключение ВМ при недоступности виртуального диска, хранящегося на цели.Меня вполне устроит работать локально прямо на сервере, но проблема в том, что хранилища будут транслироваться только после перезагрузки домена istgt, а это ведет к остановке всех ВМ.
Вот меня и интересует. Можно ли как-то примонтировать хранилище локально, без участия istgt, точнее, чтобы увидеть содержимое хранилища.
Чисто гипотетичски, может что-то вроде: mount -t ntfs-3g /test/disk1 /test
> Вот меня и интересует. Можно ли как-то примонтировать хранилище локально, без участия
> istgt, точнее, чтобы увидеть содержимое хранилища.
> Чисто гипотетичски, может что-то вроде: mount -t ntfs-3g /test/disk1 /testКто вам не дает запустить второго демона на локалхосте со своим конфигом, скриптом запуска
[PortalGroup1]
Portal DA1 127.0.0.1:3260
>> Вот меня и интересует. Можно ли как-то примонтировать хранилище локально, без участия
>> istgt, точнее, чтобы увидеть содержимое хранилища.
>> Чисто гипотетичски, может что-то вроде: mount -t ntfs-3g /test/disk1 /test
> Кто вам не дает запустить второго демона на локалхосте со своим
> конфигом, скриптом запуска
> [PortalGroup1]
> Portal DA1 127.0.0.1:3260Простите меня за мою глупость, я не очень понимаю пока iSCSI и как работает ПО.
Это нужно в конфиг дописать или как?Я предполагаю по вашим словам, нужно дописать в имеющийся istgt.conf
[ProtalGroup2]
Portal DA1 127.0.0.0:3260Но это не избавляет меня от перезапуска демона. Или вы предлагаете создать второй конфиг, скажем istgt2.conf, в него прописать указанные строчки, создать новый rc-скрипт для запуска демона и его запускать?
Ну или просто вот так запускать: /usr/local/bin/istgt -c /usr/local/etc/istgt/istgt2.conf
>[оверквотинг удален]
> Простите меня за мою глупость, я не очень понимаю пока iSCSI и
> как работает ПО.
> Это нужно в конфиг дописать или как?
> Я предполагаю по вашим словам, нужно дописать в имеющийся istgt.conf
> [ProtalGroup2]
> Portal DA1 127.0.0.0:3260
> Но это не избавляет меня от перезапуска демона. Или вы предлагаете создать
> второй конфиг, скажем istgt2.conf, в него прописать указанные строчки, создать новый
> rc-скрипт для запуска демона и его запускать?
> Ну или просто вот так запускать: /usr/local/bin/istgt -c /usr/local/etc/istgt/istgt2.confверсия FreeBSD?
>[оверквотинг удален]
>> как работает ПО.
>> Это нужно в конфиг дописать или как?
>> Я предполагаю по вашим словам, нужно дописать в имеющийся istgt.conf
>> [ProtalGroup2]
>> Portal DA1 127.0.0.0:3260
>> Но это не избавляет меня от перезапуска демона. Или вы предлагаете создать
>> второй конфиг, скажем istgt2.conf, в него прописать указанные строчки, создать новый
>> rc-скрипт для запуска демона и его запускать?
>> Ну или просто вот так запускать: /usr/local/bin/istgt -c /usr/local/etc/istgt/istgt2.conf
> версия FreeBSD?FreeBSD 10.3-RELEASE-p11 #0
Ядро: GENERIC amd64
>[оверквотинг удален]
>>> Я предполагаю по вашим словам, нужно дописать в имеющийся istgt.conf
>>> [ProtalGroup2]
>>> Portal DA1 127.0.0.0:3260
>>> Но это не избавляет меня от перезапуска демона. Или вы предлагаете создать
>>> второй конфиг, скажем istgt2.conf, в него прописать указанные строчки, создать новый
>>> rc-скрипт для запуска демона и его запускать?
>>> Ну или просто вот так запускать: /usr/local/bin/istgt -c /usr/local/etc/istgt/istgt2.conf
>> версия FreeBSD?
> FreeBSD 10.3-RELEASE-p11 #0
> Ядро: GENERIC amd64так какого Вы используете старый userspace istgt?
# man ctld
https://www.freebsd.org/doc/handbook/network-iscsi.html
ps. Начиная с 10.0 уже должна быть ядерная реализация, и получаете то что хотите
без istgt и мучений с перезагрузкой демона и отвалом инициаторов(клиентов)
>[оверквотинг удален]
>>>> Ну или просто вот так запускать: /usr/local/bin/istgt -c /usr/local/etc/istgt/istgt2.conf
>>> версия FreeBSD?
>> FreeBSD 10.3-RELEASE-p11 #0
>> Ядро: GENERIC amd64
> так какого Вы используете старый userspace istgt?
> # man ctld
> https://www.freebsd.org/doc/handbook/network-iscsi.html
> ps. Начиная с 10.0 уже должна быть ядерная реализация, и получаете то
> что хотите
> без istgt и мучений с перезагрузкой демона и отвалом инициаторов(клиентов)Спасибо.
Посмотрю, почитаю.К сожалению я не в теме, потому вопрос и задаю. Пойду читать:) Спасибо.
>[оверквотинг удален]
>>>> Ну или просто вот так запускать: /usr/local/bin/istgt -c /usr/local/etc/istgt/istgt2.conf
>>> версия FreeBSD?
>> FreeBSD 10.3-RELEASE-p11 #0
>> Ядро: GENERIC amd64
> так какого Вы используете старый userspace istgt?
> # man ctld
> https://www.freebsd.org/doc/handbook/network-iscsi.html
> ps. Начиная с 10.0 уже должна быть ядерная реализация, и получаете то
> что хотите
> без istgt и мучений с перезагрузкой демона и отвалом инициаторов(клиентов)Подскажите пожалуйста. А я смогу использовать имеющиеся хранилища или данные нужно будет переносить в новые?
Сейчас у меня в iSCSI крутится 5 виртуалок и не хочется экспериментировать на рабочей системе.
>[оверквотинг удален]
>> так какого Вы используете старый userspace istgt?
>> # man ctld
>> https://www.freebsd.org/doc/handbook/network-iscsi.html
>> ps. Начиная с 10.0 уже должна быть ядерная реализация, и получаете то
>> что хотите
>> без istgt и мучений с перезагрузкой демона и отвалом инициаторов(клиентов)
> Подскажите пожалуйста. А я смогу использовать имеющиеся хранилища или данные нужно будет
> переносить в новые?
> Сейчас у меня в iSCSI крутится 5 виртуалок и не хочется экспериментировать
> на рабочей системе.Что делает iSCSI? Это и будет ответом.
А экспериментировать можно на виртуальном стенде:
- создаете виртуалку с FreeBSD и виртуалку с Windows,
настраиваете istgt, затем останавливаете istgt и настраиваете
новую, ядерную реализацию iSCSI: ctld