iscsi,nfs
存储概述
存储的目标
存储是根据不同的应用环境通过采取合理、安全、有效的方式将数据保存到某些介质上并能保证有效的访问。
一方面它是数据临时或长期驻留的物理媒介。
另一方面,它是保证数据完整安全存放的方式或行为。
存储就是把这两个方面结合起来,向客户提供一套数据存放解决方案。
存储技术分类
SCSI小型计算机系统接口 :
small computer system interface 作为输入\输出接口,主要用于硬盘、光盘、磁带机等设备
DAS直连式存储:
direct-attached storage 将存储设备通过SCSI接口或光纤通道直接连接到计算机主板上;
不能实现数据与其他主机的共享;占用服务器操作系统资源,如CPU、IO等;
数据量越大,性能越差。
NAS网络技术存储:
network-attached storage 一种专用数据存储服务器,以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资;
用户通过TCP/IP协议访问数据-采用标准的NFS(linux中)/HTTP/CIFS(window-linux-samba)等。
SAN存储区域网络:
storage area network 通过光纤交换机、光纤路由器、光纤集线器等设备将磁盘阵列、磁带等存储设备与相关服务器连接起来,形成高速专网网络;
组成部分 如路由器、光纤交换机;
接口如SCSI、FC;
通信协议如IP、SCSI
fibre channel (传统-贵)一种适合于千兆数据传输的、成熟而安全解决方案;
与传统的SCSI相比,FC提供更高的数据传输速率、更远的传输距离、更多的设备连接支持以及更稳定的性能、更简易的安装;
FC主要组件:
光纤、HBA(主机总线适配置器)、FC交换机、FC光纤通道
FC交换机交换拓扑
-点到点:point-to-point 简单将两个设备互连
-已裁定的环路:arbitrated loop可多达126个设备共享一段信道或环路
-交换式拓扑(星型):switched fabric 所有设备通过光纤交换机互连
ISCSI技术(新-廉价):
internet SCSI IETF制定的标准,将SCSI数据块映射为以太网数据包;
是一种基于IP storage理论的新型存储技术;
将存储行业广泛应用的SCSI接口技术与IP网络相结合;
可以在IP网络上构建SAN;
最初由Cisco和IBM开发
优势:
基于IP协议技术的标准;允许网络在TCP/IP协议上传输SCSI命令;
相对FC SAN,ISCSI实现的IP SAN投资更低;
解决了传输效率、存储容量、兼容性、开放性、安全性等方面的问题;
没有距离限制
客户端 ISCSI initiator :
软件实现,成本低、性能较低 ;
ISCSI HBA:
硬件实现,性能好,成本较高
存储设备端 ISCSI target
以太网交换机
6.5系统
iscsi服务端:
[root@storage88 ~]#yum -y install scsi-target-utils
[root@storage88 ~]#cp /etc/tgt/targets.conf /opt/
[root@storage88 ~]# sed -n '62,75p' /etc/tgt/targets.conf
<target iqn.2017-09.cn.tedu:storage88.diskb>
backing-store /dev/vdb //设备
write-cache off //写缓存关不关闭
vendor_id mydiskb //厂商名
product_id tarena //型号名
initiator-address 192.168.4.30
initiator-address 192.168.4.40
</target>
<target iqn.2017-09.cn.tedu:storage88.diskc>
backing-store /dev/vdc
write-cache off
vendor_id mydiskc
product_id tarena
</target>
[root@storage88 ~]# service tgtd start
[root@storage88 ~]# netstat -untlap | grep :3260
[root@storage88 ~]# tgt-admin show
[root@storage88 ~]# chkconfig --level 35 tgtd on
iscsi客户端(应用服务器)
#yum -y install iscsi-initiator-utils
#systemctl start iscsi
#iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.88 --discover (发现设备)
#iscsiadm --mode(方式) discoverydb(发现) --type(类型) sendtargets --portal(ip地址) 192.168.4.88 --discover(发现设备)
#iscsiadm -m discovery -t st -p 192.168.4.88 -D(发现设备)
#iscsiadm --mode node(节点) --targetname(iqn名称) iqn.2017-11.cn.tedu:storage88.diskc --portal 192.168.4.88:3260 -l (连接设备)
#iscsiadm -m node -T iqn.2017-11.cn.tedu:storage88.diskc -p 192.168.4.88:3260 -l(连接设备)
#iscsiadm --mode node --targetname iqn.2017-11.cn.tedu:storage201.diskc --portal 192.168.4.88:3260 -u(断开连接)
RHEL7
iscsi服务端:
#rpm -q targetcli
#targetcli
#/> cd backstores/block
#create diskb /dev/vdb
cd /iscsi
/> create iqn.2017-09.cn.tedu:storage88
/>ls
cd /iscsi/iqn.2017-09.cn.tedu:storage88/tpg1/acls
/> create iqn.2017-09.cn.tedu:web10
/> ls
cd /iscsi/iqn.2017-09.cn.tedu:storage88/tpg1/luns
/> create /backstores/block/diskb
/> ls
cd /iscsi/iqn.2017-09.cn.tedu:storage88/tpg1/portals
/> delete 0.0.0.0 3260
/> create 192.168.4.88 3260
/> ls
client:
#yum -y install iscsi-initiator-utils
#iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.77 --discover
vim /etc/iscsi/initiatorname.iscsi
#InitiatorName=iqn.1994-05.com.redhat:9be67a34377f
InitiatorName=iqn.2017-09.cn.tedu:web10
:wq
#systemctl restart iscsid.service
#iscsiadm --mode node -T iqn.2017-09.cn.tedu:storage77 --portal 192.168.4.77:3260 --login
UDEV:它是动态管理设备文件的方法
设备文件管理方法
devfs
linux早期采用的静态管理方法;
/dev目录下有大量静态文件;
内核版本2.6.13开始被完全取代。
udev
只有连到系统上来的设备才在/dev下创建设备文件;
与主、次设备编号无关;
为设备提供持久、一致的名字。
接入设备事件链
内核发现设备并导入设备状态到sysfs;
udev接到事件通知;
udev创建设备节点或是运行指定程序;
udev通知hald守护进程;
HAL探测设备信息;
HAL创建设备对象结构;
HAL通过系统消息总线广播该事件;
用户程序也可以监控该事件。
udev的作用
从内核收到添加/移除硬件事件时,udev将会分析:
/sys目录下信息;
/etc/udev/rules.d目录中的规则
基于分析结果,udev会:
处理设备命名;
决定要创建哪些设备文件或链接;
决定如何设置属性;
决定触发哪些事件
udev事件监控
# udevadm monitor --property
主配置文件/etc/udev/udev.conf
udev_root:创建设备文件位置,默认为/dev
udev_rules:udev规则文件位置,默认为/etc/udev/rules.d
udev_log:syslog优先级,缺省为err
操作符:==匹配 != 不匹配 =指定赋予的值 +=添加新值 :=指定值,且不允许被替换
常用替代变量:%k 内核所识别出来的设备名,如sdb1
%n 设备的内核编号,如sda3中的3
%p 设备路径,如/sys/block/sdb/sdb1
%% %符号本身
配置 udev
发现设备
#udevadm info --query=path --name=/dev/sda (查看绝对路径)
#udevadm info --path=/devices/platform/host4/session3/target4:0:0/4:0:0:1/block/sda --attribute-walk(查看详细信息)
#vim /etc/udev/rules.d/70-iscsi.rules
SUBSYSTEM=="block",ATTR{size}=="10485760",ATTRS{vendor}=="tarena ",ATTRS{model}=="disktwo ",SYMLINK+="iscsi/diskb"()
SUBSYSTEM=="block",ATTR{size}=="10485760",ATTRS{vendor}=="tarena ",ATTRS{model}=="diskthree ",SYMLINK+="iscsi/diskc"
#start_udev (启动)
#ls -l /dev/iscsi/disk*
注意:
配置开机时自动连接iSCSI设备:
# vim /var/lib/iscsi/nodes/<TAB><TAB><TAB>
.. .. //查找 startup,修改第2个startup的值
node.conn[0].startup = automatic
# systemctl enable iscsi
关于iSCSI客户机reboot时死机的bug:
先sync,再reboot
或者
# vim /etc/bashrc
.. ..
alias reboot='sync ; reboot -f'
# source /etc/bashrc
# reboot
格式化iscsi共享存储时如果是本地文件系统,两个客户端挂载后不能同时写。
gfs格式的话,必须在一个集群。
nfs
target端
1 提供存储空间
#fdisk /dev/vdd (横向扩展做成lvm)
#partprobe /dev/vdd
#fdisk -l
#mkfs.ext4 /dev/vdd1
#mount /dev/vdd1 /shardir
#df -h shardir
2 使用NFS服务共享磁盘挂载目录
#yum -y install nfs-utils rpcbind(帮nfs传输数据)
#vim /etc/exports
/shardir 192.168.4.101(rw) 192.168.4.102(rw)
#chmod +w /shardir
#service rpcbind start
#service nfs start
#showmount -e localhost
web前端
#yum -y install nfs-utils rpcbind
#service rpcbind start
#chkconfig rpcbind on
#service nfs start
#chkconfig nfs on
#showmount -e 192.168.4.201
#vim /etc/fstab
192.168.4.201:/shardir /var/www/html nfs _netdev(网络设备) 0 0
#mount -a
配置multipath多路径
多路径概述
当服务器到某一存储设备由多条路径时,每条路径都会识别为一个单独的设备
多路径允许您将服务器节点和存储阵列间的多个I/O路径配置为一个单一设备
这些I/O路径是可包含独立电缆、交换器和控制器的实体SAN链接
多路径集合了I/O路径,并生成由这些集合路径组成的新设备
多路径主要功能
冗余 --主备模式,高可用
改进的性能 --主主模式,负载均衡
多路径设备
若没有DM multipath ,从服务器节点到存储控制器的每一条路径都会被系统视为独立的设备,即使I/O路径链接的是相同的服务器节点到相同的存储控制器也是如此
DM multhpath 提供了有逻辑的管理I/O路径的方法,即在基础设备顶端生成单一多路径设备
多路径设备识别符
每个多路径设备都有一个WWID(全球识别符),它是全球唯一的、无法更改的号码
默认情况下会将多路径设备的名称设定为它的WWID
可以在多路径配置文件中设置user_friendly_names选项,该选项可将别名设为格式为mpathn的节点唯一名称
也可以自定义存储设备名称
multipath多路径共享
target端
#vim /etc/sysconfig/network-scripts/ifcfg-eth1
IPADDR=192.168.2.201
#ifup eth1
#vim /etc/sysconfig/network-scripts/ifcfg-eth1
IPADDR=192.168.2.101
#ifup eth1
#vim /etc/sysconfig/network-scripts/ifcfg-eth1
IPADDR=192.168.2.102
#ifup eth1
#vim /etc/tgt/targets.conf
<target iqn.2017-11.cn.tedu:storage201.diske>
backing-store /dev/vde
write-cache off
initiator-address 192.168.4.101
initiator-address 192.168.4.102
initiator-address 192.168.2.101
initiator-address 192.168.2.102
</target>
web前端
192.168.4.101
#iscsiadm -m discovery -t st -p 192.168.4.201 -D
#iscsiadm -m discovery -t st -p 192.168.2.201 -D
#iscsiadm -m node -T iqn.2017-11.cn.tedu:storage201.diske -p 192.168.4.201:3260 -l
#iscsiadm -m node -T iqn.2017-11.cn.tedu:storage201.diske -p 192.168.2.201:3260 -l
#ls /dev/sd*
/dev/sda /dev/sdb
192.168.4.102
#iscsiadm -m discovery -t st -p 192.168.4.201 -D
#iscsiadm -m discovery -t st -p 192.168.2.201 -D
#iscsiadm -m node -T iqn.2017-11.cn.tedu:storage201.diske -p 192.168.4.201:3260 -l
#iscsiadm -m node -T iqn.2017-11.cn.tedu:storage201.diske -p 192.168.2.201:3260 -l
#ls /dev/sd*
/dev/sda /dev/sdb
wwid(全球识别符)
#yum -y install device-mapper-multipath
#mpathconf --user_friendly_names n //创建配置文件并启用多路径
#scsi_id --whitelisted --device=/dev/sda //获取wwid
1LET 000100001
#scsi_id - -whitelisted --device=/dev/sdb
1LET 000100001
#vim /etc/multipath.conf
defaulfs{
user_friendly_names no //通过wwid识别
getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" //获取wwid的命令
}
multipaths{
multipath{
wwid "1LET 000100001"
alias mpathe
}
}
#service multipathd start
#chkconfig multipathd on
#ls /dev/mapper
#multipath -rr //重新加载多路径信息
#multipath -ll //查看多路径信息
#fdisk /dev/mapper/mpathe
#partprobe /dev/mapper/mpathe
#mkfs.ext4 /dev/mapper/mpathep1
#mount /dev/mapper/mpathep1 /var/www/html
iscsi,nfs的更多相关文章
- 在ubuntu 16.04系统环境中搭建NAS(samba/iscsi/nfs)
在ubuntu 16.04系统中搭建NAS环境 一.基本配置1:设置静态IPvi /etc/network/interfaces#iface ens32 inet dhcpiface ens32 in ...
- linux 存储技术 部署iSCSI NFS Multipath多路径
存储技术应用存储是根据不同的应用环境通过采取合理,安全,有效的方式将数据保存到某些介质上并能保证有效的访问另一方面,它是保证数据完整安全存放的方式或行为存储就是把这两方面结合起来,向客户提供一套数据存 ...
- Openstack入门篇(十八)之Cinder服务-->使用NFS作为后端存储
1.安装cinder-volume组件以及nfs [root@linux-node2 ~]# yum install -y openstack-cinder python-keystone [root ...
- 026-Cinder服务-->使用NFS作为后端存储
以下将介绍如何使用NFS共享作为Openstack后端存储,本案例在计算节点上配置nfs [root@linux-node2 ~]# yum install -y openstack-cinder p ...
- 025-Cinder服务-->安装并配置一个本地存储节点(ISCSI)
一:Cinder提供块级别的存储服务,块存储提供一个基础设施为了管理卷,以及和OpenStack计算服务交互,为实例提供卷.此服务也会激活管理卷的快照和卷类型的功能,块存储服务通常包含下列组件:cin ...
- Docker-3:Data Volume
Sometimes, applications need to share access to data or persist data after a container is deleted. ...
- libvirt
http://libvirt.org/index.html libvirt supports: The KVM/QEMU Linux hypervisor The Xen hypervisor on ...
- Virtualization API之libvirt
The virtualization API 之开源 libvirt探究 By Ruiy: libvirt supports Hypervisors(注,相关的hypervisors项目的权威网站已经 ...
- 存储那些事儿(三):OpenStack的块存储Cinder与商业存储的融合
OpenStack是一个美国国家航空航天局和Rackspace合作研发的云端运算软件,以Apache许可证授权,并且是一个自由软件和开放源代码项目.OpenStack是IaaS(基础设施即服务)软 ...
随机推荐
- Python基础:28正则表达式
一:概述 正则表达式(RE)为高级文本模式匹配,以及搜索-替代等功能提供了基础.正则表达式(RE)是一些由字符和特殊符号组成的字符串,它们能匹配多个字符串.Python通过标准库的re模块支持正则表达 ...
- 2019-7-29-NetBIOS-计算机名称命名限制
title author date CreateTime categories NetBIOS 计算机名称命名限制 lindexi 2019-07-29 09:59:17 +0800 2018-12- ...
- H3C 分组交换连接模型
- js将单个反斜杠转化为斜杠的问题
var two="https://192.255.255.255:3215/2019/2/26/16/13/b2e8929483c66cefddbe1e49a007e3f8-47358FC3 ...
- Python--day32--ftp文件传输报错的原因
解决办法:把buffer改小 server.py #实现一个大文件的上传或下载 #配置文件 ip地址 端口号 import json import socket import struct sk = ...
- springboot中使用spring-session实现共享会话到redis(二)
上篇文章介绍了springboot中集成spring-session实现了将session分布式存到redis中.这篇在深入介绍一些spring-session的细节. 1.session超时: 在t ...
- H3C DHCP中继配置示例
- H3C 聚合链路负载分担原理
- jquery 选择多级父子元素
<div class="box"> <div class="item"> <div class="out"&g ...
- 2019浙江ACM省赛——部分题目
有一些题目过了我还没有重新写,先放一些我重新写好了的吧 签到题拿到了信心吧,9分钟写完两题,我们贼开心,我大哥说签到题有什么好开心的,如果不是我有一些地方卡了下,可能还是更快吧,还有就是测试案例多试了 ...