一、NAS和SAN服务器概述

SAS 容量小, 300G, 600G, 900G, 价格贵。

SATA容量大,500G, 750G, 1T, 2T, 3T, 4T   不支持热插拔,价格低。

假SAS盘:容量大, 支持热插拔,价格低, SAS接口的sata盘 ,  速度慢 。

1.关于存储方式

1.直连式存储: 我们普通PC机就是直连存储,使用跳线和主板总线相连

优点:1. 使用方便

2. 直接识别为一个块设备。然后,制作分区、文件系统、挂载访问

缺点:1. 消耗本服务器的资源I/O、CPU

2.非直连式存储:NAS网络附属存储和SAN存储区域网络

网络性能很重要1000mbps、10000mbps (万兆网卡,10G)、100G网卡

以太网/光纤网  依赖网络, 网卡, 网线, ==> 网络

2.NAS网络存储:

NAS(Network Attached Storage),NAS服务器是连接在网络上,具备资料存储功能的服务器,一种专用数据存储服务器。网络附属存储基于标准网络协议(Tcp/IP)实现数据传输,为网络中的Windows / Linux / Mac OS 等各种不同操作系统的计算机提供文件共享和数据备份。部分NAS系统还可以支持FTP, HTTP, SQL SQLSERVER等等功能,比如说现在NAS品牌 群晖!

国内: 群晖Synology, 希捷, 西部数码, 威联通

国际:  Netapp, OUO, Dell, EMC

专业开源NAS系统: freeNAS, nas4free, OpenMediaValut, [H群晖]

美国八大金刚: Cisco, IBM, Google, 高通, Intel, Apple, 甲骨文, Microsoft

去IOE计划:  IBM[小型机],Oracle[DB],EMC[存储]

NAS优点:1. I/O消耗由前端服务器转移到后端存储设备上

2. 扩展方便

NAS缺点:1. 以前网络会成为瓶颈, 但是现在使用10G光纤卡,就可以解决这个问题。

 

3.NAS常见的技术:NFS和CIFS

NAS采用了NFS技术实现类Unix系统之前存储共享。使用CIFS实现Windows与类Unix系统之前数据共享。samba 服务器就是使用CIFS计术。

4.SAN存储:

存储区域网络(Storage Area Network and SAN Protocols,简写SAN,即存储区域网络,是一种高速网络,提供在计算机与存储系统之间的数据传输。存储设备是指一台或多台用以存储计算机数据的磁盘设备,通常指磁盘阵列。

 

SAN存储,采用网状通道(Fibre Channel ,简称FC)技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。

SAN由于其基础是一个专用网络,因此扩展性很强,不管是在一个SAN系统中增加一定的存储空间还是增加几台使用存储空间的服务器都非常方便。

5.SAN的存储类型:

IPSAN: 不同的网络上, 使用TCP/IP协议的iscsi协议封装构件的存储区域网络

FSCAN: 利用光纤线, 通过高速FC交换机构件的存储区域网络,。(scsi协议)

6.NAS与SAN的区别在两方面:

第一,从网络架构来说,本质区别在于:

NAS,直接使用TCP/IP传输数据。SAN使用SCSI或iSCSI协议传输数据。

第二,从文件读写实现方法上来说,本质区别在于:

NAS采用了NFS和 CIFS技术实现文件共享。说明NAS是基于操作系统的“文件级”读写操作。

SAN中计算机和存储间的接口是底层的块协议,它按照协议头的“块地址+偏移地址”来定位。共享的存储和前端的操作系统类型没有关系,任何服务器操作系统,都可以正常识别。

7.SAN存储架构图:

配置成功后:  存储设备被前端server直接识别为块设备,即硬盘。

二、实战:配置一个IP SAN存储服务器

1. 拓扑图:

2. 环境搭建:

IP-SAN的运行模式:    C/S模式, 工作端口3260

服务端:服务名-target          xuegod63.cn(目标)

客户端:服务名-initator        xuegod62.cn     xuegod64.cn(发起人).

禁用防火墙 关闭selinux

3. xuegod63服务端的配置

安装target

[root@xuegod63 Desktop]# yum -y install targetcli

启动服务:

[root@xuegod63 ~]# systemctl start target

[root@xuegod63 ~]# netstat -antup | grep 3260  #没有配置前服务没起来

新建存储分区: sdb1  大小5G

[root@xuegod63 ~]# fdisk /dev/sdb   #划分出sdb1分区

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

switch off the mode (command 'c') and change display units to

sectors (command 'u').

Command (m for help): p

Disk /dev/sdb: 10 GB, 11474836480 bytes

255 heads, 63 sectors/track, 2610 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: 0x000b8b35

Device Boot      Start         End      Blocks   Id  System

Command (m for help): n

Command action

e   extended

p   primary partition (1-4)

p

Selected partition 4

First cylinder (1428-2610, default 1428):

Using default value 1428

Last cylinder, +cylinders or +size{K,M,G} (1428-2610, default 2610): +5G

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

 [root@xuegod63 ~]#reboot  或者   partx -a /dev/sdb  #使分区生效,多执行几次即可

配置存储

[root@xuegod63 ~]# targetcli      #进入交互配置

targetcli shell version 2.1.fb46

Copyright 2011-2013 by Datera, Inc and others.

For help on commands, type 'help'.

/>help                  #可以使用help查看帮助文件

/>/backstores/block create sun1 /dev/sdb1        #建立一个块存储,其中sun1自定义名称

/>/iscsi create iqn.2018-04.cn.xuegod:server    #配置ISCSITarget命名,注意:命名在同一子网内确保是唯一的,命名格式为:iqn.yyyy-mm.<主机名反写>:自定义名称(自定义名称内不能有下划线)

/> iscsi/iqn.2018-04.cn.xuegod:server/tpg1/acls/ create iqn.2018-04.cn.server:xugod62   #创建ACL允许ISCSI客户机连接

/> iscsi/iqn.2018-04.cn.xuegod:server/tpg1/luns/ create /backstores/block/sun1                #创建lun(target块设备的逻辑单元)

/> iscsi/iqn.2018-04.cn.xuegod:server/tpg1/portals create 192.168.2.63      #注:192.168.2.63为服务器IP;不指定端口默认为3260

/> iscsi/iqn.2018-04.cn.xuegod:server/tpg1/portals delete 0.0.0.0            #删除IP方法:portals delete 0.0.0.0 3260

配置验证用户名和密码(这一步可以省略)

/> cd  iscsi/iqn.2018-04.cn.xuegod:server/tpg1/acls/iqn.2018-04.cn.server:xuegod64/         #cd到此客户目录下

/>set auth userid=test

/>set auth password=test

/> saveconfig  #保存配置,退出也相应的进行保存配置

/>exit  #退出

4. xuegod62服务端的配置

安装包:

[root@xuegod62 ~]# yum install -y iscsi-initiator-utils

启动iscsi服务

[root@xuegod62 ~]# systemctl start iscsi

设置开机启动服务

[root@xuegod62 ~]# systemctl enable iscsi

配置ISCSIInitiator名称

注:此处InitiatorName必须与服务端配置的ACL允许ISCSI客户机连接的名称一致。

[root@xuegod62 ~]# vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2018-04.cn.server:xugod62

[root@xuegod62 ~]# vim /etc/iscsi/iscsid.conf          #如果没有配置验证,这里不需要操作

重启服务

[root@xuegod62 ~]#systemctl restart iscsid

发现(查找)ISCSI设备

[root@xuegod62 ~]# iscsiadm -m discovery -t st -p 192.168.2.63

连接ISCSI设备

[root@xuegod62 ~]# iscsiadm -m node --login

查看系统磁盘信息

[root@xuegod62 ~]# ls /dev/sdb*

格式化挂载

[root@xuegod62 ~]# mkfs.xfs /dev/sdb

将共享磁盘挂载到指定目录

[root@xuegod62 ~]#  mount /dev/sdb  /opt

测试写文件

[root@xuegod62 ~]#  echo aabbcc >/opt/a.txt

5. xuegod64服务端的配置

安装包:

[root@xuegod64 ~]# yum install -y iscsi-initiator-utils

启动iscsi服务

[root@xuegod64 ~]# systemctl start iscsi

设置开机启动服务

[root@xuegod64 ~]# systemctl enable iscsi

配置ISCSIInitiator名称

注:此处InitiatorName必须与服务端配置的ACL允许ISCSI客户机连接的名称一致。

需要重复上面第一次配置客户端方法 增加xuegod64客户

[root@xuegod64 ~]# vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2018-04.cn.server:xugod64

重启服务

[root@xuegod64 ~]#systemctl restart iscsid

发现(查找)ISCSI设备

[root@xuegod64 ~]# iscsiadm -m discovery -t st -p 192.168.2.63

连接ISCSI设备

[root@xuegod64 ~]# iscsiadm -m node --login

查看系统磁盘信息

[root@xuegod64 ~]# ls /dev/sdb*

将共享磁盘挂载到指定目录

[root@xuegod64 ~]#  mount /dev/sdb  /opt

查看文件

[root@xuegod64 ~]# cat   /opt/a.txt

 

target存储服务器信息在客户端存储的位置:

[root@xuegod64 ~]# yum install -y tree       #安装tree命令,用于查询树

[root@xuegod64 ~]# tree /var/lib/iscsi/      #发现target后,会在此目录先生成树结构

/var/lib/iscsi/

├── ifaces

├── isns

├── nodes

│   └── iqn.2018-04.cn.xuegod:server

│       └── 192.168.2.63,3260,1

│           └── default

├── send_targets

│   └── 192.168.2.63,3260

│       ├── iqn.2018-04.cn.xuegod:server,192.168.2.63,3260,1,default -> /var/lib/iscsi/nodes/iqn.2018-04.cn.xuegod:server/192.168.2.63,3260,1

│       └── st_config

├── slp

└── static

7.测试: xuegod64 和xuegod62 都挂载上硬盘,数据同步 ?

[root@xuegod64 ~]# cp /etc/passwd  /opt/    #复制一些数据

查看:xuegod62  是否数据同步

[root@xuegod62 ~]# ls /opt/

a.txt

没有看到passwd文件,添加新数据并没有同步

没有同步,是因为我们使用的XFS 文件系统,XFS文件系统不支持多个客户端同时使用。 使用GFS文件系统就可以同步。

相关连接:  http://343614597.blog.51cto.com/7056394/1699563           //SAN+GFS 配置

三、排错

报错如下:

1. 无法发现设备

[root@mwdinit ~]# iscsiadm -m discovery –t st -p192.168.2.63

iscsiadm: cannot make connection to 192.168.2.63: Connectionrefused

iscsiadm: cannot make connection to 192.168.2.63: Connectionrefused

iscsiadm: connection login retries (reopen_max) 5 exceeded

iscsiadm: Could not perform SendTargets discovery: encounteredconnection failure

解决:因服务端未指定ip和端口, 重新指定

o- portals ..................................................................................[Portals: 1]

|       o- 192.168.2.63:3260

2、客户端查找不到服务端的ISCSI设备

iscsiadm: Could not perform SendTargets discovery: encounteredconnection login failure

解决:

lsof -i:3260发现tgtd服务也启动了,这样与target服务共用了端口,把tgtd服务关掉并设置为开机不启动

停止:# systemctl stop tgtd

开机不启动:# systemctl disable tgtd

3、Could not create NetworkPortal in configFS

原因:发现

portals..................................................................................[Portals: 1]

|       o- 0.0.0.0:3260

已经存在了一个IP和端口,需要删除

解决:/>cd /iscsi/ iqn.2018-04.cn.xuegod:server/tpg1/portals

/>/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260

注:ip和端口之间有一个空格

iscsi序列一、搭建iscsi存储系统的更多相关文章

  1. iscsi序列二、iscsi多路径配置方式

    一.ISCSI多路径应用 如果存储服务器到交换机只有一条线路的时候,那么一条线路出线故障,整个就没法使用了,所以多线路可以解决这个问题,避免单点故障 如上图,如果SAN服务器与客户端交换机只有一条线路 ...

  2. 搭建iSCSI文件服务器故障转移群集

    故障转移群集(Failover Cluster)可以提供一个高可用性应用程序或服务的网络环境,本章将接受如何搭建iSCSI SAN文件服务器故障转移群集. 故障转移群集概述 我们可以将多台服务器组成一 ...

  3. 【原创】Centos 7利用软件Raid搭建ISCSI过程

    测试机器安装了4块2T硬盘,一块320G硬盘,利用320G硬盘安装CentOS 7系统,在CentOS 7系统上利用4块2T硬盘组建Raid 0,再配置iSCSI存储.注意,本文中的RAID指的是软R ...

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

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

  5. Linux下搭建iSCSI共享存储的方法 TGT 方式 CentOS6.9系统下

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

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

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

  7. Linux下搭建iSCSI共享存储的方法 TGT 方式 Debian9.5系统下

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

  8. RedHat Enterprise7 搭建ISCSI

    IP 主机名 作用 10.45.129.113/24      外网 172.16.1.10/24        内网 rac1 RAC节点1 10.45.129.114/24      外网 172 ...

  9. Linux下搭建iSCSI共享存储

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

随机推荐

  1. C 动态内存申请

    例子: int *p=0; int number=0; scanf("%d",&number); p = (int*)malloc(number*sizeof(int));

  2. 13_Redis_持久化

    一:概述: Redis的高性能是山于其将所有数据都存储在了内存中,为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化. Redis支持两种方式的持久化,一 ...

  3. vue store获取值时 Computed property "activeTag" was assigned to but it has no setter.

    出现原因: element-ui中 el-tab绑定的值在切换tab时会自动修改 而activeTag是从store中获取的值,不能直接修改 要添加给它绑定上set   <el-tabs cla ...

  4. NOI2018 你的名字——SAM+线段树合并

    题目链接在这里洛谷/LOJ 题目大意 有一个串\(S\),每次询问给你一个串\(T\),两个数\(L\)和\(R\),问你\(T\)有多少个本质不同的子串不是\(S[L,R]\)的子串 SOLUTIO ...

  5. linux (wsl) npm 无法安装包

    错误代码如下 request to https://registry.npm.taobao.org/yrm failed, reason: getaddrinfo EAI_AGAIN registry ...

  6. CSS3 -- column 实现瀑布流布局

    本例使用 CSS column 实现瀑布流布局 关键点,column-count: 元素内容将被划分的最佳列数 关键点,break-inside: 避免在元素内部插入分页符 html div.g-co ...

  7. Oracle 11 安装 提示环境不满足最低要求解决方案

    在 Oracle 安装包 中,找到 stage 文件夹 切入,再找到 cvu 文件夹,找到 cvu_prereq.xml 文件 ,进行编辑 新增 这一块内容. <OPERATING_SYSTEM ...

  8. Qt5 使用lambda

    c11新特性中加入了lambda表达式,所以Qt 也支持 需在.pro文件中加入 CONFIG += c++11 m_timer = new QTimer(); m_timer->start() ...

  9. [RxJS] RxJS Advanced Patterns Operate Heavily Dynamic UIs

    Check the playground. import {Counter, CountDownState, ConterStateKeys, PartialCountDownState} from ...

  10. noi 2011

    描述 已知长度最大为200位的正整数n,请求出2011^n的后四位. 输入 第一行为一个正整数k,代表有k组数据,k<=200接下来的k行, 每行都有一个正整数n,n的位数<=200 输出 ...