搭建iscsi

我们就拿两台linux服务器来做吧,

服务器系统均为CentOs6.6 64位的,信息如下

IP 安装的软件
192.168.22.142 iscsi target端:scsi-target-utils.x86_64
192.168.160.191 iscsi客户端:iscsi-initiator-utils
在172.16.22.142安装iscsi-target

采用yum安装

[root@salt ~]# yum -y install scsi-target-utils
[root@salt ~]# rpm -ql scsi-target-utils
/etc/rc.d/init.d/tgtd #启动脚本
/etc/sysconfig/tgtd
/etc/tgt/targets.conf #配置文件
/usr/sbin/tgt-admin
/usr/sbin/tgt-setup-lun
/usr/sbin/tgtadm
/usr/sbin/tgtd
/usr/sbin/tgtimg
/usr/share/doc/scsi-target-utils-1.0.24
/usr/share/doc/scsi-target-utils-1.0.24/README
/usr/share/doc/scsi-target-utils-1.0.24/README.iscsi
/usr/share/doc/scsi-target-utils-1.0.24/README.iser
/usr/share/doc/scsi-target-utils-1.0.24/README.lu_configuration
/usr/share/doc/scsi-target-utils-1.0.24/README.mmc
/usr/share/man/man5/targets.conf.5.gz
/usr/share/man/man8/tgt-admin.8.gz
/usr/share/man/man8/tgt-setup-lun.8.gz
/usr/share/man/man8/tgtadm.8.gz

编辑配置文件,置iscsi。

[root@salt ~]# vim /etc/tgt/targets.conf
'''
<target iqn.2016-11.com.ljf:server.target1>
backing-store /dev/sdb #/dev/sdb 新硬盘,没有格式化和创建文件系统的
</target>
'''

参数解释:

iqn.2016-11.com.ljf:\server.target1

notice: :\server这里的\是为了不让有道markdown自动生成表情

target 后面跟着的名称(也就是iqn.2016-11.com.ljf:\server.target1)在同一子网内应该是唯一的。标准命名方式是:

iqn.yyyy-mm.[:identifier]

参数含义如下:

  • iqn iscsi Qualified name
  • YYYY-MM 表示“年份-月份”
  • reversed domain name 表示倒过来的域名
  • identified 表示识别代码。

backing-store /dev/sdb

关于backing-store,这里先解释下共享的两种store,

  • backing-store : 任何Initiator可以访问
  • direct-store:可以设定acl进行限制哪些Initiator访问

/dev/sdb 表示把/dev/sdb/作为iscsi盘共享出去。

启动服务

确定配置没有问题后,启动

[root@salt ~]# service  tgtd start
Starting SCSI target daemon: [ OK ]
[root@salt ~]# service tgtd status
tgtd (pid 4839 4837) is running...
[root@salt ~]# netstat -lnpt |grep tgtd
tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 4837/tgtd
在172.16.160.191安装iscsi-initiator-utils

命令如下

[root@localhost ~]# yum -y install iscsi-initiator-utils
[root@localhost ~]# rpm -ql iscsi-initiator-utils
/etc/NetworkManager
/etc/NetworkManager/dispatcher.d
/etc/NetworkManager/dispatcher.d/04-iscsi
/etc/iscsi
/etc/iscsi/iscsid.conf
/etc/logrotate.d/iscsiuiolog
/etc/rc.d/init.d/iscsi
/etc/rc.d/init.d/iscsid
/sbin/brcm_iscsiuio
/sbin/iscsi-iname
/sbin/iscsiadm
/sbin/iscsid
/sbin/iscsistart
/sbin/iscsiuio
/usr/lib64/libiscsi.so.0
/usr/lib64/python2.6/site-packages/libiscsimodule.so
/usr/share/doc/iscsi-initiator-utils-6.2.0.873
/usr/share/doc/iscsi-initiator-utils-6.2.0.873/README
/usr/share/man/man8/iscsi-iname.8.gz
/usr/share/man/man8/iscsiadm.8.gz
/usr/share/man/man8/iscsid.8.gz
/usr/share/man/man8/iscsistart.8.gz
/usr/share/man/man8/iscsiuio.8.gz
/var/lib/iscsi
/var/lib/iscsi/ifaces
/var/lib/iscsi/isns
/var/lib/iscsi/nodes
/var/lib/iscsi/send_targets
/var/lib/iscsi/slp
/var/lib/iscsi/static
/var/lock/iscsi

安装好iscsi-initiator-utils以后,我们可以使用它了,但是需要先了解下面三样:

  • iscsiadm

    此命令用来管理(更新,删除,插入,查询)iscsi配置数据库文件的命令行工具,用户能够用它对ISCSI nodes,sessions,connections 和discovery records进行以系列草走
  • /var/lib/iscsi/send_targets/

    在此目录下,会生成一个或者多个以ISCSI存储服务器的IP地址和端口号命名的文件夹,文件名“ISCSI Target ip,端口号”,例如我这里的显示的:172.16.22.142,3260
  • /var/lib/iscsi/nodes/

    在这个目录下会生成一个或者多个以ISCSI存储服务器上的Target命名的文件夹,在该文件夹下有一个文件名为“iscsi portal IP,端口号”,例如:iqn.2016-11.com.ljf:\server.target1。该文件是ISCSI Initiator登陆ISCSI target使用的参数,而这些参数的设置从/etc/iscsi/iscsi.conf中的参数继承而来,可以通过一个iscsiadm命令对这个参数进行更改的。

了解上面的以后,下面执行命令试试看

[root@localhost ~]# iscsiadm -m discovery --type sendtargets --portal 172.16.22.142
172.16.22.142:3260,1 iqn.2016-11.com.ljf:server.target1
或者下面这条
[root@localhost ~]# iscsiadm -m discovery --type sendtargets -p 172.16.22.142
172.16.22.142:3260,1 iqn.2016-11.com.ljf:server.target1

iqn.2016-11.com.ljf:\server.target1 是ISCSI target的名称。由于在配置ISCSI target的时候,没有做任何限制,所以允许所有的客户端连接ISCSI target共享磁盘。

在第一次成功执行上面的命令后,ISCSI Initiator就会将查询记录写到/var/lib/iscsi/send_targets对应的目录下。

接下来登陆iscsi共享出来的磁盘

[root@localhost ~]# iscsiadm -m node -T iqn.2016-11.com.ljf:server.target1 -p 172.16.22.142 -l

参数解释

  • -l login,登陆
  • -T name of target
  • -p ip of HOST

登陆后,我们通过“fdisk -l”检查下本地是否正常识别出来了,或者查看dmesg也可以看出来。

[root@localhost ~]# fdisk -l   

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003a69b Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 157 1048576 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 157 3917 30202880 8e Linux LVM Disk /dev/mapper/VolGroup-LogVol00: 30.9 GB, 30924603392 bytes
255 heads, 63 sectors/track, 3759 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000 # 看/dev/sdb已经在本地显示了,说明挂载成功了,
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
64 heads, 32 sectors/track, 20480 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

或者通过iscsiadmin命令查看,命令如下:

[root@localhost ~]# iscsiadm -m session
tcp: [2] 172.16.22.142:3260,1 iqn.2016-11.com.ljf:server.target1 (non-flash) #[2]代表seesion id
[root@localhost ~]# iscsiadm -m session -r 2 # -r 指明session id即可。
# BEGIN RECORD 6.2.0-873.13.el6
node.name = iqn.2016-11.com.ljf:server.target1
node.tpgt = 1
node.startup = automatic
node.leading_login = No
此处省略一万字

至此,我们可以像使用本地磁盘一样的操作/dev/sdb这块磁盘了.

Notice

关机之前或者不使用的时候切记一定要取消target的挂载,避免浪费资源,命令如下:

[root@localhost ~]# iscsiadm -m node -T iqn.2016-11.com.ljf:server.target1 -p 172.16.22.142 -u
Logging out of session [sid: 1, target: iqn.2016-11.com.ljf:server.target1, portal: 172.16.22.142,3260]
Logout of [sid: 1, target: iqn.2016-11.com.ljf:server.target1, portal: 172.16.22.142,3260] successful.
[root@localhost ~]# fdisk -l Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003a69b Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 157 1048576 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 157 3917 30202880 8e Linux LVM Disk /dev/mapper/VolGroup-LogVol00: 30.9 GB, 30924603392 bytes
255 heads, 63 sectors/track, 3759 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000 很明显,/dev/sdb已经取消挂载了。

网络存储(三)之ISCSI搭建的入门的更多相关文章

  1. linux中网络存储与考试系统搭建(实现多用户可以共享文件)

    上期内容回顾 1.数据备份的方式有哪些 全量和增量 2.数据备份的命令有哪些 都有哪些优点缺点 cp : 本地复制,全量复制 scp : 远程复制,全量复制 rsync : 远程复制,增量复制 3.r ...

  2. iscsi 挂载网络存储及存储访问

    http://blog.sina.com.cn/s/blog_408764940101ghzi.html 一.Ess3016x设置 登陆admin 密码 888888888888 1.安装硬盘,查看硬 ...

  3. 网络存储(二)之ISCSI原理

    组成 一个简单ISCSI系统大致由以下部分构成 ISCSI Initiator 或者 ISCSI HBA ISCSI Target 以太网交换机 一台或者多台服务器 结构图如下: iscsi服务器用来 ...

  4. 第17章 使用iSCSI服务部署网络存储

    章节概述: 本章节将分析SCSI与iSCSI技术结构的不同,了解iSCSI技术的优势.SAN存储网络技术结构以及iSCSI HBA卡的作用. 完整演示部署iSCSI target服务程序的方法流程:创 ...

  5. 《linux就该这么学》第十六节课:第16,17章,Squid服务和iscsi网络存储

    第十六章 squid总结: 正向代理:yum  安装后清空防火墙即可正常使用,客户端设置浏览器 透明正向代理:vim  /etc/squid/squid.conf 59行:http_port  312 ...

  6. 配置iSCSI部署网络存储

    iSCSI( Internet Small Computer System Interface 互联网小型计算机系统接口)是由IBM 下属的两大研发机构一一加利福尼亚AImaden和以色列Haifa研 ...

  7. ISCSI网络存储

    ISCSI(iSCSI,Internet Small Computer System Interface) iSCSI技术实现了物理硬盘设备与TCP/IP网络协议的相互结合,使得用户可以通过互联网方便 ...

  8. Linux基础学习-使用iSCSI服务部署网络存储

    使用iSCSI服务部署网络存储 iSCSI技术实现了物理硬盘设备与TCP/IP网络协议的相互结合,使得用户可以通过互联网方便地访问远程机房提供的共享存储资源.下面介绍如何在Linux上部署iSCSI服 ...

  9. 《Linux就该这么学》培训笔记_ch17_使用iSCSI服务部署网络存储

    <Linux就该这么学>培训笔记_ch17_使用iSCSI服务部署网络存储 文章最后会post上书本的笔记照片. 文章主要内容: iSCSI技术介绍 创建RAID磁盘阵列 配置iSCSI服 ...

随机推荐

  1. flex弹性布局学习笔记

    前言 资料来源于网络,本人只是对此作了一下操作,记录于此以便以后查阅.目的在于梳理自己前端凌乱的知识点. 本文根据 Brian Franco 的一个flexbox.scss库来记录 入职新公司前对移动 ...

  2. Xamarin Android -创建Splash Screen (一)

    ......(空话少说) Xamarin 开发的技术资料很少,通过学习,把自己的学习过程及其中碰到的问题与大家分享. Splash Screen 就是在应用程序启动时,出现的一张图片,一般App的Sp ...

  3. mysql 根据字段重复 删除 保留一条

    delete from TableName where id not in (select minid from (select min(id) as minid from TableName gro ...

  4. CSS中margin与padding的区别

    CSS边距属性定义元素周围的空间.通过使用单独的属性,可以对上.右.下.左的外边距进行设置.也可以使用简写的外边距属性同时改变所有的外边距.——W3School 边界(margin):元素周围生成额外 ...

  5. android Envieroment类

    Constants String MEDIA_BAD_REMOVAL 在没有挂载前存储媒体已经被移除. String MEDIA_CHECKING 正在检查存储媒体. String MEDIA_MOU ...

  6. cmd 下telnet 不是内部或外部命令

    问题:cmd 下telnet 提示不是内部或外部命令 解决方案:

  7. MyBatis学习--SqlMapConfig.xml配置文件

    简介 SqlMapConfig.xml是MyBatis的全局配置文件,在前面的文章中我们可以看出,在SqlMapConfig.xml主要是配置了数据源.事务和映射文件,其实在SqlMapConfig. ...

  8. android时区

    <timezones>    <timezone id="Pacific/Majuro">马朱罗</timezone>    <timez ...

  9. [转]jsp与servlet的区别联系

    原文地址:http://bbs.itheima.com/thread-28972-1-1.html Servlet是Java提供的用于开发Web服务器应用程序的一个组件,运行在服务器端,由Servle ...

  10. 网站(logo,主机)

    logo生成网站  http://www.uugai.com/ 花生壳 http://hsk.oray.com/download/