前景摘要: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. 十分钟搞定微信企业帐号“echostr校验失败,请您检查是否正确解密并输出明文echostr”

    问题域:在这里我们只解决密文可以正确解密,但微信验证提示“echostr校验失败,请您检查是否正确解密并输出明文echostr”的问题. 干货:没有正确验证的原因是:你给微信返回的是字符串,而微信需要 ...

  2. 一触即发 App启动优化最佳实践

    一触即发 App启动优化最佳实践 本文在 DiyCode 和 CSDN个人博客 同时首发,关注作者的 DiyCode帐号 或者 作者微博 可第一时间收到新文章推送. 文中的很多图都是Google性能优 ...

  3. 《Matrix Computation 3rd》读书笔记——第2章 矩阵分析

  4. 使用OpenLDAP构建基础账号系统

    LDAP - Lightweight Directory Access Protocol,对该协议的具体应用,常见的是微软的Active Directory服务和Linux上的OpenLDAP组件. ...

  5. sql中的跨库查询

    在sql查询时,需要关联2个服务器上的不同数据库,只需要在所需查询的表名前加上服务器地址即可. 例如:在 192.168.0.15,8020的db110库 和 192.168.0.150,8082的d ...

  6. 结构体struct 与 联合union

    1.C语言中的结构体 1.1 定义 结构体是由一系列相同或不同类型的变量组成的集合. struct 结构体名{               //struct为关键字,“结构体名”为用户定义的类型标识. ...

  7. LeetCode "468. Validate IP Address"

    it is all about corner-cases... class Solution(object): def validIP4(self, IP): def validNum4(s): tr ...

  8. c++智能指针实现方式1

    #include<iostream> using namespace std; // 定义仅由HasPtr类使用的U_Ptr类,用于封装使用计数和相关指针 // 这个类的所有成员都是pri ...

  9. C指针详解(经典,非常详细)

    前言:复杂类型说明要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优 ...

  10. OAF_开发系列06_实现OAF属性集的介绍和开发Attribute Set(案例)

    20150705 Created By BaoXinjian