iSCSI教程

本文提供了一篇关于iSCSI的详细教程,包括iSCSI协议简介、基本概念、服务端存储类型,以及在实验环境中设置iSCSI Target和客户端的步骤。教程覆盖了从创建Target、添加Backstore、设置ACL,到客户端发现、登录、挂载,直至卸载和删除服务端iSCSI Target和Backstores的全过程。
摘要由CSDN通过智能技术生成

一、iSCSI 简介

  • iSCSI 的全称是: Internet 小型计算机系统接口,是一个基于 TCP/IP 的协议,主要用于通过 IP 网络仿真 SCSI,从而为远程块存储设备提供数据传输和管理。说白了,就是通过网络由专门的服务器提供存储管理,以实现数据的远程储存,便于数据的集中管理,从而简化了数据复制、迁移和容灾。

  • 但是出于性能的考虑,通过 iSCSI 进行的网络流量通常是未加密的,这就需要在应用服务器和存储服务器之前的布线和网络设备都是单独布线和单独使用,或者使用 VPN 进行网络数据传输。不要与其他网络进行混杂,以免造安全问题和成网络传输性能的损耗。

  • 布线选择上,一般选用 10/40 Gb/s 以太网或者 8/10/16/20 Gb/s 光纤网络,以实现数据的高速传输。

二、常用的基本概念

名词 说明
ACL 访问权限控制列表,用来验证客户端启动器的访问,通常是客户端 iSCSI 启动器的 IQN 名称
IQN 用于标识单个 iSCSI 目标和启动器的唯一名称(全部小写)
WWN 用于标识单个光纤通道端口和节点的唯一编号
TARGET iSCSI 服务器上的存储资源
LUN iSCSI 服务器上的块设备
initiator(启动器) 以软件或硬件实施的 iSCSI 客户端
NODE 单个 iSCSI 启动器或者目标
TPG 启动器或者目标上的单个 IP 连接地址
Portal 网络接口及端口

IQN 的格式为:iqn.年份-月份.com|cn|net|org.域名:自定义标识,如:iqn.2018-05.com.test:desktop;其中的字母均应为小写,即使输入时包含大写,命令执行后,系统会自动转换成小写。

在 iSCSI 管理中,在根节点下有单独的 iscsi 项,其结构示例为:

o- iscsi ............................................... [Targets: 1]       #iSCSI Target
  | o- iqn.2018-05.com.example:server ..................... [TPGs: 1]       #单个Target 显示为IQN
  |   o- tpg1 ................................ [no-gen-acls, no-auth]       #TPG
  |     o- acls ........................................... [ACLs: 1]       #ACL
  |     | o- iqn.2018-05.com.example.com:desktop ... [Mapped LUNs: 2]       #启动器IQN
  |     |   o- mapped_lun0 .................. [lun0 block/disk1 (rw)]       #映射到启动器的Lun
  |     o- luns ........................................... [LUNs: 2]       #LUN
  |     | o- lun0 ...... [block/disk1 (/dev/sdb1) (default_tg_pt_gp)]       #已布署的Lun,其中的项目为 Backstore 中已添加的磁盘
  |     o- portals ..................................... [Portals: 1]       #Portal
  |       o- 10.0.0.17:3260 .................................... [OK]       #已布署的Portal

三、服务端的存储类型

可用于 iSCSI 的服务存储类型用四种:

类型 说明
block 块设备,磁盘驱动器、磁盘分区、逻辑卷、以及服务器上定义的任何 b 类型的设备文件
fileio 在服务器上生成的一个指定大小的文件,类似于虚拟机中的虚拟磁盘
pscsi 物理 SCSI,通常不使用
ramdisk 内存盘,其中存储的数据在服务器重启后将全部丢失

以上四种类型在 iSCSI 管理中都归到 backstores 项下,其结构示例为:

o- backstores ............................................................... [...]
  | o- block ................................................... [Storage Objects: 2]
  | | o- disk1 ........................... [/dev/sdb1 (0 bytes) write-thru activated]
  | | | o- alua .................................................... [ALUA Groups: 1]
  | | |   o- default_tg_pt_gp ........................ [ALUA state: Active/optimized]
  | o- fileio .................................................. [Storage Objects: 0]
  | o- pscsi ................................................... [Storage Objects: 0]
  | o- ramdisk ................................................. [Storage Objects: 0]

四、实验环境

  • 准备二台虚拟机,系统安装 CentOS 7.5;
  • 二台虚拟机的网卡设置为 桥接
  • 一台用做服务器: IP : 10.0.0.17 , 修改/etc/hostnameServer,另外添加一个虚拟磁盘用来布署 iSCSI;
  • 一台用做客户端: 修改/etc/hostnameDesktop
  • 安装后使用命令 yum -y update升级到最新;
  • 安装epel数据源 yum -y install epel-release

五、实验目标

  • 在服务端( Server )上创建一个新的 iSCSI Target。此 Target 的 IQN 为:iqn.2018-05.com.test:server
  • 服务端新创建的 Target 包含二个 1G 的磁盘分区做为 LUN
  • 服务端新创建的 Target仅应由 initiatornameiqn.2018-05.com.test:desktop 的客户端使用
  • 在客户端发现关登录在服务端已创建好的 Target
  • 在客户端新磁盘上创建 ext4 文件系统,并将其挂载到 /iscsi1 /iscsi2
  • 在实验结束后在客户端上卸载服务端的 iSCSI Target
  • 在服务端上删除相关设置

六、服务端安装

(一)、在第二块硬盘上创建二个新的 1G 的分区作为 Backstore
[root@Server ~]# fdisk /dev/sdb

完成结果如下:

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:8589 MB, 8589934592 字节,16777216 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x6ab34c87

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576   83  Linux

分区完成后,不需要进行格式化操作

强制更新磁盘分区:

[root@Server ~]# partprobe
(二)、安装 targetcli 软件包
[root@Server ~]# yum install -y targetcli

安装完成后设置target服务开机启动,并启动服务:

[root@Server ~]# systemctl enable target
[root@Server ~]# systemctl start target
(三)、创建新的 iSCSI Target,添加已创建的磁盘分区作为 Backstore, 并且仅限于 initiname 为 iqn.2018-05.com.test:desktop 的客户端使用

1、进入 targetcli 管理界面并列出现有项目:

[root@Server ~]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值