1.iscsi简单介绍



​iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机能够透过快速的局域网集线来把SAN模拟成为本地的储存装置。



尽管 iSCSI 能够与随意类型的 SCSI 设备进行通信,系统管理员差点儿总是使用它来连接server计算机 (比如,数据库server) 和磁盘卷上存储阵列。 使用iSCSI SAN 的目的通常有下面两个:

存储整合 公司希望将不同的存储资源从分散在网络上的server移动到统一的位置(经常是数据中心); 这能够让存储的分配变得更为有效。 SAN 环境中的server无需不论什么更改硬件或电缆连接就能够得到新分配的磁盘卷。

灾难恢复 公司希望把存储资源从一个数据中心镜像到还有一个远程的数据中心上,后者在出现长时间停电的情况下能够用作热备份。 特别是,iSCSI SAN 使我们仅仅须要用最小的配置更改就能够在 WAN 上面迁移整个磁盘阵列,实质上就是,把存储变成了“可路由的”,就像普通的网络通信一样。



​这里我们能够举一个样例,阿里的server有非常多账户,假设账户和password实在单个server上,那么当这个server挂掉之后,信息丢失。那对阿里和用户都是灾难性的结果。所以使用网络设备,而不使用server本地的硬盘:







​就像是图中所描写叙述的那样,客户所訪问的仅仅是磁盘盘柜中的设备,并非提供服务的server。盘柜由单独的server管理,那个server仅仅提供像外分配设本的任务,这样就实现了存储分离技术,让各个server的功能单一化,让整个架构更加的安全。



​2.iscsi的实现



​了解了iscsi的基本原理之后,我们要实现一个iscsi的模型。



​(1)准备工作



​要有两个主机,一个提供网络设备(相当于上图盘柜的效果),另外一个使用网络设备(相当于UNIX server)。



(2)正式配置



​1.先来看服务端:



​1).首先要制作一个向外共享的设备;

​2).安装iscsi服务端;

​3).设置好服务配置后开放服务;



​1).制作设备:











​生成完了之后我们运行下面操作,第二个运行两遍:







​2.安装iscsi服务端:







​3).设置主配置文件:







​把设备共享出去,server名为westos.example.com    .





​开启服务:







​2.client



​这时我们的服务端已经共享出去了一块设备,client就是要获取它,首先我们来安装iscsi的client:







​非常幸运的是我们已经安装了。



​寻找指定ip的共享网络设备,能够看到我们已经找到了:





​开启这个网络设备:





​开启成功!



​我们对这个server当前的可用设备列出,发现除了本地的/dev/vda设备外,另一个网络设备/dev/sda。这个之前是没有的,是我们westos.example.com共享出来的网络设备,我们能够对它操作,真正改变的是westos.example.com里边的设备,当这个server挂掉后,共享出来设备的server还保留着数据,这就很安全。不影响业务的进行。











​我们能够像使用本地硬盘一样操作它,能够用它生成新的设备,而且挂载使用。











​然后能够格式化挂载:











​假设要永久挂载,须要写入文件/etc/fstab:







​注意:这里要注意一个细节,defaults后要加_netdev, 否则是无法使用的。



​3.上面讲到的是怎样使用这个网络设备,那么我们在不想使用它的时候也要进行一系列的操作:



​1)首先要卸载,假设/etc/fstab写入的话要删除;

​2)将设备退出iscsi;



​1)先卸载:





​2)将设备退出iscsi:



​卸载掉设备:





​删除后退出,发现该网络设备确实不见了:







​总结:



​上面的一整套就是iscsi存储分离的最主要的设置,想想这个思想会非常广泛的应用,在以后的讲到集群和负载均衡的时候还会遇见它。到时候再解说。今天两更还不错!

linux杂谈(十七):iscsi存储分离技术的更多相关文章

  1. linux下挂载ISCSI存储设备

    安装 首先要在存储设备上做好RAID,设置好iSCSI 目标方(target). 这里主要说明iSCSI initiator的安装. 不同的操作系统对应各自的iSCSI initiator,以Redh ...

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

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

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

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

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

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

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

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

  6. Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门

    Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门 转载请在文首保留原文出处:EMC中文支持论坛 - https://community.emc.com/go/chines ...

  7. Linux下搭建iSCSI共享存储

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

  8. 阿里云PolarDB及其共享存储PolarFS技术实现分析(上)

    PolarDB是阿里云基于MySQL推出的云原生数据库(Cloud Native Database)产品,通过将数据库中计算和存储分离,多个计算节点访问同一份存储数据的方式来解决目前MySQL数据库存 ...

  9. 基于使用ISCSI存储的ibmmq通过heartbeat实现HA方案以及碰到的问题总结

    一.背景 ibmmq是一种传统架构的mq产品,运行稳定,有其自身优点,但在高可用(HA)这一块需要使用公司根据自身需求选用高可用(HA)产品,但由于市面HA商业产品较贵,所以使用linux操作系统级的 ...

随机推荐

  1. CSS自学笔记(6):CSS的模型

    CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.边框和外边距的方式. 图片来源:w3school.com.cn 元素(element)是一个html文档的实际内容区域,依次由 ...

  2. J2SE知识点摘记(十五)

    1.        字节流和字符流的转换 以字符为导向的stream基本上有与之相对应的以字节为导向的Stream,两个对应类实现的功能相同,只是操作时的导向不同 字节输入流转换为字符输入流: Inp ...

  3. qtcreator增加doxygen注释

    1,在以下网址找到和你的qt creator版本相对应的插件文件,还要注意系统版本 http://dev.kofee.org/projects/qtcreator-doxygen/files 2,根据 ...

  4. 简易对象垃圾回收框架 for Delphi

    (一).缘起 1.1 我的一个出错程序 程序名称:呼叫处理模块的压力测试工具,分为客户端和服务端. 开发工具:Delhpi 5 相关技术:客户端通过与服务端建立Socket连接来模拟一组电话机的拨入. ...

  5. TelephonyManager

    每台手机有一个唯一的设备ID

  6. C++编程技术之 异常处理(上)

    增强错误恢复能力是提高代码健壮性的最有力途径之一 之所以平时编写代码的时候不愿意去写错误处理,主要是由于这项工作及其无聊并可能导致代码膨胀,导致的结果就是本来就比较复杂的程序变得更加复杂.当然了,前面 ...

  7. Linux下文件及目录的一些操作(附递归遍历目录源码)

    1.获取当前工作目录 #include <unistd.h> 1.char *getcwd(char *buf,size_t size); 2. 3.其中,buf为缓冲区地址,size为给 ...

  8. sql server 2000 对应 sql server 2005的row_number()、rank()、DENSE_RANK( )、ntile( )等用法

    转自CSDN:http://blog.csdn.net/htl258/article/details/4006717 SQL server 2005新增的几个函数,分别是row_number( ).r ...

  9. WCF创建到使用到发布

    1,在VS里面新建一个类库项目 2,向类库项目里添加WCF服务文件 3.按照WCF约束规范编写接口和实现类 using System; using System.Collections.Generic ...

  10. class A<T> where T:class 这个泛型类中的Where T:class什么意思

    这是类型参数约束,.NET支持的类型参数约束有以下五种: where T : struct                               T必须是一个结构类型 where T : cla ...