Noway11

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

前景摘要:NFS或iSCSI,哪个更好?
文件 vs 块
NFS使用文件级别的实施,服务器或存储阵列托管整个文件系统,客户到文件系统上读写文件,可以在阵列端对主存储数据进行重复数据删除。
iSCSI和FC则使用数据块,存储阵列向客户提供数据块集合,赋予原始存储数据一定的格式化,而不去管文件系统究竟如何使用。
从网络角度看,NFS和iSCSI也存在明显的差异。采用NFS,额外所需的吞吐量和冗余主要是通过网络链路汇聚来获得,还需小心注意去平衡阵列端多个IP地址别名上的存储连接,以确保负载均衡能够生效。另一方面,iSCSI内置了多路径能力,可提供更多的高级负载均衡算法,在多条服务器和阵列端存储路径上智能化地平衡存储流量。
关于现代NFS实施的一个常见误区是,认为其实施是基于UDP/IP的。这一误解通常来自NFS v2完全基于UDP这一事实。尽管UDP是一个相对低延迟的IP传输协议,但它缺少安全和交付机制,在跟踪目前的TCP/IP网络时难以保障状态连接所带来的好处。而从NFS v3开始,TCP成了它所支持的一个传输协议。

实验环境:
scsi服务端(centos 6.5 x64):10.207.0.155
scsi客户端(centos 6.5 x64):10.207.2.5(挂载端)

linux initiator client挂载netapp iscsi使用其实也是一样的。

1、在服务端安装软件并配置好共享的磁盘,首先在虚拟机中新加入一块硬盘,这里添加10G
[root@server ~]# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 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


Disk /dev/vda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 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: 0x000cdead

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1               1        1045     8388608   83  Linux
/dev/vda2            1045        2089     8388608   83  Linux
/dev/vda3            2089        2611     4194304   82  Linux swap / Solaris
/dev/vda4            2611        6528    31456256    5  Extended
/dev/vda5   *        2612        3134     4194304   83  Linux
/dev/vda6            3134        6528    27259904   83  Linux

2、安装scsi服务端软件
yum install scsi-target-utils -y

添加scsi共享磁盘
[root@server ~]# vim /etc/tgt/targets.conf
default-driver iscsi
<target iqn.2008-09.com.example:0.155.target1>
    backing-store /dev/sda
</target>

####iqn规范定义格式为iqn.domaindate. reverse.domain.name:optional name,例如:iqn.2008-09.com.example:0.155.target1####

关闭防火墙和selinux,启动tgt服务
service tgtd start

[root@server]# netstat -tlunp
tcp        0      0 0.0.0.0:3260                0.0.0.0:*                   LISTEN      1634/tgtd 

3、在客户端安装客户端软件,并设置挂载
安装客户端软件initiator
yum install iscsi-initiator-utils -y

这个安装将iscsid、iscsiadm安装到/sbin目录下,它还将把默认的配置文件安装到/etc/iscsi目录下:
/etc/iscsi/iscsid.conf 所有刚发起的iSCSI session默认都将使用这个文件中的参数设定。
/etc/iscsi/initiatorname.iscsi 软件iSCSI initiator的intiator名称配置文件。
在iscsi启动的时候,iscsid和iscsiadm会读取这两个配置文件。

[root@client]# iscsi-iname
iqn.1994-05.com.redhat:a1b5d296688c

[root@client]# chkconfig iscsi --level 35 on
[root@client]# chkconfig iscsid --level 35 on

Open-iSCSI是通过以下iSCSI数据库文件来实现永久配置的:
Discovery (/var/lib/iscsi/send_targets):在/var/lib/iscsi/send_targets目录下包含iSCSI portals的配置信息,每个portal对应一个文件,文件名为“iSCSI portal IP,端口号”(例如“10.207.0.155,3260”)。
Node (/var/lib/iscsi/nodes):在/var/lib/iscsi/nodes目录下,生成一个或多个以iSCSI存储服务器上的Target名命名的文件夹,在该文件夹下有一个文件名为“iSCSI portal IP,端口号” (例如“10.207.0.155,3260”)的配置参数文件,该文件中是initiator登录target时要使用的参数,这些参数的设置是从/etc/iscsi/iscsi.conf中的参数设置继承而来的,可以通过iscsiadm对某一个参数文件进行更改(需要先注销到target的登录)。

查看是否有共享磁盘
[root@clinet]# iscsiadm -m discovery -t sendtargets -p 10.207.0.155:3260
10.207.0.155:3260,1 iqn.2008-09.com.example:0.155.target1

挂载磁盘
[root@client]# iscsiadm -m node -T iqn.2008-09.com.example:0.155.target1 -p 10.207.0.155 --login
Logging in to [iface: default, target: iqn.2008-09.com.example:0.155.target1, portal: 10.207.0.155,3260] (multiple)
Login to [iface: default, target: iqn.2008-09.com.example:0.155.target1, portal: 10.207.0.155,3260] successful.

####注意:中间2008-09这段是填写上面查询出来的那个磁盘名####

查看是否挂载成功
[root@clinet ~]# fdisk -l

Disk /dev/sda: 584.7 GB, 584652423168 bytes
255 heads, 63 sectors/track, 71079 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: 0x000e12af

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1045     8388608   82  Linux swap / Solaris
/dev/sda2   *        1045        1567     4194304   83  Linux
/dev/sda3            1567        3134    12582912   83  Linux
/dev/sda4            3134       71080   545782784    5  Extended
/dev/sda5            3134        4178     8388608   83  Linux
/dev/sda6            4178        5223     8388608   83  Linux
/dev/sda7            5223       71080   529002496   83  Linux

Disk /dev/sdc: 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
挂载成功后,块设备可以fdisk mkfs挂载使用。

4、查看iSCSI session信息
用iscsiadm -m session查看iSCSI session和设备信息
[root@testpuppet ~]# iscsiadm -m session
tcp: [2] 10.207.0.155:3260,1 iqn.2008-09.com.example:0.155.target1 (non-flash)

5、iscsiadm的命令汇总
iscsiadm是用来管理(更新、删除、插入、查询)iSCSI配置数据库文件的命令行工具,用户能够用它对iSCSI nodes、sessions、connections和discovery records进行一系列的操作。

发现iscsi存储: iscsiadm -m discovery -t st -p ISCSI_IP
查看iscsi发现记录:iscsiadm -m node
删除iscsi发现记录:iscsiadm -m node -o delete -T LUN_NAME -p ISCSI_IP
登录iscsi存储:iscsiadm -m node -T LUN_NAME -p ISCSI_IP -l
登出iscsi存储:iscsiadm -m node -T LUN_NAME -p ISCSI_IP -u
显示会话情况:iscsiadm -m session
登出所有iscsi存储:iscsiadm -m node -U all

iscsiadm -m discovery -t sendtargets -p 10.207.0.155
iscsiadm -m node
iscsiadm -m node -L all
iscsiadm -m node -T iqn.2001-04.com.example-test -p 10.207.0.155 --login
iscsiadm -m node -U all
iscsiadm -m node -T iqn.2001-04.com.example-test -p 10.207.0.155 –logout

 

posted on 2017-01-03 16:55  Noway11  阅读(774)  评论(0编辑  收藏  举报