热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iscsi序列一、搭建iscsi存储系统

一、NAS和SAN服务器概述SAS:容量小,300G,600G,900G,价格贵。SATA:容量大,500G,750G,1T

一、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命名&#xff0c;注意&#xff1a;命名在同一子网内确保是唯一的&#xff0c;命名格式为&#xff1a;iqn.yyyy-mm.<主机名反写>:自定义名称&#xff08;自定义名称内不能有下划线&#xff09;

/> 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&#xff08;target块设备的逻辑单元&#xff09;

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

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

 

配置验证用户名和密码&#xff08;这一步可以省略&#xff09;

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

/>set auth userid&#61;test

/>set auth password&#61;test

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

/>exit  #退出

 

 4. xuegod62服务端的配置

安装包&#xff1a;

[root&#64;xuegod62 ~]# yum install -y iscsi-initiator-utils

启动iscsi服务

[root&#64;xuegod62 ~]# systemctl start iscsi

设置开机启动服务

[root&#64;xuegod62 ~]# systemctl enable iscsi

 配置ISCSIInitiator名称

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

[root&#64;xuegod62 ~]# vim /etc/iscsi/initiatorname.iscsi

InitiatorName&#61;iqn.2018-04.cn.server:xugod62

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

 

重启服务

[root&#64;xuegod62 ~]#systemctl restart iscsid

发现&#xff08;查找&#xff09;ISCSI设备

[root&#64;xuegod62 ~]# iscsiadm -m discovery -t st -p 192.168.2.63

连接ISCSI设备

[root&#64;xuegod62 ~]# iscsiadm -m node --login

查看系统磁盘信息

[root&#64;xuegod62 ~]# ls /dev/sdb*

格式化挂载

[root&#64;xuegod62 ~]# mkfs.xfs /dev/sdb

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

[root&#64;xuegod62 ~]#  mount /dev/sdb  /opt

 

测试写文件

[root&#64;xuegod62 ~]#  echo aabbcc >/opt/a.txt

 

5. xuegod64服务端的配置

安装包&#xff1a;

[root&#64;xuegod64 ~]# yum install -y iscsi-initiator-utils

启动iscsi服务

[root&#64;xuegod64 ~]# systemctl start iscsi

设置开机启动服务

[root&#64;xuegod64 ~]# systemctl enable iscsi

配置ISCSIInitiator名称

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

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

[root&#64;xuegod64 ~]# vim /etc/iscsi/initiatorname.iscsi

InitiatorName&#61;iqn.2018-04.cn.server:xugod64

重启服务

[root&#64;xuegod64 ~]#systemctl restart iscsid

发现&#xff08;查找&#xff09;ISCSI设备

[root&#64;xuegod64 ~]# iscsiadm -m discovery -t st -p 192.168.2.63

连接ISCSI设备

[root&#64;xuegod64 ~]# iscsiadm -m node --login

查看系统磁盘信息

[root&#64;xuegod64 ~]# ls /dev/sdb*

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

[root&#64;xuegod64 ~]#  mount /dev/sdb  /opt

查看文件

[root&#64;xuegod64 ~]# cat   /opt/a.txt

 

target存储服务器信息在客户端存储的位置&#xff1a;

[root&#64;xuegod64 ~]# yum install -y tree       #安装tree命令&#xff0c;用于查询树

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

/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.测试&#xff1a; xuegod64 和xuegod62 都挂载上硬盘&#xff0c;数据同步 &#xff1f;

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

 

查看&#xff1a;xuegod62  是否数据同步

[root&#64;xuegod62 ~]# ls /opt/

a.txt

没有看到passwd文件&#xff0c;添加新数据并没有同步

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

 

相关连接&#xff1a;  http://343614597.blog.51cto.com/7056394/1699563           //SAN&#43;GFS 配置

 

三、排错

报错如下&#xff1a;

        1. 无法发现设备

[root&#64;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

解决&#xff1a;因服务端未指定ip和端口, 重新指定

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

  |       o- 192.168.2.63:3260

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

iscsiadm: Could not perform SendTargets discovery: encounteredconnection login failure

解决&#xff1a;

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

停止&#xff1a;# systemctl stop tgtd

开机不启动&#xff1a;# systemctl disable tgtd

3、Could not create NetworkPortal in configFS

原因&#xff1a;发现

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

 

  |       o- 0.0.0.0:3260

已经存在了一个IP和端口&#xff0c;需要删除

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

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

注&#xff1a;ip和端口之间有一个空格

 

转:https://www.cnblogs.com/happy1983/p/9212349.html



推荐阅读
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 1.官网下载了mysql-5.7.17-win64.zip包,配置遇到很多麻烦,记录一下;2.解压后放到指定的文件夹,修改mysql-5.7.17的配置文件my-default.i ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
  • SQL Server中TempDB管理(version store的逻辑 ... [详细]
  • OrbitDBPeer 2 Peer Database using CRDTs
    2019独角兽企业重金招聘Python工程师标准Apeer-to-peerdatabaseforthedecentralizedwebOrbitDBisaserverless ... [详细]
  • 4.3.2Tuple是否可以跨页面PostgreSQLusesafixedpagesize(commonly8kB),anddoesnotallowtuplestospanmult ... [详细]
  • 编译安装更轻量,不会像yum安装那么臃肿。(一)安装MYSQL:一、安装简介用户名:mysql安装目录:us ... [详细]
author-avatar
lobtao
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有