查看是否已安装了iscsi-initiator:
  
[root@test\ ~]# rpm -qa |grep iscsi

iscsi-initiator-utils-6.2.0.868-0.18.el5

如果没有安装,则安装:

yum install iscsi-initiator

++ iscsi initator的配置++
iscsi initiator的配置文件主要是:

/etc/ iscsi/iscsid.conf和/etc/iscsi/ initiatorname.iscsi。

而/etc/iscsi/ initiatorname.iscsi里面只是一个iscsi的名字,一般保持默认就可以了。

主要是配置/etc/ iscsi/iscsid.conf文件。

一般应用中没有使用iSNS Server,所以iscsid.conf中的“iSNS settings”的内容不需要关注。
1. node.startup = automatic是表示当iscsi initator启动时就会自动登陆到target。
2. “CHAP Settings”主要是一些安全设置。
3. “Timeouts”部分是我们重点关注的地方:
  node.session.timeo.replacement_timeout指网络出现问题,多长时间通知上层:

node.session.timeo.replacement_timeout = 120

一般我们可以把这个时间改小,防止IO被hang太长时间,如:

node.session.timeo.replacement_timeout = 3

下面两个时间是sessison登录和登出Target的超时时间,也可以适当减少。

node.conn[0].timeo.login_timeout = 15

node.conn[0].timeo.logout_timeout = 15

node.conn[0].timeo.noop_out_interval指发ping包的时间间隔,
  
  node.conn[0].timeo.noop_out_timeout为接收心跳包的超时时间

node.conn[0].timeo.noop_out_interval = 5
  
  node.conn[0].timeo.noop_out_timeout = 5
  
  这两个时间根据需要减少,如:
  
  node.conn[0].timeo.noop_out_interval = 1
  
  node.conn[0].timeo.noop_out_timeout = 1
  
  node.session.initial_login_retry_max为登录的重试次数:
  
  node.session.initial_login_retry_max = 4
  
  可以适当减少到  2:
  
  node.session.initial_login_retry_max = 4

++ iscsi initator的使用++
iscsi initator是做为一个系统服务在运行,启动iscsi initator的方法如下:

service iscsi start

iscsi initator主要通过iscsiadm命令管理,我们先查看提供服务的iscsi target机器上有哪些target:

iscsiadm --mode discovery  --type sendtargets --portal 192.168.5.1

然后就可以登陆某个target了,登陆成功某个target后,这个target下的硬盘也就都共享过来了:

iscsiadm --mode node --targetname iqn.2008-10.com.dc9.storage.disk3.sys1.xyz --portal 192.168.5.1:3260 --login

完成这些命令后,iscsi initator会把这些信息记录到/var/lib/iscsi目录下:

/var/lib/iscsi/send_targets记录了各个target的情况,/var/lib/iscsi/nodes记录了各个target下的nodes情况。

下次再启动iscsi initator时(service iscsi start),就会自动登陆各个target上。如果想让重新手工登陆各个target,需要把/var/lib/iscsi/send_targets目录下的内容和/var/lib/iscsi/nodes下的内容全部删除掉。

要查看各个iscsi的信息:

iscsiadm -m session -P 3

[root@ctr_db3 nodes]# iscsiadm -m session -P 3iSCSI Transport Class version 1.1-646

iscsiadm version 2.0-868

Target: iqn.2001-04.com.data_node2:storage.23

Current Portal: 192.168.173.129:3260,1

Persistent Portal: 192.168.173.129:3260,1

**********

Interface:

**********

Iface Name: default

Iface Transport: tcp

Iface Initiatorname: unknown

Iface IPaddress: default

Iface HWaddress: default

Iface Netdev: default

SID: 0

iSCSI Connection State: LOGGED IN

iSCSI Session State: Unknown

Internal iscsid Session State: NO CHANGE
++ iscsi initator的安装++
        ************************

Negotiated iSCSI params:

************************

HeaderDigest: None

DataDigest: None

MaxRecvDataSegmentLength: 131072

MaxXmitDataSegmentLength: 8192

FirstBurstLength: 65536

MaxBurstLength: 262144

ImmediateData: Yes

InitialR2T: Yes

MaxOutstandingR2T: 1

************************

Attached SCSI devices:

************************

Host Number: 1  State: running

scsi1 Channel 00 Id 0 Lun: 1

Attached scsi disk sde          State: running

Target: iqn.2001-04.com.data_node1:storage.08

Current Portal: 192.168.172.128:3260,1

Persistent Portal: 192.168.172.128:3260,1

**********

Interface:

**********

Iface Name: default

Iface Transport: tcp

Iface Initiatorname: unknown

Iface IPaddress: default

Iface HWaddress: default

Iface Netdev: default

SID: 1

iSCSI Connection State: LOGGED IN

iSCSI Session State: Unknown

Internal iscsid Session State: NO CHANGE

************************

Negotiated iSCSI params:

************************

HeaderDigest: None

DataDigest: None

MaxRecvDataSegmentLength: 131072

MaxXmitDataSegmentLength: 8192

FirstBurstLength: 65536

MaxBurstLength: 262144

ImmediateData: Yes

InitialR2T: Yes

MaxOutstandingR2T: 1

************************

Attached SCSI devices:

************************

Host Number: 2  State: running

scsi2 Channel 00 Id 0 Lun: 1

Attached scsi disk sdf          State: running

+ iscsi target的使用+
++ iscsi target的安装++
可以从源码编译安装,从http://sourceforge.net/projects/iscsitarget/下载源码包iscsitarget-0.4.17.tar.gz:

tar zxvf iscsitarget-0.4.17.tar.gz

cd iscsitarget-0.4.17

make

make install

如果想把 iscsi target 加入开机自动启动:

chkconfig --add iscsi-target

++ iscsi target的管理++
target端的配置文件主要为:/etc/ietd.conf文件,内容大致如下:

Target iqn.2001-04.com.data_node1:storage.01

Lun 1  Path=/dev/sda,Type=blockio,ScsiId=IETDSK-sda

其中内容中的Target后面是Target的名称,一般名称为:iqn.<yyyy-mm>.com.<hostname>:<storarge_name>,

其中<yyyy-mm>为年月,<hostname>为主机名,<<storarge_name>为存储的名称,可以随便起一个名字。

Lun 1是指这个设备共享出去的Lun Id,同一个Target Lun Id不能重复。Type=blockio是指定使用blockio的方式,

也可以使用fileio,如果使用了fileio,会使用操作系统的文件缓存,如果出现掉电,可能会丢数据。使用blockio则没有这个问题。

IscsiId是这个Lun的名字,随便起一个名字就可以了。

配置好/etc/ietd.conf文件后,就可以启动iscsi-target了:

service iscsi-target start

查看iscsi-target共享出去的硬盘:

cat /proc/net/iet/volume

查看客户端登陆到iscsi-target的情况:

cat /proc/net/iet/session

+ 日常维护+
++ 在iscsi中增加新硬盘++
+++ 如果能停止iscsi服务增加硬盘 +++
   1.在/etc/ietd.conf文件中增加新硬盘的配置;
   2.重新启动iscsi-target 服务:
     service iscsi-target restart
   3.在target增加的新硬盘在iscsi initator端不会被自动识别,需要到iscsi客户端机器上重新识别新加的新硬盘:
     iscsiadm -m discovery -t sendtargets -p 192.168.30.51 -l
+++ 如果不能停止iscsi服务 +++
  1.先查看现有的iscsi target的tid是多少:

cat /proc/net/iet/volume

tid:19 name:iqn.2001-04.com.bops_pri:storage.19

lun:0 state:0 iotype:blockio iomode:wt path:/dev/sds
    
    tid:18 name:iqn.2001-04.com.bops_pri:storage.18
        
        lun:0 state:0 iotype:blockio iomode:wt path:/dev/sdr

2.使用ietadm命令动态增加硬盘:
   - 假设我们现在要往tid=19,target name是iqn.2001-04.com.bops_pri:storage.19增加硬盘/dev/sdv,
     
     则执行如下命令:
     
     ietadm --op new --tid=19 --lun=1  --params Type=blockio,Path=/dev/sdv
     
     然后再用cat /proc/net/iet/volume检查硬盘是否被加入到iscsi-target中。
   
   - 如果想把硬盘加到一个新建的target中,则需要先新建target,
     
     新建target执行如下命令:
     
     ietadm --op new --tid=20 --params Name=iqn.2001-04.com.bops_pri:storage.20
     
     命令中的tid是比以前的最大tid值大1的值。
     
     然后再把硬盘加到这个新建的target中:
     
     ietadm --op new --tid=20 --lun=0  --params Type=blockio,Path=/dev/sdv
     
     最后不要忘记在/etc/ietd.conf文件中增加新硬盘的配置。

- 如果这些命令执行失败可以使用dmesg看其它输出的错误信息:
     
     #dmesg
     
     ....................
     
     ....................
     
     iscsi_trgt: ioctl(250) can't find the target 20
     
     iscsi_trgt: ioctl(250) can't find the target 20
     
     iscsi_trgt: iscsi_volume_del(163) 13 1
     
     iscsi_trgt: ioctl(250) can't find the target 20
     
     iscsi_trgt: ioctl(250) can't find the target 20
     
     iscsi_trgt: ioctl(250) can't find the target 20
     
     iscsi_trgt: ioctl(250) can't find the target 20

++ 让iscsi服务随机器启动而自动启动 ++

方法:

chkconfig --add iscsi-target

chkconfig iscsi-target on

chkconfig --add iscsi

chkconfig iscsi on

Linux下iscsi的使用的更多相关文章

  1. linux 下 iscsi的简单使用

      一.准备工作 1.1.(服务端和客户端都需要设置) 系统使用的是CentOS6.8 禁用防火墙: 查看状态:# service iptables status 停止:# systemctl sto ...

  2. 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  3. 【转】【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    原文地址:http://www.cnblogs.com/baiboy/p/orc9.html   阅读目录 目录 检查RAC状态 检查创建的数据库 全部参考文献 相关文章 Oracle 11G RAC ...

  4. Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式CentOS7-1810下实现

    iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...

  5. Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式 Debian9.5下实现

    iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...

  6. Linux下搭建iSCSI共享存储

    转至:https://www.linuxidc.com/Linux/2016-09/135655.htm Linux下搭建iSCSI共享存储 拓扑: 实验步骤: ------------------- ...

  7. 详解Linux配置iSCSI方法

    iSCSI技术是在2001年初由IBM及Cisco联合制定的技术,在2003年5月微软在 Windows 2003中 开始自己正式支持iSCSI微软此举很大程度上的推动了iSCSI技术的发展.下面为大 ...

  8. Linux下multipath多路径配置

    一.什么是多路径 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系.而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存 储通过了光纤交换机或者多块网卡及IP ...

  9. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

随机推荐

  1. 杂项-Java:Spring

    ylbtech-杂项-Java:Spring Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.Spring是于200 ...

  2. 阿里云服务器用Docker配置运行nginx并访问

    一.Docker拉取nginx镜像 docker pull nginx:1.12.2 这里是下载的是nginx的1.12.2版本,其他版本的镜像请访问https://hub.docker.com/r/ ...

  3. 【转】使用Docker+Jenkins自动构建部署

    转载自 https://segmentfault.com/a/1190000012921606 环境 阿里云ESC,宿主机服务器安装Docker,在安全规则中确认8080端口开启. 客户端mac 运行 ...

  4. BZOJ 1786 DP

    思路: 肯定从小往大填合适了 f[i][j]表示第i个数是j的最少逆序对数 f[i][j]=min(f[i-1][k]+cost,f[i][j]) 优化一下成O(nk)就好啦~ (不优化也可以过的-) ...

  5. CheckBox的Attributes

    在看老同事写的代码的时候,发现了这样的一段代码:之前自己没有遇到过,记录下吧. 大致是这样的 foreach (GridViewRow grv in GridView1.Rows) { CheckBo ...

  6. Sphinx在windows下安装使用[支持中文全文检索]

    原文地址:http://www.fuchaoqun.com/2008/11/sphinx-on-windows-xp/ 前 一阵子尝试使用了一下Sphinx,一个能够被各种语言(PHP/Python/ ...

  7. ZBrush中Pinch捏挤笔刷介绍

    随着版本的升级ZBrush®中给我们提供了越来越多的笔刷,对于这款软件来说,笔刷的使用是第一要素,也会一直伴随我们创作.虽然Zbrush中有那么多的笔刷,但是很多朋友会根据自己的习惯来使用,这个并不是 ...

  8. day13 基本的文件操作(好东西)

    目录 基本的文件处理 什么是文件 如何使用文件 使用Python写一个小程序控制文件 open(打开文件) read: readline:一次性读取一行 del:删除 close:关闭 write(写 ...

  9. com.jasson.im.api.APIClient jar包 下载

    包名:ImApi2.3.jar 链接: https://pan.baidu.com/s/1SgeufcaH6y_K-AJEKDZDtw 提取码: 3v78 复制这段内容后打开百度网盘手机App,操作更 ...

  10. 安装SSH、配置SSH无密码登录 ssh localhost

    集群.单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server ...