热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

rhel7中,targetcli使用两位数的分区后缀名字(比如sda10)而导致的问题

rhel7中,targetcli使用两位数的分区名字(比如sda10)而导致的问题[roothost1~]#fdisk-ldevsdaDi

rhel7中,targetcli使用两位数的分区名字(比如sda10)而导致的问题



[root@host1 ~]# fdisk -l /dev/sdaDisk /dev/sda: 1999.3 GB, 1999307276288 bytes, 3904897024 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000a8633Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 68134911 33554432 82 Linux swap / Solaris
/dev/sda3 68134912 487565311 209715200 83 Linux
/dev/sda4 487565312 3904897023 1708665856 5 Extended
/dev/sda5 487567360 508538879 10485760 83 Linux
/dev/sda6 508540928 529512447 10485760 83 Linux
/dev/sda7 529514496 550486015 10485760 83 Linux
/dev/sda8 550488064 1179633663 314572800 83 Linux
/dev/sda9 1179635712 1808781311 314572800 83 Linux
/dev/sda10 1808783360 2437928959 314572800 83 Linux ------>>>注意此处的sda10


[root@host1 ~]# targetcli
targetcli shell version 2.1.fb41
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/backstores/block> ls
o- block ...................................................................................................... [Storage Objects: 0]
/backstores/block> create dev=/dev/sda5 ocr_hdd_1
Created block storage object ocr_hdd_1 using /dev/sda5.
/backstores/block> create dev=/dev/sda6 ocr_hdd_2
Created block storage object ocr_hdd_2 using /dev/sda6.
/backstores/block> create dev=/dev/sda7 ocr_hdd_3
Created block storage object ocr_hdd_3 using /dev/sda7.
/backstores/block> create dev=/dev/sda8 fra_hdd_1
Created block storage object fra_hdd_1 using /dev/sda8.
/backstores/block> create dev=/dev/sda9 fra_hdd_2
Created block storage object fra_hdd_2 using /dev/sda9.
/backstores/block> create dev=/dev/sda10 fra_hdd_3 ------>>>注意此处的sda10
Created block storage object fra_hdd_3 using /dev/sda10.
/backstores/block> create dev=/dev/nvme0n1 data_ssd_1
Created block storage object data_ssd_1 using /dev/nvme0n1.
/backstores/block> create dev=/dev/nvme1n1 data_ssd_2
Created block storage object data_ssd_2 using /dev/nvme1n1.
/backstores/block> create dev=/dev/nvme2n1 data_ssd_3
Created block storage object data_ssd_3 using /dev/nvme2n1.
/backstores/block> ls----------------------------------------------->>>>ls命令
Traceback (most recent call last):File "/usr/bin/targetcli", line 121, in main()File "/usr/bin/targetcli", line 111, in mainshell.run_interactive()File "/usr/lib/python2.7/site-packages/configshell_fb/shell.py", line 894, in run_interactiveself._cli_loop()File "/usr/lib/python2.7/site-packages/configshell_fb/shell.py", line 723, in _cli_loopself.run_cmdline(cmdline)File "/usr/lib/python2.7/site-packages/configshell_fb/shell.py", line 837, in run_cmdlineself._execute_command(path, command, pparams, kparams)File "/usr/lib/python2.7/site-packages/configshell_fb/shell.py", line 812, in _execute_commandresult = target.execute_command(command, pparams, kparams)File "/usr/lib/python2.7/site-packages/configshell_fb/node.py", line 1411, in execute_commandreturn method(*pparams, **kparams)File "/usr/lib/python2.7/site-packages/configshell_fb/node.py", line 710, in ui_command_lstree = self._render_tree(target, depth=depth)File "/usr/lib/python2.7/site-packages/configshell_fb/node.py", line 861, in _render_tree+ self._render_tree(children[i], margin, depth)File "/usr/lib/python2.7/site-packages/configshell_fb/node.py", line 765, in _render_tree(description, is_healthy) = root.summary()File "/usr/lib/python2.7/site-packages/targetcli/ui_backstore.py", line 540, in summaryreturn ("%s (%s) %s%s %s" % (so.udev_path, bytes_to_human(so.size),File "/usr/lib/python2.7/site-packages/rtslib_fb/tcm.py", line 703, in _get_sizereturn get_size_for_disk_name(self._parse_info('device')) * int(self._parse_info('SectorSize'))File "/usr/lib/python2.7/site-packages/rtslib_fb/utils.py", line 162, in get_size_for_disk_namereturn get_size("/sys/block/%s/%s" % (disk, m.group()), True)File "/usr/lib/python2.7/site-packages/rtslib_fb/utils.py", line 141, in get_sizesect_size = int(fread("%s/size" % path))File "/usr/lib/python2.7/site-packages/rtslib_fb/utils.py", line 90, in freadwith open(path, 'r') as file_fd:
IOError: [Errno 2] No such file or directory: '/sys/block/sda1/sda10/size'------------ls命令的报错!
[root@host1 ~]#






根据redhat.com文章:targetcli causes calltrace with the particular partition names which include 2 digits,链接见下:


https://access.redhat.com/solutions/2180861

建议:

Currently, there is no package to fix this issue. Red Hat is handling this issue in RHBZ#1312270
The workaround is to avoid creation iqn with the partition whose name contains two digits.
好吧,遇到bug了。。。不用sda10了,于是执行如下的命令:



[root@host1 ~]# targetcli
targetcli shell version 2.1.fb41
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/>cd backstores/block
/backstores/block> delete fra_hdd_3
Deleted storage object fra_hdd_3.
/backstores/block> ls------------->>>>>能正常显示了!!!
o- block ...................................................................................................... [Storage Objects: 8]o- data_ssd_1 ................................................................... [/dev/nvme0n1 (745.2GiB) write-thru deactivated]o- data_ssd_2 ................................................................... [/dev/nvme1n1 (745.2GiB) write-thru deactivated]o- data_ssd_3 ................................................................... [/dev/nvme2n1 (745.2GiB) write-thru deactivated]o- fra_hdd_1 ....................................................................... [/dev/sda8 (300.0GiB) write-thru deactivated]o- fra_hdd_2 ....................................................................... [/dev/sda9 (300.0GiB) write-thru deactivated]o- ocr_hdd_1 ........................................................................ [/dev/sda5 (10.0GiB) write-thru deactivated]o- ocr_hdd_2 ........................................................................ [/dev/sda6 (10.0GiB) write-thru deactivated]o- ocr_hdd_3 ........................................................................ [/dev/sda7 (10.0GiB) write-thru deactivated]
/backstores/block>









推荐阅读
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 本文介绍了在Windows系统上使用C语言命令行参数启动程序并传递参数的方法,包括接收参数程序的代码和bat文件的编写方法,同时给出了程序运行的结果。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • Java SE从入门到放弃(三)的逻辑运算符详解
    本文详细介绍了Java SE中的逻辑运算符,包括逻辑运算符的操作和运算结果,以及与运算符的不同之处。通过代码演示,展示了逻辑运算符的使用方法和注意事项。文章以Java SE从入门到放弃(三)为背景,对逻辑运算符进行了深入的解析。 ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
author-avatar
linlinfanny_744
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有