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. Python核心编程笔记---- print@2

    print 的输出从定向问题 print 可以用’>>‘来重定向输出,下面是例子 f = open('D:/python.txt','w+') print >> f," ...

  2. ORACLE视图添加备注

    ORACLE视图添加备注 版权声明:本文为博主原创文章,未经博主允许不得转载. create or replace view oes_material_series_ref as select t.p ...

  3. 製程能力介紹(SPC introduction) ─ 製程能力改善及評估

    如何改善製程能力 參考下面常態分配圖,原製程能力不足,其製成品有一定比率超出下限規格,其改善對策有二: 縮小製程變異,也就是改善Cp,提高Cp的值. 移動製程中心,也就是改善Ck,減小Ck的值. 就技 ...

  4. Linux中搭建SVN服务器

    一 下载工具 1. subversion-1.6.17.tar.gz 2. subversion-deps-1.6.17.tar.gz 二 解压两个包: 1.在此之前,我已经创建了一个用户svnroo ...

  5. Count the Colors(线段树,找颜色段条数)

    Count the Colors Time Limit: 2 Seconds      Memory Limit: 65536 KB Painting some colored segments on ...

  6. c_str()

    1.string类成员函数c_str()的原型: const char *c_str()const;//返回一个以null终止的c字符串 2.c_str()函数返回一个指向正规c字符串的指针,内容和s ...

  7. jquery新增,删除 ,修改,清空select中的option

    jQuery获取Select选择的Text和Value: 1. var checkText=jQuery("#select_id").find("option:selec ...

  8. Kettle 学习笔记

    一直用SSIS做ETL,越来越感觉这玩意不是亲生的.因此萌生换ETL工具的想法,不过Kettle社区版没什么调度系统,貌似错误处理也不是很方便,且先了解吧. 本文简略的记录了整个软件的使用流程. 开始 ...

  9. RPC介绍以及编程

    1 RPC介绍 RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协 议. RPC采用客 ...

  10. ios本地文件内容读取,.json .plist 文件读写

    ios本地文件内容读取,.json .plist 文件读写 本地文件.json .plist文件是较为常用的存储本地数据的文件,对这些文件的操作也是一种常用的基础. 本文同时提供初始化变量的比较标准的 ...