(1).DAS、SAN、NAS三种存储方式

  参考:https://blog.csdn.net/qq_23348071/article/details/73963407

  DAS全称Direct-Attached Storage,中文名直连式存储,是一种计算机存储,它直接连接到某台计算机且其他计算机无法获取。对于个人计算机用户来说,硬盘驱动器就是直连式存储的常见形式。在企业中,服务器里的个体磁盘被称为直连式存储,作为服务器外(但可通过SCSI、SATA及SAS接口直接连在一起)的驱动组。因为服务器无需通过网络来读写数据,所以DAS能为终端用户提供比网络存储更高的性能。这也就是企业常为其有高性能需求的特定类型的应用采用DAS的原因。直连式存储的主要替代选择是网络附属存储(NAS)以及存储区域网络(SAN)。

  DAS优点:使用方便,直接识别为一个块设备。

  DAS缺点:消耗I/O和CPU。

  NAS全称Network Attached Storage,中文名网络附属存储。NAS服务器是连接在网络上,具备资料存储功能的服务器,一种专用数据存储服务器。网络附属存储基于标准网络协议(TCP/IP)实现数据传输,为网络中的Windows/Linux/Mac OS等各种不同操作系统的计算机提供文件共享和数据备份。部分NAS系统还可以支持FTP、HTTP、SQL、SQLSERVER等等功能,例如群晖。NAS采用NFS技术实现类Unix系统之间存储共享,采用CIFS技术实现Windows与类Unix系统之间数据共享。Samba软件就是使用的CIFS技术。

  国内做NAS的有群晖、希捷、西部数码、威联通;国际上做NAS的有Netapp、OUO、Dell、EMC。专业开源NAS系统:freeNAS、nas4free、OpenMediaValut、群晖。

  NAS优点:I/O消耗由前端服务器转移到后端存储设备上,并且扩展方便。

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

  SAN全称Storage Area Network and SAN Protocols,中文名存储区域网络。SAN是一种高速网络,提供在计算机与存储系统之间的数据传输。存储设备是指一台或多台用以存储计算机数据的磁盘设备,通常指磁盘阵列。其采用网状通道(Fibre Channel,简称FC)技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。SAN存储由于其基础是一个专用网络,因此扩展性很强,不管是在一个SAN系统中增加一定的存储空间还是增加几台使用存储空间的服务器都非常方便。

  目前常见的SAN有FC-SAN和IP-SAN(又称之为ISCSI,Internet小型计算机系统接口),其中FC-SAN通过光纤通道协议转发SCSI协议,IP-SAN通过TCP协议转发SCSI协议。

  NAS和SAN的区别:第一,网络架构。NAS直接使用TCP/IP传输数据,而SAN使用SCSI或ISCSI协议传输数据。第二,文件读写的实现方式。NAS采用了NFS和CIFS技术实现文件共享,说明NAS是基于操作系统的“文件级”读写操作。而SAN中计算机和存储间的接口是底层的块协议,按照协议头的“块地址+偏移地址”来定位,共享的存储和前段的操作系统类型没有关系,任何操作系统都可以正常识别。

(2).配置IP-SAN服务器

 1)实验环境

youxi1  192.168.5.101  服务端,添加一块盘sdb作为共享盘

youxi2  192.168.5.102  客户端

youxi3  192.168.5.103  客户端

  IP-SAN以C/S模式运行,默认端口3260。

 2)配置youxi1为IP-SAN存储服务器

[root@youxi1 ~]# yum -y install targetcli  //安装target
[root@youxi1 ~]# targetcli  //进入交互界面进行配置
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb46
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.  //可以使用help查看帮助文档 /> /backstores/block create test1 /dev/sdb  //使用/dev/sdb创建块存储对象test1,其中test1是自定义名称
Created block storage object test1 using /dev/sdb.
/> /iscsi create iqn.2019-08.youxi1:server  //创建ISCSI target,target命名在同一子网内确保唯一。
WWN not valid as: iqn, naa, eui  //报错了
/> /iscsi create iqn.2019-08.com.youxi1:server  //命名格式:iqn.yyyy.mm.<主机名(域名)反写>:自定义名称。自定义名称内不能有下划线
Created target iqn.2019-08.com.youxi1:server.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.  //可以看到监听的IP地址和端口号
/> /iscsi/iqn.2019-08.com.youxi1:server/tpg1/acls create iqn.2019-08.com.youxi1:username
Created Node ACL for iqn.2019-08.com.youxi1:username  //创建ACL规则列表,也就是客户端只能使用规则列表内的用户才可以连接target存储
/> /iscsi/iqn.2019-08.com.youxi1:server/tpg1/luns create /backstores/block/test1  指定块存储对象test1为target的逻辑单元,逻辑单元号LUN0
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2019-08.com.youxi1:username
/> /iscsi/iqn.2019-08.com.youxi1:server/tpg1/portals/ delete 0.0.0.0 3260  //删除原本监听的IP地址和端口号
Deleted network portal 0.0.0.0:3260
/> /iscsi/iqn.2019-08.com.youxi1:server/tpg1/portals create 192.168.5.101 3260  //添加一个新的监听IP地址和端口号
Using default IP port 3260
Created network portal 192.168.5.101:3260.  //注意:监控服务器端的本地IP地址和端口

  LUN全称Logical Unit Number,中文名逻辑单元号,是SCSI中的概念。块存储对象只要一加入target存储系统,就分有一个代号,后期在区别块设备的时候,只要说target 中LUN几号就可以了。 块存储对象被指定了一个LUN后,成为了一个“逻辑”磁盘,供存储客户端使用。

 3)配置ACL规则列表的用户名和密码

/> cd /iscsi/iqn.2019-08.com.youxi1:server/tpg1/acls/iqn.2019-08.com.youxi1:username/
/iscsi/iqn.20...uxi1:username> set auth userid=admin  //创建用户
Parameter userid is now 'admin'.
/iscsi/iqn.20...uxi1:username> set auth password=123456  //设置密码
Parameter password is now '123456'.
/iscsi/iqn.20...uxi1:username> saveconfig  //保存必须在根目录下执行,否则报错
Command not found saveconfig
/iscsi/iqn.20...uxi1:username> cd /  //回到根目录
/> saveconfig  //保存
Configuration saved to /etc/target/saveconfig.json
/> exit  //退出
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup/.
Configuration saved to /etc/target/saveconfig.json

 4)启动target服务

[root@youxi1 ~]# systemctl start target && systemctl enable target  //启动并设置开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/target.service to /usr/lib/systemd/system/target.service.
[root@youxi1 ~]# firewall-cmd --permanent --zone=public --add-port=3260/tcp  //添加端口号
success
[root@youxi1 ~]# firewall-cmd --reload
success

(3).客户端配置

 1)配置客户端youxi2

  安装客户端并进行配置

[root@youxi2 ~]# yum -y install iscsi-initiator-utils
[root@youxi2 ~]# vim /etc/iscsi/initiatorname.iscsi  //修改发起者配置,也就是服务端的ACL规则名称
InitiatorName=iqn.2019-08.com.youxi1:username  //修改为服务端的ACL规则列表名称
[root@youxi2 ~]# vim /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP  //第57行,取消注释
node.session.auth.username = admin  //第61行,取消注释,并修改为ACL规则列表内的用户名
node.session.auth.password = 123456  //第62行,取消注释,并修改为对应用户名的密码
[root@youxi2 ~]# systemctl start iscsid

  发现ISCSI设备并登录

[root@youxi2 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.5.101  //查找设备
192.168.5.101:3260,1 iqn.2019-08.com.youxi1:server
//登录方法一
[root@youxi2 ~]# iscsiadm -m node -l  //登录设备
Logging in to [iface: default, target: iqn.2019-08.com.youxi1:server, portal: 192.168.5.101,3260] (multiple)
Login to [iface: default, target: iqn.2019-08.com.youxi1:server, portal: 192.168.5.101,3260] successful.
[root@youxi2 ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb //登录方法二
[root@youxi2 ~]# systemctl restart iscsid  //在查找到设备后直接重启也可以
[root@youxi2 ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb

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

[root@youxi2 ~]# yum -y install tree
[root@youxi2 ~]# tree /var/lib/iscsi/
/var/lib/iscsi/
├── ifaces
├── isns
├── nodes
│   └── iqn.2019-08.com.youxi1:server
│   └── 192.168.5.101,3260,1
│   └── default
├── send_targets
│   └── 192.168.5.101,3260
│   ├── iqn.2019-08.com.youxi1:server,192.168.5.101,3260,1,default -> /var/lib/iscsi/nodes/iqn.2019-08.com.youxi1:server/192.168.5.101,3260,1
│   └── st_config
├── slp
└── static 10 directories, 2 file

  格式化硬盘(只有第一个需要格式化),挂载使用

[root@youxi2 ~]# mkfs.xfs /dev/sdb
meta-data=/dev/sdb isize=512 agcount=4, agsize=1310720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242880, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none
[root@youxi2 ~]# mkdir /share
[root@youxi2 ~]# mount /dev/sdb /share
[root@youxi2 ~]# echo youxi2 > /share/a.txt

 2)配置客户端youxi3

[root@youxi3 ~]# yum -y install iscsi-initiator-utils
[root@youxi3 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2019-08.com.youxi1:username
[root@youxi3 ~]# vim /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP  //第57行,取消注释
node.session.auth.username = admin  //第61行,取消注释,并修改为ACL规则列表内的用户名
node.session.auth.password = 123456  //第62行,取消注释,并修改为对应用户名的密码
[root@youxi3 ~]# systemctl restart iscsid
[root@youxi3 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.5.101  //查找设备
192.168.5.101:3260,1 iqn.2019-08.com.youxi1:server
[root@youxi3 ~]# iscsiadm -m node -l  //登录设备
Logging in to [iface: default, target: iqn.2019-08.com.youxi1:server, portal: 192.168.5.101,3260] (multiple)
Login to [iface: default, target: iqn.2019-08.com.youxi1:server, portal: 192.168.5.101,3260] successful.
[root@youxi3 ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb
[root@youxi3 ~]# mkdir /share
[root@youxi3 ~]# mount /dev/sdb /share/  //挂载
[root@youxi3 ~]# ls /share/
a.txt

  注意:此时不会同步,是因为我们使用的XFS文件系统,XFS文件系统不支持多个客户端同时使用。 后期使用时,可以把sdb在youxi2上识别出来后,挂载到/share目录下,然后在youxi2安装一个nfs服务器,把/share目录共享给youxi3使用,这样就可以保障数据同步了。

搭建iscsi存储系统(一)的更多相关文章

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

    一.NAS和SAN服务器概述 SAS: 容量小, 300G, 600G, 900G, 价格贵. SATA:容量大,500G, 750G, 1T, 2T, 3T, 4T   不支持热插拔,价格低. 假S ...

  2. iSCSI存储系统知识

    一.概述 SCSI 即小型计算机系统接口(Small Computer System Interface:简写:SCSI),一种用于计算机和外部设备之间(硬盘.光驱.软驱.打印机等)系统级接口的独立处 ...

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

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

  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. Linux下搭建iSCSI共享存储

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

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

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

随机推荐

  1. Spring源码窥探之:BeanPostProcessor

    Spring的Bean后置处理器 1. 实体类 /** * @author 70KG * @Title: Train * @Description: * @date 2018/7/23下午11:31 ...

  2. 导入Excel数据到Oracle数据库的脚本

    在cmd运行窗口中输入:sqlldr customermanager/123@orcl control="E:\CustomerData\excelInputOracle\insert.ct ...

  3. 配置jdk和环境变量

    1.官网下载jdk1.8,默认安装即可 2.JAVE_HOME:jdk安装目录 path:C:;%JAVA_HOME%\bin;  C:;%JAVA_HONE%\jre\bin;(当dos界面输入命令 ...

  4. python字符转数字

    print(float("260.01478420521632365364543423")) 260.0147842052163

  5. mui 点击长按复制文本

    项目需要长按复制文本内容,由于也没仔细研究过 mui 所以就直接百度.看到了 花落乱了流年 这篇博客 我就把这个博客的代码融合到自己的项目里,实现了复制的需求 直接上代码 单独写到了一个 js 文件. ...

  6. 编程判断输入的字符是否为‘y’或‘Y’,若是,则输出‘yes’,否则输出‘no’

    #include<stdio.h>void main(){ char ch; ch=getchar(); ch == 'y' || ch == 'Y' ? printf("yes ...

  7. [Angular] How to show global loading spinner for application between page navigation

    app.component.ts: import { Component, OnInit } from "@angular/core"; import { select, Stor ...

  8. 【爬虫】大杀器——phantomJS+selenium

    [爬虫]大杀器——phantomJS+selenium 视频地址 江湖上有一个传说,得倚天屠龙者可称霸武林.爬虫中也有两个大杀器,他们结合在一起时,无往不利,不管你静态网站还是动态网站,通吃. pha ...

  9. MySQL 效率提高N倍的19条MySQL优化秘籍

    一.EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划. 下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据 type列,连接类型.一个好的sql语句至少 ...

  10. VSCompile

    VS2012加载失败 No exports were found that match the constraint 开始->运行->devenv.exe /resetuserdata-& ...