vdbench的作用_基于SSD的iSCSI target的建立和Vdbench测试「建议收藏」

vdbench的作用_基于SSD的iSCSI target的建立和Vdbench测试「建议收藏」在SAN存储系统中,LIO是把存储设备直接转化为可用存储资源的高效工具,它实现了基于文件/块设备/ramdisk甚至回环设备创建存储设备的iscsitarget接口和CLI。通过iSCSIinitiator访问iSCSItarget的典型应用场景和联接如下图所示意:上图非常直观地显示了基于ram、/dev/下的设备以及文件,创建iSCSItarget的数据流。如果更深入地再往下看,可以看到它和…

大家好,又见面了,我是你们的朋友全栈君。

在SAN存储系统中,LIO是把存储设备直接转化为可用存储资源的高效工具,它实现了基于文件/块设备/ramdisk甚至回环设备创建存储设备的iscsi

target接口和CLI。 通过iSCSI

initiator访问iSCSI

target 的典型应用场景和联接如下图所示意:

vdbench的作用_基于SSD的iSCSI target的建立和Vdbench测试「建议收藏」

上图非常直观地显示了基于ram、/dev/下的设备以及文件,创建iSCSI

target的数据流。如果更深入地再往下看,可以看到它和底层文件系统、卷管理的接口如下所示:

vdbench的作用_基于SSD的iSCSI target的建立和Vdbench测试「建议收藏」

厘清了iSCSI的应用模式和软件层次后,就不难理解如何创建iscsi

target 设备了,并且也会理解为何

在数据传输之前,需要iscsi

initiator 和iscsi

target 设备建立起连接了。

下面通过具体的命令,举例说明在linux操作系统里面如何创建iscsi

target、建立iscsi链接和使用iscsi资源。首先需要在存储资源所挂载的机器上用targetcli创建target:

[root@localhost]#

targetcli /backstores/block create my_ssd

/dev/disk/by-id/wwn-0x55cd2e404b7b8ced-part5

\Created

block storage object my_ssd using

/dev/disk/by-id/wwn-0x55cd2e404b7b8ced-part5.

[root@localhost]#

targetcli /iscsi create

Created

target iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.beb1fd396120.

Created

TPG 1.

Global

pref auto_add_default_portal=true

Created

default portal listening on all IPs (0.0.0.0), port 3260.

[root@localhost]#

targetcli

/iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.beb1fd396120/tpg1/luns

create /backstores/block/my_ssd

Created

LUN 0.

You

have new mail in /var/spool/mail/root

[root@localhost]#

targetcli

/iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.beb1fd396120/tpg1

set attribute authentication=0 demo_mode_write_protect=0

generate_node_acls=1

Parameter

authentication is now ‘0’.

Parameter

demo_mode_write_protect is now ‘0’.

Parameter

generate_node_acls is now ‘1’.

[root@localhost]#

targetcli saveconfig myssd.config

Configuration

saved to myssd.config

上面命令还把当前配置保存到文件myssd.config当中去,机器重启后,还可以从这个文件

恢复到当前设置,这样就可以避免需要重新输入上面的命令:

[root@localhost]#

targetcli clearconfig confirm=True

All

configuration cleared

如果上面没有制定文件名,默认会保存到/etc/target/saveconfig.json文件当中去。

[root@localhost]#

targetcli restoreconfig myssd.config

接着需要在initiator端连接到target端,先探测有没有iscsi能被找到,如果找到自动连接上去:

[root@localhost

PlxSdk]# iscsiadm -m discovery -t st -p 10.10.2.33 -l

Logging

in to [iface: default, target:

iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.beb1fd396120, portal:

10.10.2.33,3260] (multiple)

Login

to [iface: default, target:

iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.beb1fd396120, portal:

10.10.2.33,3260] successful.

这时能从/dev设备下看到多出一个设备:

lrwxrwxrwx.

1 root root    9 Jun 20 20:19

ip-10.10.2.33:3260-iscsi-iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.beb1fd396120-lun-0

-> ../../sdr

这就证明iscsi

target已经映射到了initiator

/dev/sdr这个设备上,在initiator端对/dev/sdr进行读写访问,就相当于往远端的10.10.2.33机器上的/dev/disk/by-id/wwn-0x55cd2e404b7b8ced-part5进行读写。

当然,使用完了之后,可以用下面的命令断开连接:

[root@localhost

PlxSdk]# iscsiadm -m session -u

Logging

out of session [sid: 1, target:

iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.b5928f6012db, portal:

10.10.2.33,3260]

Logging

out of session [sid: 2, target:

iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.beb1fd396120, portal:

10.10.2.33,3260]

最后运行测试程序,下面以vdbench为例,开始测试:

[root@localhost

vdbench]# cat ssd_param && ./vdbench  -f ssd_param -k -o

ssd_vdbench.out

sd=sd2,lun=/dev/sdr,openflags=o_direct,size=500m,threads=24

wd=wd1,xfersize=4k,rdpct=0,seekpct=100

rd=rd1,wd=wd1,sd=*,iorate=max,elapsed=5,interval=1,warmup=5,threads=24

Vdbench

distribution: vdbench504

For

documentation, see ‘vdbench.pdf’.

20:25:40.991

Created output directory ‘/home/vdbench_qichao/ssd_vdbench.out’

20:25:41.021

input argument scanned: ‘-fssd_param’

20:25:41.021

input argument scanned: ‘-k’

20:25:41.021

input argument scanned: ‘-ossd_vdbench.out’

20:25:41.153

Starting slave: /home/vdbench/vdbench SlaveJvm -m localhost -n

localhost-10-160620-20.25.40.968 -l localhost-0 -p 5570

20:25:41.627

All slaves are now connected

20:25:43.001

Starting RD=rd1; I/O rate: Uncontrolled MAX; elapsed=5 warmup=5; For

loops: threads=24

20:25:54.068

Vdbench execution completed successfully. Output directory:

/home/vdbench/ssd_vdbench.out

参考文档和链接:

http://linux-iscsi.org/wiki/Targetcli

http://www.linux-iscsi.org/Doc/LIO%20Admin%20Manual.pdf

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144492.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python官方库和第三方库_网络爬虫第三方库

    python官方库和第三方库_网络爬虫第三方库Python的强大之处除了它的简洁易用,最厉害的就是它有着广泛的第三方库支持。今天小编就带你看下Python有哪些常用第三库吧,知道且用过超过10个的欢迎留言~文本处理与格式转换Char…

    2025年5月26日
    4
  • 示波器中的trigger是什么意思_示波器中扫描和同步的作用是什么

    示波器中的trigger是什么意思_示波器中扫描和同步的作用是什么什么是Trigger,它在示波器中的作用是什么?先来看看别人是怎么说的。Thetriggereventestablishesthetime-referencepointinthewaveformrecord.Allwaveformrecorddataislocatedintimewithrespecttothatpoint.Theinstru…

    2022年10月11日
    4
  • pix2pix论文(pix是什么意思)

    图像翻译,指从一副图像到另一副图像的转换。可以类比机器翻译,一种语言转换为另一种语言。下图就是一些典型的图像翻译任务:比如语义分割图转换为真实街景图,灰色图转换为彩色图,白天转换为黑夜……本文主要介绍图像翻译的三个比较经典的模型pix2pix,pix2pixHD,vid2vid。pix2pix提出了一个统一的框架解决了各类图像翻译问题, pix2pixHD则在pix2pix的基础上,较好的解决了高分辨率图像转换(翻译)的问题, vid2vid则在pix2pixHD的基础上,较好的

    2022年4月10日
    116
  • C语言socket实现文件下载[通俗易懂]

    C语言socket实现文件下载[通俗易懂]是网络编程的作业,我比较菜。。。写到定位输出,做百分比出现了问题,不显示0到100的,直接从0跳到了100。请教了下大佬。改了过来。原来是类型的问题,做出来的运算应该是float,但是我都定义的int,输出也是,大佬指出后,我好尴尬。。。犯了小错误。。。但是在这次过程也学习了一波。要加油了!!!代码写的这么乱!!!写的是带颜色的版本,,颜色有可能会觉得妖艳,,,好吧。编译平台是vc++6.0

    2022年7月14日
    15
  • for 批处理_批处理主要解决

    for 批处理_批处理主要解决批处理for中如何实现break当然批处理程序中没有break关键字,那又如何实现呢?先看看例子:@echooffsetAreaPortFile=Ports_AsetAnchorOnLandPortFile=OL%AreaPortFile%_AnchorsetMergeOnLandPortFile=MG%AreaPortFile%if…

    2022年10月11日
    3
  • PL/SQL中declare、begin关键字解释

    PL/SQL中declare、begin关键字解释使用declare或begin关键字开头的bai叫匿名块,每次使用均需要进行编译,不能存储在数据库中且不能被其他PL/SQL调用。而存储过程,存储函数,触发器等叫命名块,一经编译后面就可直接调用,且可以存储在数据库中,被其他PL/SQL调用;declareagenumber(4);–声明一个参数baia类型du为number类型长度为4beginselectteaAgeintoagefromteacherwhereteaid=122;–查询teaid为12

    2022年8月22日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号