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


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

[root@host1 ~]# fdisk -l /dev/sda

Disk /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: 0x000a8633
   Device 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 <module>
    main()
  File "/usr/bin/targetcli", line 111, in main
    shell.run_interactive()
  File "/usr/lib/python2.7/site-packages/configshell_fb/shell.py", line 894, in run_interactive
    self._cli_loop()
  File "/usr/lib/python2.7/site-packages/configshell_fb/shell.py", line 723, in _cli_loop
    self.run_cmdline(cmdline)
  File "/usr/lib/python2.7/site-packages/configshell_fb/shell.py", line 837, in run_cmdline
    self._execute_command(path, command, pparams, kparams)
  File "/usr/lib/python2.7/site-packages/configshell_fb/shell.py", line 812, in _execute_command
    result = target.execute_command(command, pparams, kparams)
  File "/usr/lib/python2.7/site-packages/configshell_fb/node.py", line 1411, in execute_command
    return method(*pparams, **kparams)
  File "/usr/lib/python2.7/site-packages/configshell_fb/node.py", line 710, in ui_command_ls
    tree = 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 summary
    return ("%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_size
    return 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_name
    return 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_size
    sect_size = int(fread("%s/size" % path))
  File "/usr/lib/python2.7/site-packages/rtslib_fb/utils.py", line 90, in fread
    with 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>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值