远程块存储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虚 ...
随机推荐
- getopt for windows
Glibc库里有个getopt用于解析命令行参数,挺方便的,下面的是别人从Glibc源码的获取的几个getopt相关的文件,已经将平台相关的修改掉,windows下可以调用,本来是要用没用到就没去看正 ...
- UVA概率练习[2]
UVa11021 Tribbles 你有K个麻球.一个只会存活一天.在死亡之前,一个麻球有P_i的概率生出i个麻球(i=0,1,…,n-1).m天后所有麻球都死亡的概率是多少?(包含在第m天前全部死亡 ...
- C++数据结构学习之顺序表
顺序表是数据结构中最基本也是应用相当广泛的一种数据结构类型.它通常包含三个私有成分,即指向数据数组的头指针.当前表长以及表的实际容量.表的头指针通常指向数据数组的基地址,通过数组的形式进行访问数据数组 ...
- location对象浅探
- 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
HTTP 协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的 HTTP 的网站是不太安全的.所以, Google 的 Chrome 浏览器 ...
- Git 如何 clone 非 master 分支的代码
问题描述 我们每次使用命令 git clone git@gitlab.xxx.com:xxxxx.git 默认 clone 的是这个仓库的 master 分支.如果最新的代码不在 master 分支上 ...
- iptables snat和dnat
iptables中的snat和dnat是非常有用的,感觉他们二个比较特别,所以单独拿出来说一下. dnat是用来做目的网络地址转换的,就是重写包的目的IP地址.如果一个包被匹配了,那么和它属于同一个流 ...
- Python面向对象篇(3)-封装、多态、反射及描述符
1. 多态 多态,最浅显的意识就是同一事物具有多种形态,这很好理解,动物是一个大类,猫类属于动物类,狗类属于动物类,人也是属于动物类,那能理解成,猫.狗.人是一样的吗?当然不是,还有,水,分为液体.固 ...
- HashMap、Hashtable、 LinkedHashMap、TreeMap四者之分。
java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HasMap.Hashtable.LinkedHasmap和TreeMap. (1)HashMa ...
- Python3实现QQ机器人自动爬取百度文库的搜索结果并发送给好友(主要是爬虫)
一.效果如下: 二.运行环境: win10系统:python3:PyCharm 三.QQ机器人用的是qqbot模块 用pip安装命令是: pip install qqbot (前提需要有request ...