DAS+NAS+SAN(iscsi实现IP-SAN)
Posted 郭怀远
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DAS+NAS+SAN(iscsi实现IP-SAN)相关的知识,希望对你有一定的参考价值。
文章目录
一、Linux存储分层
简单来说,存储就是存放数据的介质
1. Linux上如何挂载ntfs格式的移动硬盘
Linux内核支持ntfs,但centos7系统并没有加上此功能,解决方法两种:
- 重新编译内核,在内核加上支持ntfs(此方法不推荐,因为编译内核会造成内核运行不稳定, 没有过硬的实力不要做)
- 安装软件,为内核加上支持ntfs的模块
安装
# yum install epel-release -y
# yum install ntfs-3g
挂载命令
# mount.ntfs-3g /dev/sdb1 /mnt
一个新的硬盘在linux系统里使用一般来说就三步:(分区,格式化)-挂载-使用
2. Linux存储五层
上面比较难理解的是虚拟文件系统: 又名VFS (Virtual File System),作用就是采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统,即为各类文件系统提供了一个统一的操作界面和应用编程接口。
简单来说,就是使用上层应用程序不用关注底层是什么文件系统, 统一使用。
3. 存储的分类
存储分类 | 描述 |
---|---|
DAS 直连式存储 (direct access/attach storage) | 如:机箱里的disk,或通过接口直连到系统总线上的disk(如U盘,移动硬盘) |
NAS 网络附加存储(network attched storage) | 通过交换机,路由器连接起来,共享的是目录。如:nfs,samba,ftp |
SAN 存储区域网络(storage area network) | 通过交换机,路由器连接起来的高速存储网络,共享的是**块设备 |
DAS: 直接连接系统,不受网速限制,速度快; 扩展容量有上限。
NAS与SAN: 通过网络设备连接的远程存储,速度受网络影响; 但扩展方便,几乎无上限。
NAS和SAN都是通过网络(通过了网络设备,如路由器,交换机等)的,但NAS共享的是应用层的目录,而SAN共享的是/dev/sdb1或/dev/sdb这种块设备。
4. 存储类型的分类
存储类型 | 描述 |
---|---|
文件存储 | NAS都属于这一类。简单来说就是mount后直接使用的 |
块存储 | SAN都属于这一类。简单来说就是类似/dev/sdb这种,要分区,格式化后才能mount使用 |
对象存储 | 通俗来讲,就是存储是什么形式,怎么做的都不用关注。使用的人只要直接使用程序接口去访问, 进行get下载与put上传就好 |
文件存储: 类似一个大的目录,多个客户端都可以挂载过来使用。
- 优点: 利于数据共享
- 缺点: 速度较慢
块存储: 类似一个block设备,客户端可以格式化,挂载并使用,和用一个硬盘一样。
- 优点: 和本地硬盘一样,直接使用,速度较快
- 缺点: 数据不共享
对象存储: 一个对象我们可以看成一个文件, 综合了文件存储和块存储的优点。
- 优点: 速度快,数据共享
- 缺点: 成本高, 不兼容现有的模式
二、SAN
1. SAN的分类
两种SAN:
- FC-SAN: 早期的SAN, 服务器与交换机的数据传输是通过光纤进行的, 服务器把SCSI指令传输到存储设备上,不能走普通LAN网的IP协议。
- IP-SAN: 用IP协议封装的SAN, 可以完全走普通网络,因此叫做IP-SAN, 最典型的就是ISCSI。
FC-SAN优缺点: 速度快(2G,8G,16G), 成本高。
IP-SAN优缺点: 速度较慢(已经有W兆以太网标准), 成本低。
2. iscsi实现IP-SAN
iscsi:网络小型计算机接口,就是一个通过网络可以实现SCSI接口的协议
1)环境准备
Linux平台通过iscsi实现IP-SAN
准备两台虚拟机并处于同一网段。
第一步:配置ip
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
BOOTPROTO="dhcp"
IPADDR=192.168.44.120
NETMASK=255.255.255.0
GATEWAY=192.168.44.2
DNS1=8.8.8.8
DNS2=114.114.114.114
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
第二步:都配置主机名及其主机名互相绑定
# hostnamectl set-hostname export
# su
# hostnamectl set-hostname import
# su
# vim /etc/hosts
...
192.168.44.110 export
192.168.44.120 import
第三步:关闭防火墙和SELinux
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# vim /etc/selinux/config
...
SELINUX=disabled
第四步:时间同步
# ntpdate 111.230.50.201
第五步:配置yum源(需要加上epel源)
yum源配置
# yum install epel-release -y
第六步:
在存储导出端模拟存储(模拟存储可以使用多种形式,如硬盘:/dev/sdb,分区:/dev/sdb1,软raid:/dev/md0,逻辑卷:/dev/vg/lv01,dd if=/dev/zero of=/tmp/storage_file bs=1M count=1000
创建的大文件等等), 本实验请自行加一个硬盘来模拟
在导出机器上添加一块磁盘
第七步:使用fdisk对/dev/sdb
进行分区
分区教程
注意:以下操作都是在导出机器export 上进行,
# fdisk /dev/sdb
.....
# lsblk
sdb 8:16 0 5G 0 disk
├─sdb1 8:17 0 2G 0 part
└─sdb2 8:18 0 3G 0 part
刷新分区表
# partx -a /dev/sdb
格式化分区
# mkfs.ext4 /dev/sdb1
...
创建挂载点并挂载
# mkdir /u1
# mkdir /u2
# mount /dev/sdb1 /u1
# mount /dev/sdb2 /u
在挂载目录生成1G文件
# dd if=/dev/zero of=/u1/test_file bs=1M count=1000
2)操作过程
- export导出端安装软件, 配置导出的存储,启动服务
- import导入端安装软件, 导入存储,启动服务
第1步: 在导出端上安装iscsi-target-utils软件包
# yum install scsi-target-utils -y
第2步: 在导出端配置存储的导
[root@export ~]# rpm -qa | grep scsi
lsscsi-0.27-6.el7.x86_64
scsi-target-utils-1.0.55-4.el7.x86_64
查看配置文件
[root@export ~]# rpm -qc scsi-target-utils-1.0.55-4.el7.x86_64
/etc/sysconfig/tgtd
/etc/tgt/conf.d/sample.conf
/etc/tgt/targets.conf
/etc/tgt/tgtd.conf
修改配置文件
# vim /etc/tgt/targets.conf
default-driver iscsi
<target scsi:data> # 共享名,也就是存储导入端发现后看到的名称
backing-store /dev/sdb # /dev/sdb是实际要共享出去的设备
</target>
第三步:导出端启动服务并验证
[root@export ~]# systemctl start tgtd
[root@export ~]# systemctl enable tgtd
Created symlink from /etc/systemd/system/multi-user.target.wants/tgtd.service to /usr/lib/systemd/system/tgtd.service.
[root@export ~]# lsof -i:3206
[root@export ~]# tgt-admin --show
Target 1: scsi:data
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
SWP: No
Thin-provisioning: No
Backing store type: null
Backing store path: None
Backing store flags:
Account information:
ACL information:
ALL
第4步: 导入端安装iscsi-initiator-utils软件包
# yum install iscsi-initiator-utils
第5步: 导入端导入存储
在import 上操作
在登录前必须要先连接并发现资源(discovery)
[root@import ~]# iscsiadm -m discovery -t sendtargets -p 192.168.44.110
192.168.44.110:3260,1 scsi:data
发现资源成功后,就可以进行资源登录了
[root@import ~]# iscsiadm -m node -l
Logging in to [iface: default, target: scsi:data, portal: 192.168.44.110,3260] (multiple)
Login to [iface: default, target: scsi:data, portal: 192.168.44.110,3260] successful.
登录成功后,直接使用fdisk -l
查看
import# fdisk -l
以上是关于DAS+NAS+SAN(iscsi实现IP-SAN)的主要内容,如果未能解决你的问题,请参考以下文章