iSCSI简介:

从协议层次的角度看,通常所说的SCSI通常是指一组包含块命令、控制器管理、系统命令和enclosure服务等内容的协议规范,对应于回话层;而其下的物理通道和链接方式就对应在数据链路层,SCSI命令可以通过串口、Fibre Channel、SAS、infiniband、Internet、USB、PCIE等进行传输。iSCSI就是一种把异地存储资源通过TCP/IP网络映射到本地逻辑存储设备的SCSI实现。不同于NFS向用户提供按文件为单位访问远程存储的方式,它向用户提供了以块方式访问远程存储资源的接口,也就是说用户可以在本地/dev/下看到iSCSI映射后的磁盘。通常所说的target端是指远端存储资源所在的主机,比如存储服务器;而initiator端是指链接到target端并会访问远端存储资源的节点。

iSCSI target管理工具的特点:

基于iSCSI的网络属性,很直观地我们能想到它基本上是基于server-client模型。提供存储资源的target相当于server,而使用远程存储资源的initiator端相当于client。基于现有的iSCSI协议规范,能够开发出target端和initiator端工具。在Linux系统上,initiator端工具可以用iscsiadm,目前大部分os都自带有这款工具;而target端的工具由于直接和性能和存储管理相关,数量更多,目前常见的有targetcli、targetadm、ietadm,它们各有所长,分别能适用不同的场合。

适合Linux操作系统的三款ISCSI target工具(服务端)

1、小巧玲珑的LIO targetcli

相对而言,targetcli是最新的target管理工具,内核态基于Linux 2.6.38开始引入的Linux IO Target,用户态提供了targetcli命令和python开发库rtslib,为用户提供了友好的操作界面。为此,现在大部分Linux OS发现版本默认都自带了LIO targetcli。在缺省没有安装的linux OS上,用户可以参考下面的命令进行安装:

Yum安装的软件包:

yum install targetcli

启动服务命令:

systemctl start targetd.service

systemctl start target.service

2、功能完备的tgtadm

在LIO出现之前,tgtadm是首选的target管理工具,被用到企业存储解决方案当中。除了LUN管理、ACL控制等功能之外,它还提供了对已连接上的initiator的检测和iSNS服务的支持。虽然界面没法和LIO的targetcli相比,但是不乏功能强大的命令来完成各种操作。

Yum安装的软件包:

yum install scsi-target-utils.x86_64

启动服务命令:

systemctl start tgtd

3、精益求精的ietadm

tgtadm创建的SCSI设备实际都是在用户态中实现的,存在性能瓶颈。为了解决这个问题,企业级别的target管理工具((iSCSI Enterprise Target) 营运而生,它依赖内核模块iscsi_trgt.ko来帮助iSCSI设备的创建。此外,ietadm提供了以配置脚本的方式来设置和管理target及权限,还提供了显示discovery列表的功能。

/etc/tgt/targets.conf 配置文件参数说明

backing-store (虚拟的装置): 指定挂载的磁盘路径。例如,/dev/sdb

initiator-address (使用者端位址): 设定客户端连接target目标存储输入用户和密码进行验证,不用设定代表所有客户端都能使用,也可以使用iptables 来规范可以连接的客户端。

incominguser (使用者帐号密码设定): 设定限制客户端连接的IP地址。此设定后面接两个参数,分别是帐号与密码。

write-cache [off|on] (是否使用快取):增加target存储目标快取速度,如果数据重要不推荐使用。

一、使用tgtadm工具搭建iscsi共享存储

Linux System Environment

[root@server ~]# cat /etc/redhat-release #==》系统版本

CentOS Linux release 7.5.1804 (Core)

[root@server ~]# uname –r #==》系统内核

3.10.0-862.el7.x86_64

[root@server ~]# uname -m #==》系统位数

x86_64

[root@server ~]# echo $LANG #==》系统字符集

en_US.UTF-8

******Server服务端操作******

1、关闭防火墙及selinux

systemctl stop firewalld

systemctl disable firewalld

systemctl status firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

setenforce 0

getenforce

2、安装tgtadm工具并启动

yum install scsi-target-utils -y

systemctl start tgtd

systemctl enable tgtd

systemctl status tgtd

3、配置共享存储磁盘并重启服务生效

cat <> /etc/tgt/targets.conf

backing-store /dev/sdb

initiator-address 10.0.0.0/24

incominguser iscsiadm iscsiadm123

write-cache off

EOF

systemctl restart tgtd

4、查看共享存储情况

tgt-admin -show

******Client客户端操作******

1、关闭防火墙及selinux

systemctl stop firewalld

systemctl disable firewalld

systemctl status firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

setenforce 0

getenforce

2、安装iscsi-initiator-utils客户端工具

yum install -y iscsi-initiator-utils

3、启动iscsid和iscsi客户端连接服务

systemctl start iscsi

systemctl start iscsid

systemctl enable iscsi

systemctl enable iscsid

systemctl sttus iscsi

systemctl sttus iscsid

4、修改客户端InitiatorName和CHAP验证用户和密码登录,每客户端的InitiatorName是唯一(自定义)

cat <> /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2020-07.cc.rhce:client02

EOF

sed -i 's/#node.session.auth.authmethod = CHAP/node.session.auth.authmethod = CHAP/g' /etc/iscsi/iscsid.conf

sed -i 's/#node.session.auth.username = username/node.session.auth.username = iscsiadm/g' /etc/iscsi/iscsid.conf

sed -i 's/#node.session.auth.password = password/node.session.auth.password = iscsiadm123/g' /etc/iscsi/iscsid.conf

5、发现target会话(server端共享存储)

[root@client01 ~]# iscsiadm -m discovery -t sendtargets -p 10.0.0.10

10.0.0.10:3260,1 iqn.2014-11.dev.iscsi-target:iscsidisk

6、登录target会话(server端共享存储)

###登录target会话(server端共享存储)

[root@client01 ~]# iscsiadm -m node -T iqn.2014-11.dev.iscsi-target:iscsidisk -p

###退出target会话(server端共享存储)

[root@client01 ~]# iscsiadm -m node -T iqn.2014-11.dev.iscsi-target:iscsidisk -p

##删除target会话(server端共享存储),此命令谨慎使用

iscsiadm -m node -o delete -T iqn.2014-11.dev.iscsi-target:iscsidisk -p 10.0.0.10:3260

7、查看连接

[root@client01 ~]# iscsiadm -m session

tcp: [7] 10.0.0.10:3260,1 iqn.2014-11.dev.iscsi-target:iscsidisk (non-flash)

8、检查连接的ISCSI磁盘

[root@client01 ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 10.7 GB, 10737418240 bytes

64 heads, 32 sectors/track, 10240 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

9、分区、格式、挂载ISCSI磁盘

[root@client01 ~]# fdisk /dev/sdb

[root@client01 ~]# mkfs.ext4 /dev/sdb1

[root@client01 ~]# mount /dev/sdb1 /mnt

[root@client01 ~]# df -h | grep mnt

/dev/sdb1 9.8G 23M 9.2G 1% /mnt

linux yum安装iscsi,CentOS 安装配置iscsi共享存储相关推荐

  1. linux yum php环境,centos下yum搭建安装linux+apache+mysql+php环境教程

    我们利用linux系统中yum安装apache+mysql+php是非常的简单哦,只需要几步就可以完成,具体如下: 一.脚本yum源安装: 1.yum install wget             ...

  2. linux 虚拟专用网络设置,centos安装配置pptp 虚拟专用网络服务器步骤分享

    说明: 服务器操作系统:CentOS 5.X 64位 服务器IP地址:192.168.21.128 实现目的:服务器安装配置pptp软件,对外提供虚拟专用网络拨号服务 具体操作: 一.安装包下载 1. ...

  3. linux yum安装expect,CentOS安装expect

    CentOS安装expect 发布时间:2020-02-25 10:04:28 来源:51CTO 阅读:49 作者:844365389 expect是在tcl基础上创建起来的,因此在安装expect之 ...

  4. CentOS 7 配置iSCSI

    iSCSI技术在工作形式上分为服务端(target)与客户端(initiator). iSCSI服务端即用于存放硬盘存储资源的服务器,它作为前面创建的RAID磁盘阵列的存储端,能够为用户提供可用的存储 ...

  5. Linux虚拟机安装(Centos安装)详情

    一.首先下载安装VMware Workstation Pro虚拟机 官网下载需要注https://my.vmware.com/en/web/vmware/info/slug/desktop_end_u ...

  6. centos linux安装vsftp,CentOS安装vsftp最新版本

    一.下载当前vsftp最新版本 wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.3.4.tar.gz 貌似最近官方都下不了,在补一个本站的下载地址 ...

  7. linux lua socket编程,CentOs 安装lua,luasocket

    一.centos安装Lua 3)个人在这里选择使用5.1版本的 *下载 wget http://www.lua.org/ftp/lua-5.1.5.tar.gz --2013-10-14 16:23: ...

  8. linux yum自动挂载_LINUX6安装YUM仓库和实现开机自动挂载

    # LINUX6安装YUM仓库和实现开机自动挂载 ---------------------------------安装环境------------------------------- Redhat ...

  9. linux 进文字界面,CentOS安装后进入时文字界面,不知如何用命令,求解

    cafilin 于 2012-08-11 04:50:01发表: 不知道怎么用ROOT进入. 于 2012-08-01 14:56:33发表: 输入 start windowsx guxing3695 ...

最新文章

  1. ccna设备的NAT地址转换
  2. golang中的new和make的区别
  3. 不确定mysql是否安装成功了怎么办
  4. 【论文解读】从BERT和XLNet到MPNet
  5. 【云图】如何设置支付宝里的家乐福全国连锁店地图?
  6. spring和maven_具有Spring和Maven教程的JAX–WS
  7. python reduce函数_Python reduce()函数的用法小结
  8. AJAX(异步的 JavaScript 和 XML)
  9. 21天Jmeter打卡Day17 后置处理器_JSON_正则表达式_边界提取器_完成删除场景模拟测试
  10. _declspec(dllexport)与_declspec(dllimport)
  11. 使用iMazing将图书应用程序的ePub文件导出至电脑
  12. Excel的上传下载
  13. MFC 激活CPropertySheet 的应用按钮
  14. Redis 下载安装
  15. 通过IO口控制STC15F2K60S2系列单片机输出pwm
  16. 学习Struts2框架笔记-第1天
  17. java集合终极总结
  18. 强大的word查找替换功能
  19. 高中数学立体几何高考真题解题技巧(名师总结)
  20. ARM平台安装oracle时出现错误:runinstaller: line 97 /db/database/install/.oui: cannot execute binary file

热门文章

  1. 动态环境中乳酸菌共培养---代谢模拟与相互作用--文献分享
  2. 老板、方太、美的们决战洗碗机“中国化”的新拐点
  3. 更智能的烟灶套装,让厨房免受油烟困扰,云米AI油烟机Wing A1体验
  4. form表单校验复杂系列--- form表单内插入独立的数据表格,动态校验数据表格内每行的文件上传
  5. PIC单片机printf()函数重定向
  6. Sharding Sphere
  7. 数据结构练习题——图(算法设计题)
  8. 你和自律的生活,只差这三十天的计划
  9. 视频教程-SpringBoot2+Vue+AntV前后端分离开发项目实战-Java
  10. 设计一个灯光控制逻辑电路. 要求红、绿、黄三种颜色的灯在时钟信号的作用下按表P6.30规定的顺序转换状态