概述:Internet小型计算机接口
一、构建iscsi服务
下载yum -y install targetlic
使用targetcli工具进入到iscsi服务器端管理界面:targetcli
[root@localhost ~] yum -y install targetcli #下载软件
[root@localhost ~] targetcli #进入服务器iscsi
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.51
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> ls
o- / ................ [...] #顶级目录
o- backstores
.......................... [...] #后备存储,主备存储空间,要共享的设备或分区得先加入到这里
| o- block .............. [Storage Objects: 0] #块存储,o- backstores子目录
| o- fileio .............. [Storage Objects: 0] #文件存储,o- backstores子目录
| o- pscsi ................ [Storage Objects: 0] #真实物理scsi设备,o- backstores子目录
| o- ramdisk .............. [Storage Objects: 0] #闪存,o- backstores子目录
o- iscsi ..................[Targets: 0] #以ISCSI的方式共享存储设备的目录
o- loopback ................. [Targets: 0] #回环
/>
二、实现步骤
服务器端
1.进入到/backstores/block目录中添加设备到块设备列表
create disk0 /dev/sdb1
/> cd /backstores/block #进入此目录后输入下一行
/backstores/block> create disk0 /dev/sdb2
#Created block storage object disk0 using /dev/sdb2. 出现绿色表示成功
2.进入到iscsi目录中生成iqn标签
create
/backstores/block> cd ../../
/> cd /iscsi #进入目录
/iscsi> create #输入
#Created target iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.f0442ec269ae.
#Created TPG 1.
3Global pref auto_add_default_portal=true
#Created default portal listening on all IPs (0.0.0.0), port 3260. 绿色表示成功
/iscsi>
3.进入到/iscsi/iqn.20...909/tpg1/luns>目录下创建逻辑单元
create /backstores/block/disk0
/iscsi> cd iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.f0442ec269ae/tpg1/luns #进入目录
/iscsi/iqn.20...9ae/tpg1/luns> create /backstores/block/disk0
Created LUN 0. #绿色表示成功
/iscsi/iqn.20...9ae/tpg1/luns>
4.进入到/iscsi/iqn.20...909/tpg1/acls>目录中创建访问控制规则
create iqn.20......
/iscsi/iqn.20...9ae/tpg1/luns> cd ../acls #进入acls目录
/iscsi/iqn.20...9ae/tpg1/acls> create iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.f0442ec269ae #创建自己的iqn
#Created Node ACL for iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.f0442ec269ae
#Created mapped LUN 0. 绿色表示成功
多台服务器连接客户端ACL要一致,不然认证不了
5.进入到/iscsi/iqn.20.../tpg1/portals>目录中创建端口
create 192.168.1.1 3260
注意:因为原本存在一个端口0.0.0.0:3260,所以需要将原来的端口删除掉再进行创建
6.exit退出,否则设置不会被保存
/iscsi/iqn.20...9ae/tpg1/acls> cd ../portals/ #进入portals目录
/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.1 3260 #创建自己
#Using default IP port 3260
#Created network portal 192.168.10.1:3260.
/iscsi/iqn.20.../tpg1/portals>
/iscsi/iqn.20.../tpg1/portals> exit #保存退出
7.在认证文件中成iqn编号
vim /etc/iscsi/initiatorname.iscsi
将原来的认证编号改为新生成的编号
[root@localhost ~] vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.f0442ec269ae
#= 后面原来的删掉,填入自己的iqn
8.启动服务
systemctl start iscsi
systemctl start iscsid
[root@localhost ~] systemctl start iscsi
[root@localhost ~] systemctl start iscsid
客户端
1.安装软件
yum -y install iscsi-initator-utils
[root@localhost ~] yum -y install iscsi-initiator-utils
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* c7-media:
软件包 iscsi-initiator-utils-6.2.0.874-19.el7.x86_64 已安装并且是最新版本
无须任何处理
2.在认证文件中生成iqn编号
vim /etc/iscsi/initatorname.iscsi
将原来的认证编号改为新生成的编号
[root@localhost ~] vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.f0442ec269ae
#一样将=号 后面换成自己iqn
3.开启客户端服务
systemctl start iscsi
systemctl start iscsid
4.查找可用的iscsi资源列表
iscsiadm -m discovery -t st -p 192.168.1.1:3260
-m 指定模式
-t 指定动作类型,st,sendtargets
-p 指定服务器和端口
[root@localhost ~] iscsiadm -m discovery -t st -p 192.168.10.1:3260 #输入会输出下行,表示成功
192.168.10.1:3260,1 iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.f0442ec269ae
5.访问服务器的共享资源
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.3f2f0c3bd909 -l
-T targetnameiqn
-l login
[root@localhost ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.f0442ec269ae -l #输入后会输出一下
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.f0442ec269ae, portal: 192.168.10.1,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.f0442ec269ae, portal: 192.168.10.1,3260] successful.
#表示成功
[root@localhost ~] lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 2G 0 disk #端口连接上了
sr0 11:0 1 9.5G 0 rom /media/cdrom
注意事项
1、自动挂载时必须使用UUID,否则会出问题,同时在参数中添加_netdev,如UUID=33899a29-9f9e-476f-b8e9-cc9ad0986dac /mnt xfs defaults,_netdev
root@localhost ~] blkid #查看UUID
/dev/sda1: UUID="809bc993-0d3b-4171-84c6-2dfecafc9b01" TYPE="xfs"
/dev/sda2: UUID="LZdwa4-rvIG-4kjv-S5R3-DMbN-RN6o-STtrD6" TYPE="LVM2_member"
/dev/sr0: UUID="2020-11-02-15-15-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-root: UUID="c79f941b-9aba-42bf-8185-12ba4295b72c" TYPE="xfs"
/dev/mapper/centos-swap: UUID="9b7ae4e3-e6e0-412f-b553-1a746e339cf3" TYPE="swap"
/dev/sdb1: UUID="edd667e6-03c6-4133-a18d-2268c16e5722" TYPE="xfs" #这里
[root@localhost ~] vim /etc/fstab #自动挂载
#
# /etc/fstab
# Created by anaconda on Mon Apr 24 17:14:49 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=809bc993-0d3b-4171-84c6-2dfecafc9b01 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
UUID=edd667e6-03c6-4133-a18d-2268c16e5722 /skl xfs defaults,_netdev 0 0 #挂载参数
[root@localhost ~] mount -a #刷新挂载 没报错
2、开机启动关闭防火墙,因为当计算机开机首先是bios自检查找硬盘中的操作系统引导启动,但是当系统没有完全启动时计算机就没有通过网络通讯,而iscsi是基于网络的共享存储,所以开机重启需要告诉内核这条开机挂在是基于网络的存储