远程块存储iSCSI
/* Border styles */ #table-2 thead, #table-2 tr { border-top-width: 1px; border-top-style: solid; border-top-color: rgb(230, 189, 189); } #table-2 { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(230, 189, 189); } /* Padding and font style */ #table-2 td, #table-2 th { padding: 5px 10px; font-size: 12px; font-family: Verdana; color: rgb(177, 106, 104); } /* Alternating background colors */ #table-2 tr:nth-child(even) { background: rgb(238, 211, 210) } #table-2 tr:nth-child(odd) { background: #FFF }
简介
. Internet小型计算机系统接口(iSCSI)是一个基于TCP/IP的协议,用于通过IP网络仿真SCSI高性能本地存储总线,从而为远程块存储设备提供数据传输和管理 . 作为存储区域网络SAN协议,iSCSI跨本地和广域网络(LAN、WAN以及Internet)扩展SAN,通过分布式服务器和数组提供独立于位置的数据存储检索 . SCSI协议套件提供基于设备总线通信协议的命令描述器块CDB命令集。对于每个通道的所有设备,原始SCSI拓扑使用长度限制为20米的物理布线 . 设备使用唯一数字目标ID(-,对于双通道为0-) . 广泛实施的光纤通道(FC)已淘汰了物理SCSI磁盘和布线,FC保留了SCSI的CDB命令集,但是将磁盘和总线通信更换为协议以便进行更长且速度更快的光纤布线 . iSCSI协议还保留了CDB命令集,在通过标准TCP/IP封装的iSCSI系统之间执行总线通信 . iSCSI服务器使用文件、逻辑卷或任何类型的磁盘作为底层存储来仿真呈现为目标的SCSI设备 . iSCSI服务通常在层次高于操作系统TCP/IP堆栈或TCP卸载引擎TOE的软件中实施 . iSCSI还可以作为主机总线适配器HBA以硬件方式实施,以更大地提高性能
企业级SAN专用流量基础架构
. FC的独立光纤布线和交换机保证了隔离 . iSCSI应该在独立于标准LAN流量的布线中实施,因为性能可能会由于共享网络上的带宽拥塞而降级 . 以太网和FC现在均提供铜缆和光缆布线选项,允许网络整合与流量分类组合使用
安全性
. 存储区域网络流量通常是未加密的,因为物理服务器到存储器的布线通常密封在安全的数据中心内 . 对于WAN安全性,iSCSI和以太网光纤通道FCoE可以利用互联网协议安全性IPsec,这是一个用于保护IP网络流量的协议套件 . 选择可以提供加密的联网硬件(首先NIC、TOE和HBA) . iSCSI提供质询握手身份验证协议CHAP用户名和密码作为身份验证机制,以限制所选启动器和目标之间的连接
iSCSI协议的运行方式
类型于客户端-服务器配置
客户端系统将启动器软件配置为SCSI命令发送到远程服务器存储目标,访问的iSCSI目标在客户端系统上显示为本地且未格式化的SCSI块设备
术语 | 描述 |
---|---|
启动器 | 一个iSCSI客户端,通常以软件提供,但是也可以作为iSCSI HBA来实施。必须为启动器授予唯一名称 |
目标 | 一个iSCSI存储资源,针对来自iSCSI服务器的连接而配置。必须为目标授予唯一名称。目标提供一个或多个带有编号的块设备,称为逻辑单元。一个iSCSI服务器可以同时提供多个目标 |
ACL | 访问权限控制列表,一种使用节点IQN来验证启动器的访问权限的访问限制 |
发现 | 查询目标服务器以列出配置的目标。目标使用要求其他的访问步骤 |
IQN | iSCSI限定名称,一个全球唯一名称,用于以强制命名格式来识别启动器和目标:iqn.YYYY-MM.com.reversed.domain[:optional_string](iqn表示此名称将使用域作为其标识符) |
登录 | 向目标或LUN进行身份验证以开始使用客户端块设备 |
LUN | 逻辑单元号,带有编号的块设备,连接到目标并且通过目标来使用。可以有一个或多个LUN连接到单个目标,但通常一个目标仅提供一个LUN |
节点 | 任何iSCSI启动器或iSCSI目标,由其IQN来标识 |
门户 | 目标或启动器上用于建立连接的IP地址和端口。一些iSCSI实施将门户和节点互换使用 |
TPG | 目标门户组,某个特定iSCSI目标将要侦听的接口IP地址和TCP端口的集合。可以将目标配置添加到TPG以协调多个LUN的设置 |
targetcli配置目标服务器
准备:
CentOS7服务器一台,IP:192.168.198.128
CentOS7客户端一台,IP:192.168.198.129
服务器端
# 安装 yum install -y targetcli # 运行targetcli进入交互模式 targetcli # 准备好一个逻辑卷 http://www.cnblogs.com/cq146637/p/7806542.html # 创建后备存储 # 1. block 服务器上定义的块设备。磁盘驱动器、磁盘分区、逻辑卷、多路径设备以及服务器上定义的任何b类型的设备文件 # 2. fileio 在服务器的文件系统中创建一个指定大小的文件。此方法类似于使用映像文件作为虚拟机磁盘映像的存储 # 3. pscsi 物理SCSI。允许透传到连接服务器的物理SCSI设备。通常不使用此后备存储类型 # 4. ramdisk 在服务器上的内存中创建一个指定大小的ramdisk设备。重启时,所有数据都将丢失 # 创建一个块设备 /backstores/block create server.disk1 /dev/iscsi_vg/iscsi_lvm # 为目标创建IQN /iscsi create iqn.2018-01.com.example:server # 在TPG中,创建一个ACL以供客户端节点稍后使用 /iscsi/iqn.2018-01.com.example:server/tpg1/acls create iqn.2018-01.com.example:client # 在此TPG中,为每个现有后备存储创建一个LUN /iscsi/iqn.2018-01.com.example:server/tpg1/luns create /backstores/block/server.disk1 # 在TPG中,创建一个门户配置以指定侦听IP地址和端口 /iscsi/iqn.2018-01.com.example:server/tpg1/portals create 192.168.198.128 # 保存配置 saveconfig # 退出 exit # 启动服务,并配置为开机自启动 systemctl enable target systemctl restart target
客户端
# 安装 yum install -y iscsi-initiator-utils # 修改配置中的ACL为服务器指定的ACL vim /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.2018-01.com.example:client :wq # 启动服务,并配置为开启自启动 systemctl enable iscsi iscsid systemctl restart iscsi iscsid # 发现一下服务器,两次iscsiadm -m node是为了防止不能正常重启的BUG iscsiadm -m discovery -t st -p 192.168.198.128 iscsiadm -m node -T iqn.2018-01.com.example:server iscsiadm -m node -T iqn.2018-01.com.example:server -l # 发现到块设备以磁盘形式挂载到系统上,使用命令就可以查看到相应大小的存储设备 fdisk -l # 使用此设备,一定要看清楚是否是相应大小的设备,如果对正在使用的磁盘制作文件系统后果不堪设想!!! mkfs.ext4 /dev/sdb # 追加磁盘UUID到fstab文件中,配置开机自动挂载 blkid /dev/sdb >> /etc/fstab
vim /etc/fstab UUID="ec694b7a-9d33-4053-a4f5-a8b0cbeabad8" /mnt/iscsi ext4 defaults,_netdev 0 0 # 创建挂载点 mkdir /mnt/iscsi # 挂载 mount -a # 查看 df -h # 结果: /dev/sdb 2.0G 6.0M 1.9G 1% /mnt/iscsi # 重启客户端后依然可以看到挂载成功!!!
远程块存储iSCSI的更多相关文章
- 红帽学习记录[RHCE] ISCSI远程块储存
目录 iSCSI 定义 组件术语 启动器 目标 ACL 发现 IQN 登录 LUN 节点 门户 TPG 搭建一个iSCSI服务 提供一个iSCSI目标 配置iSCSI客户端 iSCSI 定义 SCSI ...
- 探索 OpenStack 之(9):深入块存储服务Cinder (功能篇)
继研究了Neutron之后,继续Nova的外围研究之旅.本站是研究块存储服务Cinder. 0.验证环境 环境包括: 1.一个controller节点,运行nova-api, nova-schedul ...
- 【恒天云技术分享系列10】OpenStack块存储技术
原文:http://www.hengtianyun.com/download-show-id-101.html 块存储,简单来说就是提供了块设备存储的接口.用户需要把块存储卷附加到虚拟机(或者裸机)上 ...
- 【openstack N版】——块存储服务cinder
一.块存储服务介绍 1.1块存储服务通常包含以下组件 cinder-api: 接受API请求,并将其路由到"cinder-volume"执行. cinder-volume: 与块存 ...
- cinder块存储 后端采用lvm、nfs安装配置
#cinder块存储 后端采用lvm.nfs安装配置 openstack pike 安装 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html #cinder ...
- 存储那些事儿(三):OpenStack的块存储Cinder与商业存储的融合
OpenStack是一个美国国家航空航天局和Rackspace合作研发的云端运算软件,以Apache许可证授权,并且是一个自由软件和开放源代码项目.OpenStack是IaaS(基础设施即服务)软 ...
- OpenStack-Ocata版+CentOS7.6 云平台环境搭建 —9.块存储服务(cinder)部署配置
块存储服务部署相关块存储服务(cinder)为实例提供块存储.存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的.还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等.典型 ...
- Openstack块存储cinder安装配置
openstack service create --name cinderv2 \ --description "OpenStack Block Storage" volumev ...
- 二十八. Ceph概述 部署Ceph集群 Ceph块存储
client :192.168.4.10 node1 :192.168.4.11 ndoe2 :192.168.4.12 node3 :192.168.4.13 1.实验环境 准备四台KVM虚 ...
随机推荐
- 洛谷 [P1280] 尼克的任务
DP 题目问的是最大空暇时间,那么就定义dp[i]为第i分钟的最大空暇时间,显然满足最优子结构,我们发现dp[i]仅与其后的值有关,那么从后往前推,如果第i分钟没有任务,dp[i]=dp[i+1],如 ...
- Codeforces Round #410 (Div. 2)
Codeforces Round #410 (Div. 2) A B略..A没判本来就是回文WA了一次gg C.Mike and gcd problem 题意:一个序列每次可以把\(a_i, a_{i ...
- SDN第二次上机作业
作业链接 安装floodlight 生成拓扑并连接控制器floodlight,利用控制器floodlight查看图形拓扑 from mininet.topo import Topo class MyT ...
- SpringMVC之HelloWorld实例
1.1 Helloworld实例的操作步骤 1. 加入jar包 2. 配置dispatcherServlet 3. 加入Spring配置文件 4. 编写请求处理器 并表示为处理器 5. 编写视图 1 ...
- Spring Boot - Font Awesome OTS parsing error: Failed to convert 字体加载失败
字体文件,加载不出来 解决方案 一 问题是Maven正在过滤字体文件并破坏它们. <resource> <directory>${project.basedir}/src/m ...
- 应用负载均衡之LVS(三):使用ipvsadm以及详细分析VS/DR模式
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- Mysql(二):库操作
一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ...
- python并发编程之线程(一):线程&守护线程&全局解释器锁
一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 官网链接:https://docs.pyth ...
- 基于gmap.net制作离线地图下载器
网上已有大量文章介绍gamp.net和离线下载相关的文章了.我就不在介绍gmap相关的文章了,这里着重介绍一下下载相关原理.其实gmap.net本身已自带下载工能,只是离线图片下载到sqlit中,现将 ...
- git命令 高级
Git 分支 - 分支的删除 git删除本地分支 git branch -D br git删除远程分支 git push origin :br (origin 后面有空格) clone服务器上的资源 ...