iSCSI 是什么?掌声欢迎度娘上台科普:
iSCSI(Internet Small Computer System Interface,发音为/ˈаɪskʌzi/),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术。
SCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置。
使用iSCSI SAN 作用通常有两个:存储集成和容灾备份。(本篇介绍存储集成)
度娘说完了,那么我说下个人理解,以下~
iSCSI 技术主要由两部分构成:存储端和服务器端。通过将存储端的磁盘挂载到服务端,使得服务端可以访问存储端的内存。也就是说磁盘硬件放在存储端,内存读写放到了服务端,所以间接的使得服务端的内存得到拓展。
接下来是搭建共享存储过程,本篇主要分成两步:
一、iSCSI存储端配置
存储端 ip 为 192.168.36.179
1.环境配置
# 安装 targetcli
yum -y install targetcli
# 启动target服务
systemctl start target
# 设置为开机自启动服务
systemctl enable target
# 禁用防火墙
systemctl stop firewalld
systemctl disable firewalld
2.iSCSI 配置
# 使用 targetcli 命令开始配置 iSCSI
[root@ser188 dev]# targetcli
targetcli shell version 2.1.53
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/>
# 创建逻辑卷
/> /backstores/block/ create xendata /dev/sdb
# 创建 IQN (Iscsi Qualified Name) iscsi 服务端连接会用上
/> iscsi/ create iqn.2021-08.com.xenserver:xenserver1
# 进入 /iscsi/iqn.2021-08.com.xenserver:xenserver1/tpg1 目录
# 创建lun(target块设备的逻辑单元)
/iscsi/iqn.20...nserver1/tpg1> luns/ create /backstores/block/xendata
Created LUN 0.
# 创建ACL允许ISCSI客户机连接
/iscsi/iqn.20...nserver1/tpg1> acls/ create iqn.2021-08.com.xenserver:client
# 创建用户名、密码
/iscsi/iqn.20...nserver1/tpg1> cd acls
/iscsi/iqn.20...er1/tpg1/acls> cd iqn.2021-08.com.xenserver:client
/iscsi/iqn.20...server:client> set auth userid=fsyml
Parameter userid is now 'fsyml'.
/iscsi/iqn.20...server:client> set auth password=123456
Parameter password is now '123456'.
二、iSCSI服务端配置
存储端 ip 为 192.168.36.180
1.环境配置
# 安装
yum -y install iscsi-initiator-utils
# 启动iscsi服务
[root@ser180 etc]# systemctl start iscsi
# 开机自启动
[root@ser180 etc]# systemctl enable iscsi
Created symlink from /etc/systemd/system/remote-fs.target.wants/iscsi.service to /usr/lib/systemd/system/iscsi.service
2.配置 iSCSI 连接凭证
# 配置ISCSIInitiator名称(此处InitiatorName须与服务端配置的ACL允许ISCSI客户机连接的名称一致):
vi /etc/iscsi/initiatorname.iscsi
# 修改为 InitiatorName=iqn.2021-08.com.xenserver:client
# 修改ISCSIInitiator配置文件
[root@ser180 etc]# vi /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP
node.session.auth.username = fsyml
node.session.auth.password = 123456
3.查找ISCSI设备
[root@ser180 etc]# iscsiadm --mode discovery --type sendtargets --portal 192.168.36.179
192.168.36.179:3260,1 iqn.2021-08.com.xenserver:xenserver1
4.连接 ISCSI 设备
iscsiadm --mode node --targetname iqn.2021-08.com.xenserver:xenserver1 --portal 192.168.36.179 --login
5.查看ISCSI设备状态
如下可见存储端的磁盘 sdb 已经连接上来
[root@ser180 etc]# lsblk --scsi
NAME HCTL TYPE VENDOR MODEL REV TRAN
sda 2:0:0:0 disk VMware, VMware Virtual S 1.0 spi
sdb 3:0:0:0 disk LIO-ORG xendata 4.0 iscsi
sr0 1:0:0:0 rom NECVMWar VMware IDE CDR10 1.00 ata
6.共享磁盘格式分区
[root@ser180 etc]# mkfs.xfs /dev/sdb
meta-data=/dev/sdb isize=512 agcount=4, agsize=6553600 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=26214400, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=12800, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
7.挂载共享磁盘
磁盘挂载成功方能正常使用
# 提取给磁盘的UUID
[root@ser180 etc]# blkid /dev/sdb
/dev/sdb: UUID="93532b51-09e2-4aed-8922-daae3ecfba94" TYPE="xfs"
[root@ser180 etc]# echo "UUID=93532b51-09e2-4aed-8922-daae3ecfba94" >> /etc/fstab
# 添加挂载点 其中, /mnt/xenserver是挂载路径, ext4代表文件系统 ,_netdev代表该挂载的磁盘分区为网络磁盘分区。
# vi /etc/fstab
UUID=93532b51-09e2-4aed-8922-daae3ecfba94 /mnt/xenserver xfs defaults,_netdev 0 0
# 配置挂载路径
mkdir /mnt/xenserver
# 挂载
mount /mnt/xenserver
8.设置开机自动连接 ISCSI 设备
iscsiadm --mode node --targetname iqn.2021-08.com.xenserver:xenserver1 --portal 192.168.36.179 -o update -n node.startup -v automatic
9.查看挂载情况
[root@ser180 ~]# mount -l
/dev/sdb on /mnt/xenserver type xfs (rw,relatime,attr2,inode64,noquota,_netdev)