首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务器重新启动后丢失的CentOS7 Targetcli配置

服务器重新启动后丢失的CentOS7 Targetcli配置
EN

Server Fault用户
提问于 2017-03-12 19:02:37
回答 5查看 7K关注 0票数 0

在服务器重新启动后,Targetcli配置丢失了,我尝试用targetcli restoreconfig <backupFile>配置从备份文件恢复配置,但没有还原命令storageobjects or targets present, not restoring的输出消息。下面是targetcli lssystemctl status -l target的输出

代码语言:javascript
复制
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.
EN

回答 5

Server Fault用户

发布于 2017-03-26 10:31:38

确保在重新启动之前启用了服务:

systemctl启用目标

在这里有帮助。

米斯蒂奇

票数 2
EN

Server Fault用户

发布于 2017-03-23 08:45:37

如果将LVM托管存储池用于备份设备,则应确保LVM/Devicemapper丢弃第二层VGs/LV。

我所说的第二层VGs/LVs是什么意思;例如:

假设下面的LV (DISK_1)具有由iSCSI客户端初始化的另一个VG,并用于客户端内的服务。一个磁盘中有两个不同的VG层,另一个磁盘中有一个VG层。

如果您的LVM子系统扫描第一层LVM中的VGs,那么新发现的第二层VGs和它中的LVs将被映射到目标服务器。由于LV被映射到目标服务器(通过devicemapper),lio_target模块将无法将它们作为备份加载。

代码语言:javascript
复制
[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 ~]#

在引导OS期间,LVM搜索VGs和LVs。这就是为什么你一开始没有意识到这个问题。

您应该设置一个LVM过滤器来扫描磁盘中的新VGs。参见lvm.conf手册中的global_filter。使用此配置,您将能够丢弃第二层VGs。下面是上述存储体系结构的示例,仅用于扫描PVs中的VGs,并丢弃所有块设备的其余部分。

代码语言:javascript
复制
[root@target ~]# diff /etc/lvm/lvm.conf{,.orginal}
152d151
<       global_filter = [ "a|/dev/mapper/mpath.|", "r|.*/|" ]
[root@target ~]#

您可以简单地使用脚本在启动和恢复LIO目标配置后运行"vgchange -an 2nd_layer_VG“。不过,我建议使用LVM的"global_filter“特性。

注意:在CentOS 7/Red 7之前,初始化第二层LVs没有问题,targetd仍然能够将它们作为LUN加载。然而,新的linux(LIO)在这种情况下失败了。我没有进一步讨论这个问题。

问候..。

票数 1
EN

Server Fault用户

发布于 2017-07-29 01:00:46

您应该在引导时运行target.service以恢复LIO配置,并确保iscsid.service运行是为了导出您的LIO设备,并且tgtd没有运行,因为它将与其他LIO守护进程发生冲突。

应该是这样的,

代码语言:javascript
复制
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子系统非常重要,因为在运行后使用它是危险的,因为您可以对用户数据进行许多潜在的破坏性操作。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/837827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档