前景摘要: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

centos 6.5 x64创建并挂载使用iscsi共享磁盘的更多相关文章

  1. 通过udev创建ASM共享磁盘(RAC)

    OS:RedHat EL6.0 Oracle:   Oracle 11gR2 在Oracle 11gR2,构建RAC时可以通过ASM创建asm disk,但是需要安装asmlib相关软件:对于RedH ...

  2. 转://通过udev创建ASM共享磁盘(RAC)

    OS:RedHat EL6.0 Oracle:   Oracle 11gR2 在Oracle 11gR2,构建RAC时可以通过ASM创建asm disk,但是需要安装asmlib相关软件:对于RedH ...

  3. Varnish CentOS 6.4 x64

    CentOS 6.4 x64 Varnish 安装配置     Varnish的官方网址为http://varnish-cache.org   首先下载Varnish 稳定版本3.0.3   wget ...

  4. CentOS系统下的数据盘挂载

    此教程适用系统:Linux(CentOS,Debian,Ubuntu,Fedora) 通常新开通的Linux云服务器数据盘都未做分区和格式化.在进行数据盘挂载之前我们要先进行分区以及格式化操作.注意, ...

  5. Centos 6.5 x64环境下 spark 1.6 maven 编译-- 已验证

    Centos 6.5 x64 jdk 1.7 scala 2.10 maven 3.3.3 cd spark-1.6 export MAVEN_OPTS="-Xmx2g -XX:MaxPer ...

  6. Centos 6.5 X64 环境下编译 hadoop 2.6.0 --已验证

    Centos 6.5 x64 hadoop 2.6.0 jdk 1.7 protobuf-2.5.0 maven-3.0.5 set environment export JAVA_HOME=/hom ...

  7. CentOS 6.X x64 编译安装 Countly

    CentOS 6.X  x64 编译安装Countly 安装所需的软件 yum -y install supervisor ImageMagick sendmail 1. 安装 node.js wge ...

  8. CentOS 5.8 x64 源码安装 samba-3.6.9

    环境 CentOS 5.8 X64      wget http://www.samba.org/samba/ftp/stable/samba-3.6.9.tar.gz   tar zxvf samb ...

  9. CentOS 6.7下创建桌面快捷方式

    CentOS 6.7下创建桌面快捷方式如下: 1 在桌面右键,选择“创建启动器" 2 在弹出菜单中,填写名称(显示在桌面上的名字),命令(可执行程序的路径) 3 点击弹出菜单左边的图标,选择 ...

随机推荐

  1. Java JDK配置环境变量

    JDK的配置环境变量. 1.下载JDK,然后安装(点下一步). 2.右键单击  "计算机" ,选择  "属性".   3.单击 "高级系统设置&quo ...

  2. Quartz conTrigger 定时器表达式大全

    CronTrigger配置格式: 格式: [秒] [分] [小时] [日] [月] [周] [年]  序号 说明   是否必填  允许填写的值 允许的通配符   1  秒  是  0-59    , ...

  3. VS2010 使用 EntityFramework For SQL Server Compact 4.0

    1.安装 SSCERuntime_x64-ENU.exe 或 SSCERuntime_x86-ENU.exe 2.安装 SSCEVSTools-CHS.msi 3.然后就可以通过 SQL Server ...

  4. python-program

    程序需要一步步改进,解决bug,尽量从源头判断,并给出处理措施. 1.客户端执行一次,程序就退出, 2.客户端空值,错误命令,程序会死掉 3.收发缓冲区大小,即recv(1024)的问题,如果收一个1 ...

  5. 数据库中Schema和Database有什么区别

    在MySQL中创建一个Schema好像就跟创建一个Database是一样的效果,在SQL Server和Orcal数据库中好像又不一样. 目前我只能理解,在mysql中 schema<==> ...

  6. [转]''\\=DevExpress 中 汉化包 汉化方法

    [DevExpress]DevExpress 中 汉化包 汉化方法 2016-02-17 21:13 1781人阅读 评论(0) 收藏 举报  分类: DevExpress(24)  版权声明:本文为 ...

  7. linux 1-100的累加

    [   ]   判断式.它的使用和test命令一样 [ ]的判断符,只会返回2种值.0(真) 非0(假) -gt 大于-lt 小于-eq 等于-ne 不等于-ge 大于等于-le 小于等于 while ...

  8. 服务端性能测试工具校验v1.0

    性能测试工具对服务端进行并发测试时,如果工具本身问题或异常就会造成真实并发与实际并发有差距,要测试10000/S并发的性能结果实际到达服务端的并发达不到95%,这样的测试无效. 所以给大家共享,我做的 ...

  9. 循环语句--while

    有一种循环叫死循环,一经触发,就运行个天荒地老.海枯石烂 #coding=utf-8 count=0 while True: print("你是风儿我是沙,缠缠绵绵到天涯...", ...

  10. PHP网页显示乱码问题总结

    其实,乱码,都是因为编码不统一的问题导致的. 以UTF-8编码为例: 第一步,确定数据库字段的编码,字符集:urt8 第二部,PHP脚本设置编码:header('Content-Type: text/ ...