网络存储概述node
1、DAS(Direct Attached Storage直接附加存储)数据库
经过与计算机主板的I/O接口直接相连服务器
2、NAS(Network Attachment Storage网络附加存储)网络
存储的数据以文件的形式经过NFS或CIFS共享协议进行传输ide
为客户机分配存储空间时一般采用共享文件夹的方式进行发布工具
采用普通以太网,对速率、冗余无特别要求性能
经过购买硬件NAS设备或安装FreeNAS平台可搭建NAS存储设备spa
3、SAN(Storage Area Network存储区域网络)对象
存储的数据以数据块的形式经过iSCSI协议进行传输接口
SAN区域应采用独立的物理链接
多采用高速光纤通道,对速率、冗余性要求高
高可用性、可扩展性、易恢复性
4、iSCSI协议
1)iSCSI协议简介
iSCSI协议是当前最流行的网络存储协议,能够解决SCSI协议在链接的设备数目和链接距离方面的限制。用户能够像使用本地的硬盘同样访问网络上任何位置的存储资源,也能够将原有的旧的分散的存储资源整合成一个大的存储池
2)iSCSI Cake与网络邻居共享有什么不一样?
网络邻居是文件级共享,iSCSI是裸设备级共享。网络邻居映射的盘不支持数据库和运行某些游戏,iSCSI支持全部磁盘操做和应用程序,并且iSCSI的性能要高于网络邻居。
3)配置iSCSI服务
iSCSI由服务端和客户端两部分组成,客户端也称为启动器
①iSCSI服务端也称为Target端,负责定义存储对象、分配逻辑空间,须要安装scsi-target-utils软件包
②iSCSI客户端也称为Initiator端,负责链接iSCSI设备,在iSCSI设备中建立文件系统和存取数据,须要安装iscsi-initiator软件包
实验环境
为服务器添加3块2G的SCSI硬盘,组成一个RAID5磁盘阵列,并分配给客户机使用
服务器:192.168.4.254
客户机:192.168.4.22
1、配置iSCSI服务器
安装scsi-target-utils软件包以搭建iSCSI服务器,服务名为tgtd,管理命令为tgtadm
yum -y install scsi-target-utils
1、准备存储设备
使用mdadm工具建立软RAID阵列设备,此处使用三块磁盘组建RAID 5阵列
fdisk –l
mdadm -Cv /dev/md0 -a yes -n3 -l5 /dev/sd[bcd]
mdadm -Q /dev/md0
将阵列配置保存为/etc/mdadm.conf,以便重建或恢复时使用
mdadm -D /dev/md0 | grep UUID
vi /etc/mdadm.conf
1) 准备给iSCSI服务器的存储设备不须要格式化,由于其并不在服务器中使用,而是由客户机使用并进行格式化、挂载等操做
2)mdadm命令各选项含义:
-C,--create 建立新的RAID设备
-v 输出详细信息
-a yes 若对应的设备文件不存在则自动建立
-n,--raid-devices= 阵列所使用的磁盘数量
-l,--level= RAID级别
-Q,--query 查询设备的RAID信息
-D,--detail 查询RAID设备的详细信息
-S,--stop 解散、中止/删除RAID阵列
2、建立iSCSI对象
service tgtd start
netstat -ntpl | grep "tgt" (默认端口为:3260)
tgtadm -L iscsi -o new -m target -t 1 -T iqn.2012-4.com.benet.y2:raid
tgtadm -L iscsi -o show -m target
1)iscsi对象命名规范: iqn.YYYY-mm.反向域名:识别标记
例:iqn.2012-4.com.benet.y2:raid
2)tgtadm命令各选项含义:
-L、--lld 指定驱动类型,如-L iscsi表示iSCSI存储
-o、--op 指定操做类型,如-o new、-o delete、-o show
-m、--mode 指定管理目标,如-m target表示iSCSI对象、logicalunit表示LUN
-t、--tid 指定对象ID号,如-t 1表示第一个对象
-T、--targetname 指定iSCSI对象的名称
3、为客户机分配存储空间(LUN)
tgtadm -L iscsi -o new -m logicalunit -t 1 -l 1 -b /dev/md0
tgtadm -L iscsi -o bind -m target -t 1 -I 192.168.4.22
tgtadm -L iscsi -o show -m target
tgtdam命令分配LUN时各选项含义:
-l、--lun 指定LUN的ID号,如-l 1
-b、--backing-store 指定块设备位置,如-b /dev/md0
-I、--initiator-address 指定客户机地址,如-I 192.168.4.22
-m logicalunit 表示管理目标为LUN
-o bind 表示绑定客户机地址
4、保存target和LUN信息,以便重启tgtd服务后仍然有效
vi /etc/tgt/targets.conf
chkconfig --level 35 tgtd on
注:iSCSI服务器必须先于客户机启动
2、配置iSCSI客户机
安装iscsi-initiator-utils软件包以链接iSCSI设备存取数据,服务名为iscsi,管理命令为iscsiadm,将lsscsi软件包也一并安装,方便查看iSCSI设备
yum -y install iscsi-initiator-utils lsscsi
1、链接iSCSI设备
查找iSCSI设备
service iscsi start
iscsiadm -m discovery -t sendtargets -p 192.168.4.254
链接到指定的iSCSI存储设备
iscsiadm -m node -T iqn.2012-4.com.benet.y2:raid --login
查看SCSI设备列表
lsscsi
链接成功后会自动建立配置文件并保存到/var/lib/iscsi/nodes/目录下的子目录中
iscsiadm命令各选项含义:
-m discovery 表示发现/查找
-t sendtargets 表示发布的target,可缩写为-t st
-p ip:port 用来指定服务器的ip地址及tgtd服务监听的端口
-m node 表示管理目录为节点
-T 用来指定要链接的iSCSI存储对象
-l,--login 表示链接/登录
--logout 表示断开/登出
2、使用iSCSI设备
查看iscsi共享磁盘标识并进行分区
fdisk -l
fdisk /dev/sdb
partprobe /dev/sdb -----更新信息
fdisk -l /dev/sdb
mkfs -t ext4 /dev/sdb1 -----建立文件系统
mkdir /opt/data -----挂载文件系统
mount /dev/sdb1 /opt/data/
df -hT
3、保存iSCSI链接配置
chkconfig --level 35 iscsi on ----设置iscsi服务自启动状态
blkid /dev/sdb1 -----使用blkid 命令查看设备文件的UUID
vi /etc/fstab
重启客户机后将自动链接iSCSI设备,并挂载指定的网络存储文件系统。
注:①因为iSCSI设备的特殊性,挂载时应启用_netdev参数
②有时会因设备链接变更、引导顺序等影响,致使iSCSI设备文件异常,所以经过设备文件的UUID来定位设备
③若是iSCSI服务器端与客户端可相互ping通,但当iSCSI客户端discover scsi-targets时,报错“No route to host”,此时关闭iSCSI服务器端iptables防火墙或开放3260端口便可
④在Windows环境下也可经过某些软件来实现iSCSI网络存储