Конфигурация Targetcli была потеряна после перезагрузки сервера, я попытался восстановить конфигурацию из файлов резервных копий с помощью targetcli restoreconfig <backupFile>
конфигурация не восстанавливается выходное сообщение команды storageobjects or targets present, not restoring
. ниже представлены результаты targetcli ls
и systemctl status -l target
targetcli ls
o- / ................................................................................................ [...]
o- backstores ..................................................................................... [...]
| o- block ......................................................................... [Storage Objects: 0]
| o- fileio ........................................................................ [Storage Objects: 0]
| o- pscsi ......................................................................... [Storage Objects: 0]
| o- ramdisk ....................................................................... [Storage Objects: 0]
o- iscsi ................................................................................... [Targets: 1]
| o- iqn.2017-01.com.urgroup-tz:target ........................................................ [TPGs: 1]
| o- tpg1 ...................................................................... [no-gen-acls, no-auth]
| o- acls ................................................................................. [ACLs: 1]
| | o- iqn.2017-01.com.urgroup-tz:initiator ........................................ [Mapped LUNs: 0]
| o- luns ................................................................................. [LUNs: 0]
| o- portals ........................................................................... [Portals: 1]
| o- 0.0.0.0:3260 ............................................................................ [OK]
o- loopback ................................................................................ [Targets: 0]
# systemctl status -l target
● target.service - Restore LIO kernel target configuration
Loaded: loaded (/usr/lib/systemd/system/target.service; enabled; vendor preset: disabled)
Active: active (exited) since Ij 2017-03-10 17:18:43 EST; 1 day 18h ago
Main PID: 1342 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/target.service
Mac 10 17:18:43 server1 target[1342]: Could not create StorageObject tools_disk: Cannot configure StorageObject because device /dev/cl/tools_lv is already in use, skipped
Mac 10 17:18:43 server1 target[1342]: Could not create StorageObject bamboo_disk: Cannot configure StorageObject because device /dev/cl/bamboo_lv is already in use, skipped
Mac 10 17:18:43 server1 target[1342]: Could not create StorageObject metadata_disk: Cannot configure StorageObject because device /dev/cl/ovirt_domain_metadata is already in use, skipped
Mac 10 17:18:43 server1 target[1342]: Could not find matching StorageObject for LUN 2, skipped
Mac 10 17:18:43 server1 target[1342]: Could not find matching StorageObject for LUN 1, skipped
Mac 10 17:18:43 server1 target[1342]: Could not find matching StorageObject for LUN 0, skipped
Mac 10 17:18:43 server1 target[1342]: Could not find matching TPG LUN 0 for MappedLUN 0, skipped
Mac 10 17:18:43 server1 target[1342]: Could not find matching TPG LUN 1 for MappedLUN 1, skipped
Mac 10 17:18:43 server1 target[1342]: Could not find matching TPG LUN 2 for MappedLUN 2, skipped
Mac 10 17:18:43 server1 systemd[1]: Started Restore LIO kernel target configuration.
Вы должны запустить target.service при загрузке, чтобы восстановить конфигурацию LIO, а также убедиться, что iscsid.service запущен для экспорта ваших устройств LIO и что tgtd не запущен, поскольку он будет конфликтовать с другими демонами LIO.
Должно выглядеть примерно так,
root@centos7host# systemctl | grep "target.service\|iscsi"
iscsi-shutdown.service
loaded active exited Logout off all iSCSI sessions on shutdown
iscsi.service
loaded active exited Login and scanning of iSCSI devices
iscsid.service
loaded active running Open-iSCSI
iscsiuio.service
loaded active running iSCSI UserSpace I/O driver
target.service
loaded active exited Restore LIO kernel target configuration
iscsid.socket
loaded active running Open-iSCSI iscsid Socket
iscsiuio.socket
loaded active running Open-iSCSI iscsiuio Socket
Вы также захотите очистить все, что вы делали до этого, потому что это запутается. У вас, вероятно, есть тома, которые были созданы вне LIO, поэтому, когда вы позже перейдете к управлению ими с помощью targetcli, у вас будут некоторые вещи, которые не экспортируются должным образом, и это может запутать.
Если возможно, я бы порекомендовал протереть систему и начать с чистого листа, если у вас есть такая возможность. Правильная настройка подсистемы iscsi с самого начала очень важна, поскольку работать с ней после ее запуска опасно, поскольку у вас есть много потенциально деструктивных действий, которые вы можете совершить с данными ваших пользователей.
Перед перезагрузкой убедитесь, что служба включена:
systemctl включить цель
Здесь помогает.
туман
Если вы используете управляемый пул хранения LVM для устройств backstore, вы должны убедиться, что LVM / Devicemapper отбрасывает VG / LV второго уровня.
Что я имел в виду под VG / LV второго уровня; например:
Предположим, что на нижеследующих LV (DISK_1) есть другая группа VG, инициализированная клиентом iSCSI и используемая для служб внутри клиента. На одном диске будет два разных слоя VG, один VG внутри другого.
Если ваша подсистема LVM сканирует VG в LV первого уровня, недавно обнаруженные VG второго уровня и LV в нем будут сопоставлены с целевым сервером. Поскольку LV отображаются на целевой сервер (с помощью devicemapper), модули lio_target не смогут загрузить их в качестве хранилищ данных.
[root@target ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/mapper/mpatha STORAGE_POOL lvm2 a-- 12.00t 2.50t
[root@target ~]# lvs
LV VG Attr LSize
DISK_1 STORAGE_POOL -wi-ao---- 5.00t
DISK_2 STORAGE_POOL -wi-ao---- 1.00t
DISK_3 STORAGE_POOL -wi-ao---- 2.50t
DISK_4 STORAGE_POOL -wi-ao---- 1.00t
[root@target ~]#
LVM ищет VG и LV во время загрузки ОС. Вот почему вы не осознали проблему в первую очередь.
Вы должны установить фильтр LVM для поиска новых групп VG на дисках. См. Руководство lvm.conf для global_filter. Используя эту конфигурацию, вы сможете отказаться от групп VG второго уровня. Ниже приведен образец указанной выше архитектуры хранилища, предназначенный только для сканирования VG внутри PV и отбрасывания остальных блочных устройств.
[root@target ~]# diff /etc/lvm/lvm.conf{,.orginal}
152d151
< global_filter = [ "a|/dev/mapper/mpath.|", "r|.*/|" ]
[root@target ~]#
Вы можете просто использовать сценарий для запуска "vgchange -an 2nd_layer_VG" после загрузки и восстановления конфигурации LIO-target. Однако я предлагаю использовать функцию LVM «global_filter».
Примечание. До CentOS 7 / Red Hat 7 не было проблем с инициализацией LV второго уровня, targetd все еще мог загружать их как LUN. Однако новый linux-iscsi (LIO) в этой ситуации не работает. Я больше не изучал этот вопрос.
С уважением...