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

Конфигурация CentOS7 Targetcli потеряна после перезагрузки сервера

Конфигурация 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) в этой ситуации не работает. Я больше не изучал этот вопрос.

С уважением...