阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下iSCSI服务部署文档

164次阅读
没有评论

共计 3209 个字符,预计需要花费 9 分钟才能阅读完成。

文档目的

部署 iSCSI 服务

基础知识

传统的 SCSI 小型计算机系统接口 (Small Computer System Interface) 技术是存储设备最基本的标准协议,但通常需要设备互相靠近并用 SCSI 总线链接,因此受到了物理环境的限制。

iSCSI小型计算机系统接口(即 Internet Small Computer System Interface)则是由IBM 公司研究开发用于实现在 IP 网络上运行 SCSI 协议的新存储技术,即能够让 SCSI 接口与以太网技术相结合,使用 iSCSI 协议基于以太网传送 SCSI 命令与数据,克服了 SCSI 需要直接连接存储设备的局限性,使得我们可以跨越不同的服务器共享存储设备,并可以做到不停机状态下扩展存储容量。

SAN存储区域网络技术 (Storage Area Network) 便是基于 iSCSI 存储协议,采用高速光钎通道传输存储数据的服务程序。

逻辑单元 LUN(Logical Unit Number)是使用 iSCSI 协议中的重要概念,因为当客户机想要使用服务端存储设备时都必需输入对应的名称 (Target ID),而一个服务端可能会同时提供多个可用的存储设备,于是便用LUN 来详细的描述设备或对象,同时每个 LUN Device 可能代表一个硬盘或 RAID 设备,LUN的名称由用户指定。

iSCSI的工作方式分为服务端(target)与客户端(initiator

常用命令

mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde

创建RAID 5

mdadm -D /dev/md0

查看 RAID 阵列详细信息,获取 UUID

create

iSCSI中创建磁盘镜像

delete [ip] [port]

删除 portalsip地址和端口

systemctl restart iscsid

iscsi客户端重启

iscsiadm

 

 

file /dev/sdb

检查硬盘信息

所需软件

targetd

targetcli

系统环境

服务器:Linux version 3.10.0-229.el7.x86_64 (builder@kbuilder.dev.CentOS.org) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) )

客户端:Linux version 3.10.0-229.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) )

操作步骤

配置iSCSI 服务器

1.准备作为LUN 发布的存储设备

现在虚拟机中添加四个容量为 20GB 的硬盘

创建 RAID5 并且设置一块备份用的故障盘

mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb  /dev/sdc  /dev/sdd  /dev/sde

注:如果提示 mdadm 命令未找到,请先安装 mdadm 命令(yum install mdadm -y

Linux 下 iSCSI 服务部署文档

查看 RAID 阵列 UUID

mdadm -D /dev/md0

Linux 下 iSCSI 服务部署文档

创建 RAID 阵列配置文件

vim /etc/mdadm.conf

写入以下语句

DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde

ARRAY /dev/md0 UUID=edf6f2dd:17c58f31:e60b3208:e585f906

Linux 下 iSCSI 服务部署文档

2.安装target 服务程序

yum -y install targetd targetcli

启动 iSCSI target 服务程序

systemctl start targetd

添加 iSCSI target 服务到开机启动项

systemctl enable targetd

3.创建存储对象

targetcli

Linux 下 iSCSI 服务部署文档

进入 /backstores/block 目录中创建设备disk0

cd /backstores/block

create disk0 /dev/md0

Linux 下 iSCSI 服务部署文档

返回根目录,查看创建后的设备

cd /

ls

Linux 下 iSCSI 服务部署文档

4.配置iSCSI target 目标

进入 iscis 目录

cd iscsi

创建 iSCSI target 目标

create

进入 target/luns 目录中创建 LUN 设备

cd iqn.2003-………..

cd tpg1

cd luns

create /backstores/block/disk0

Linux 下 iSCSI 服务部署文档

5.设置访问控制列表

创建访问控制列表

ls /

cd ..

cd acls

create iqn.2003-01.org.linux-iscsi.centos-cloud.x8664:sn.c15800d54445:client

注:createacl 名字可以用 ls / 查看 iscisitargetID,并在显示的 targetID 后加上“:client

Linux 下 iSCSI 服务部署文档

切换到 portals 目录中,先删除 0.0.0.0:3260, 再添加允许监听的 IP 地址

cd ..

cd portals

delete 0.0.0.0 3260

create 172.16.34.71

Linux 下 iSCSI 服务部署文档

注:这里一定要先删除 0.0.0.0 地址,否则会报错“Could not create NetworkPortal in configFS”!

Linux 下 iSCSI 服务部署文档

6. 关闭端口防火墙

firewall-cmd –zone=public –add-port=3260/tcp –permanent

firewall-cmd –reload

Linux 下 iSCSI 服务部署文档

配置iSCSI 客户端

1. 检查能否与 iscsi 服务端通信

ping -c 172.16.34.71

2. 安装客户端服务程序

yum install iscsi-initiator-utils -y

Linux 下 iSCSI 服务部署文档

3. 编辑 iscsi 客户端名称文件

vim /etc/iscsi/initiatorname.iscsi

替换以下语句

InitiatorName=iqn.2003-01.org.linux-iscsi.centos-cloud.x8664:sn.c15800d54445:client

Linux 下 iSCSI 服务部署文档

注:这里的名字必须与 iscsi 服务端设置的 acls 名称一致,否则会报错“iSCSI login failed due to authorization failure”!

重启 iscsi 客户端服务

systemctl restart iscsid

发现 iscsi 服务端的可用存储设备

iscsiadm -m discovery -t st -p 172.16.34.71

Linux 下 iSCSI 服务部署文档

连接 iscsi 服务端的可用存储设备

iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.centos-cloud.x8664:sn.c15800d54445 -p 172.16.34.71 –login

Linux 下 iSCSI 服务部署文档

验证

file /dev/sdb

连接前

fdisk -l

Linux 下 iSCSI 服务部署文档

连接后

fdisk -l

Linux 下 iSCSI 服务部署文档

格式化磁盘

mkfs.xfs /dev/sdb

Linux 下 iSCSI 服务部署文档

mkdir /iscsi

mount /dev/sdb  /iscsi

df -h

Linux 下 iSCSI 服务部署文档

常见问题

问题一:无法建立本地IP portals 监听,显示“Could not create NetworkPortal in configFS”

Linux 下 iSCSI 服务部署文档

解决方法:

删除 /iscsi/iqn.20../portals 已有IP:端口,再次建立即可

cd /iscsi/iqn.20../tpg1/portals

delete 0.0.0.0 3260

create 172.16.34.70    (这里的 IPiSCSI服务器的 IP 地址)

Linux 下 iSCSI 服务部署文档

Linux 下 iSCSI 服务部署文档

问题二:iSCSI 客户端无法连接 iSCSI 服务端,显示错误“iSCSI login failed due to authorization failure”

Linux 下 iSCSI 服务部署文档

解决方法:

客户端中的 initiator 唯一标识(/etc/iscsi/initiatorname.iscsi)必须和服务器上的名字一直

客户端 vim /etc/iscsi/initiatorname.iscsi 

Linux 下 iSCSI 服务部署文档

服务端

targetcli

cd /

ls

Linux 下 iSCSI 服务部署文档

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141445.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3209字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中