linux杂谈(十七):iscsi存储分离技术
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存储分离技术的更多相关文章
- linux下挂载ISCSI存储设备
安装 首先要在存储设备上做好RAID,设置好iSCSI 目标方(target). 这里主要说明iSCSI initiator的安装. 不同的操作系统对应各自的iSCSI initiator,以Redh ...
- Linux下搭建iSCSI共享存储的方法 TGT 方式 CentOS6.9系统下
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux下搭建iSCSI共享存储的方法 TGT 方式 Debian9.5系统下
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式CentOS7-1810下实现
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式 Debian9.5下实现
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门
Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门 转载请在文首保留原文出处:EMC中文支持论坛 - https://community.emc.com/go/chines ...
- Linux下搭建iSCSI共享存储
转至:https://www.linuxidc.com/Linux/2016-09/135655.htm Linux下搭建iSCSI共享存储 拓扑: 实验步骤: ------------------- ...
- 阿里云PolarDB及其共享存储PolarFS技术实现分析(上)
PolarDB是阿里云基于MySQL推出的云原生数据库(Cloud Native Database)产品,通过将数据库中计算和存储分离,多个计算节点访问同一份存储数据的方式来解决目前MySQL数据库存 ...
- 基于使用ISCSI存储的ibmmq通过heartbeat实现HA方案以及碰到的问题总结
一.背景 ibmmq是一种传统架构的mq产品,运行稳定,有其自身优点,但在高可用(HA)这一块需要使用公司根据自身需求选用高可用(HA)产品,但由于市面HA商业产品较贵,所以使用linux操作系统级的 ...
随机推荐
- mysql模糊匹配
select * from tableName where column like ""; select * from tableName where column regexp ...
- OpenCV学习 3:平滑过度与边缘检测
原创文章,欢迎转载,转载请注明出处 用来记录学习的过程,这个是简单的相关函数的熟悉,内部机制和选择何种选择函数参数才能达到自己的要求还不太清楚,先学者吧..后面会慢慢清楚的. 和前面相比,主 ...
- MCS-51系统中断优先级的软扩展
摘要:鉴于MCS-51系统只提供“二级中断嵌套”,提出扩展51系统中断优先级的纯软件方法.其利用51系统内建的中断允许寄存器IE和中断优先级寄存器IP,通过屏蔽字机制来实现:以C51的形式,给出这种扩 ...
- Redis用户添加、分页、登录、注册、加关注案例
连接redis代码redis.php <?php //实例化 $redis = new Redis(); //连接服务器 $redis->connect("localhost&q ...
- CodeForces 135C C. Zero-One
题目 题意: 一个01串,AB两个人轮流删去一个字符,直到只剩两个,A先手.最后剩的两位组成一个二进制数,A要使其最小,B要使其最大. 有一些部分不知道原来是什么,用?表示,求所有的可能里,最后剩下的 ...
- Baskets of Gold Coins
Baskets of Gold Coins Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- [Android]The connection to adb is down, and a severe error has occured.
在Android开发时,有时我们开启虚拟机执行程序时.会报类似下面错误: [2015-07-19 15:08:29 - TestXiaoYanLibrary] The connection to ad ...
- 多个Activity之间的切换与数据交互
总结 两个activity之间切换我概括的分为两步: 1. 代码实现切换操作.2.配置中声明另外一个acitivity! 1. 代码实现切换操作 显示定义一个intent 对象,Intent 这个类的 ...
- 什么时候css会见less
在一定程度上,css不能被视为一个节目.虽然和其他语言,它有自己的规范.编码,但它的笨拙实在让我失望. 不喜欢css是由于不管怎么优化代码.项目大到一定程序后.都会看上去一团乱.并且有时候一个bug的 ...
- Objective-C基础笔记(2)@property和@synthesize
先贴出使用@property和@synthesize实现的上一篇中的代码,再解释这两个keyword的使用方法和含义,代码例如以下: Person.h文件 #import <Foundation ...