文章目录
- 第十五章 使用iSCSI服务部署网络存储
- 一、iSCSI技术介绍
- 1、硬盘接口类型
- 二、创建RAID磁盘阵列
- 1、添加四块硬盘
- 2、创建RAID磁盘阵列
- 三、配置iSCSI服务端
- 1、iSCSI服务的和客户端的操作系统以及IP地址
- 2、安装targetcli
- 3、配置服务端共享资源
- 4、创建iSCSI target名称及配置共享资源
- 5、添加新目录
- 6、设置访问控制列表
- 7、设置IP地址和端口号
- 8、退出配置
- 9、配置防火墙策略
- 四、配置Linux客户端
- 1、安装initiator
- 2、编辑文件名称并重启服务
- 3、访问存储资源
- 4、格式化磁盘并挂载
- 5、卸载设备
- 五、配置Windows客户端
第十五章 使用iSCSI服务部署网络存储
一、iSCSI技术介绍
1、硬盘接口类型
IDE是一种成熟稳定、价格便宜的并行传输接口。
SATA是一种传输速度更快、数据校验更完整的串行传输接口。
SCSI是一种用于计算机和硬盘、光驱等设备之间系统级接口的通用标准,具有系统资源占用率低、转速高、传输速度快等优点。
二、创建RAID磁盘阵列
1、添加四块硬盘
2、创建RAID磁盘阵列
[root@centos ~]# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
三、配置iSCSI服务端
1、iSCSI服务的和客户端的操作系统以及IP地址
主机名称 | 操作系统 | IP地址 |
---|---|---|
iSCSI服务端 | Centos8 | 192.168.10.10 |
iSCSI客户端 | Centos8 | 192.168.10.20 |
iSCSI客户端 | Windows10 | 192.168.10.30 |
2、安装targetcli
[root@centos ~]# yum install targetcli
上次元数据过期检查:1 day, 20:17:47 前,执行于 2023年05月14日 星期日 19时50分02秒。
依赖关系解决。
====================================================================
软件包 架构 版本 仓库 大小
====================================================================
安装:
targetcli noarch 2.1.53-2.el8 AppStream 80 k
安装依赖关系:
python3-configshell noarch 1:1.1.28-1.el8 base 72 k
python3-kmod x86_64 0.9-20.el8 base 90 k
python3-pyparsing noarch 2.1.10-7.el8 base 142 k
python3-rtslib noarch 2.1.74-1.el8 base 102 k
python3-urwid x86_64 1.3.1-4.el8 base 783 k
target-restore noarch 2.1.74-1.el8 base 24 k
事务概要
====================================================================
安装 7 软件包
总下载:1.3 M
安装大小:4.7 M
确定吗?[y/N]: y
下载软件包:
(1/7): python3-kmod-0.9-20.el8.x86_ 207 kB/s | 90 kB 00:00
(2/7): python3-configshell-1.1.28-1 127 kB/s | 72 kB 00:00
(3/7): python3-pyparsing-2.1.10-7.e 242 kB/s | 142 kB 00:00
(4/7): target-restore-2.1.74-1.el8. 162 kB/s | 24 kB 00:00
(5/7): python3-rtslib-2.1.74-1.el8. 251 kB/s | 102 kB 00:00
(6/7): targetcli-2.1.53-2.el8.noarc 206 kB/s | 80 kB 00:00
(7/7): python3-urwid-1.3.1-4.el8.x8 278 kB/s | 783 kB 00:02
--------------------------------------------------------------------
总计 382 kB/s | 1.3 MB 00:03
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : python3-urwid-1.3.1-4.el8.x86_64 1/7
安装 : python3-pyparsing-2.1.10-7.el8.noarch 2/7
安装 : python3-configshell-1:1.1.28-1.el8.noarch 3/7
安装 : python3-kmod-0.9-20.el8.x86_64 4/7
安装 : python3-rtslib-2.1.74-1.el8.noarch 5/7
安装 : target-restore-2.1.74-1.el8.noarch 6/7
运行脚本: target-restore-2.1.74-1.el8.noarch 6/7
安装 : targetcli-2.1.53-2.el8.noarch 7/7
运行脚本: targetcli-2.1.53-2.el8.noarch 7/7
验证 : python3-configshell-1:1.1.28-1.el8.noarch 1/7
验证 : python3-kmod-0.9-20.el8.x86_64 2/7
验证 : python3-pyparsing-2.1.10-7.el8.noarch 3/7
验证 : python3-rtslib-2.1.74-1.el8.noarch 4/7
验证 : python3-urwid-1.3.1-4.el8.x86_64 5/7
验证 : target-restore-2.1.74-1.el8.noarch 6/7
验证 : targetcli-2.1.53-2.el8.noarch 7/7
已安装:
python3-configshell-1:1.1.28-1.el8.noarch
python3-kmod-0.9-20.el8.x86_64
python3-pyparsing-2.1.10-7.el8.noarch
python3-rtslib-2.1.74-1.el8.noarch
python3-urwid-1.3.1-4.el8.x86_64
target-restore-2.1.74-1.el8.noarch
targetcli-2.1.53-2.el8.noarch
完毕!
3、配置服务端共享资源
//将RAID5磁盘阵列md0文件加入到配置共享设备的“资源池”,并重新命名为disk0
[root@centos ~]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.53
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> ls
o- / ........................................................ [...]
o- backstores ............................................. [...]
| o- block ................................. [Storage Objects: 0]
| o- fileio ................................ [Storage Objects: 0]
| o- pscsi ................................. [Storage Objects: 0]
| o- ramdisk ............................... [Storage Objects: 0]
o- iscsi ........................................... [Targets: 0]
o- loopback ........................................ [Targets: 0]
/> cd /backstores/block
/backstores/block> create disk0 /dev/md0
Created block storage object disk0 using /dev/md0.
4、创建iSCSI target名称及配置共享资源
/backstores/block> cd /
/> cd iscsi
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> ls
o- iscsi ............................................. [Targets: 1]
o- iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b [TPGs: 1]
o- tpg1 ................................ [no-gen-acls, no-auth]
o- acls ........................................... [ACLs: 0]
o- luns ........................................... [LUNs: 0]
o- portals ..................................... [Portals: 1]
o- 0.0.0.0:3260 ...................................... [OK]
5、添加新目录
//将前面添加到iSCSI共享资源池中的硬盘设备添加到新目录,默认使用这块硬盘设备提供的共享存储资源
/iscsi> cd iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b/
/iscsi/iqn.20....18d7cfb7d62b> cd tpg1/luns
/iscsi/iqn.20...62b/tpg1/luns> create /backstores/block/disk0
Created LUN 0.
6、设置访问控制列表
/iscsi/iqn.20...62b/tpg1/luns> cd ..
/iscsi/iqn.20...cfb7d62b/tpg1> cd acls
/iscsi/iqn.20...62b/tpg1/acls> create iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b:client
Created Node ACL for iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b:client
Created mapped LUN 0.
7、设置IP地址和端口号
//设置服务端的监听IP地址和端口号
/iscsi/iqn.20...62b/tpg1/acls> cd ..
/iscsi/iqn.20...cfb7d62b/tpg1> cd portals/
/iscsi/iqn.20.../tpg1/portals> ls
o- portals ........................................... [Portals: 1]
o- 0.0.0.0:3260 ............................................ [OK]
/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260
Deleted network portal 0.0.0.0:3260
/iscsi/iqn.20.../tpg1/portals> create 192.168.10.10
Using default IP port 3260
Created network portal 192.168.10.10:3260.
8、退出配置
//输入exit退出配置
/iscsi/iqn.20.../tpg1/portals> cd /
/> ls
o- / ........................................................ [...]
o- backstores ............................................. [...]
| o- block ................................. [Storage Objects: 1]
| | o- disk0 .......... [/dev/md0 (40.0GiB) 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]
o- iscsi ........................................... [Targets: 1]
| o- iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b [TPGs: 1]
| o- tpg1 .............................. [no-gen-acls, no-auth]
| o- acls ......................................... [ACLs: 1]
| | o- iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b:client [Mapped LUNs: 1]
| | o- mapped_lun0 ................ [lun0 block/disk0 (rw)]
| o- luns ......................................... [LUNs: 1]
| | o- lun0 ..... [block/disk0 (/dev/md0) (default_tg_pt_gp)]
| o- portals ................................... [Portals: 1]
| o- 192.168.10.10:3260 .............................. [OK]
o- loopback ........................................ [Targets: 0]
/> exit
Global pref auto_save_on_exit=true
Configuration saved to /etc/target/saveconfig.json
9、配置防火墙策略
[root@centos ~]# iptables -F
[root@centos ~]# iptables-save
[root@centos ~]# firewall-cmd --add-port=3260/tcp --permanent
success
[root@centos ~]# firewall-cmd --reload
success
四、配置Linux客户端
1、安装initiator
[root@centos ~]# yum install iscsi-initiator-utils
CentOS-8.5.2111 - Base - mirrors.a 42 kB/s | 3.9 kB 00:00
CentOS-8.5.2111 - Extras - mirrors 21 kB/s | 1.5 kB 00:00
CentOS-8.5.2111 - AppStream - mirr 57 kB/s | 4.3 kB 00:00
软件包 iscsi-initiator-utils-6.2.1.4-4.git095f59c.el8.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
2、编辑文件名称并重启服务
//编辑iSCSI客户端中的initiator名称文件,把服务端的访问控制列表名称填写进来
[root@centos ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b:client
//重启iscsid服务程序并设置为开启自启动
[root@centos ~]# systemctl restart iscsid && systemctl enable iscsid
Created symlink /etc/systemd/system/multi-user.target.wants/iscsid.service → /usr/lib/systemd/system/iscsid.service.
3、访问存储资源
//扫描可用的共享存储资源
[root@centos ~]# iscsiadm -m discovery -t st -p 192.168.10.10
192.168.10.10:3260,1 iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b
//登录服务端
[root@centos ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b -p 192.168.10.10 --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b, portal: 192.168.10.10,3260]
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b, portal: 192.168.10.10,3260] successful.
4、格式化磁盘并挂载
//格式化磁盘
[root@centos ~]# mkfs.xfs /dev/sdb
log stripe unit (524288 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB
meta-data=/dev/sdb isize=512 agcount=16, agsize=654720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=10475520, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=5120, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
//挂载设备
[root@centos ~]# mkdir /iscsi
[root@centos ~]# mount /dev/sdb /iscsi/
5、卸载设备
[root@centos ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b -u
Logging out of session [sid: 1, target: iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b, portal: 192.168.10.10,3260]
Logout of [sid: 1, target: iqn.2003-01.org.linux-iscsi.centos.x8664:sn.18d7cfb7d62b, portal: 192.168.10.10,3260] successful.
五、配置Windows客户端