1、什么是iSCSi???
iSCSI( Internet Small Computer System Interface 互联网小型计算机系统接口) 技术是一种新存储技术,该技术是将现有的SCSI接口与以太网技术相结合,使服务器可与使用IP网络的存储装置互相交换资料。
ISCSI 主要是透过TCP/IP的技术,将存储设备端透过ISCSI target (ISCSI目标)功能,做成可以提供磁盘的服务器端,再透过ISCSI initator(ISCSI初始化用户)功能,做成能够挂载使用ISCSI target的客户端,如此便能透过ISCSI协议来进行磁盘的应用了。
ISCSI 这个架构主要将存储装置与使用的主机分别为两部分,分别是:
-
ISCSI target :就是存储设备端,存放磁盘或RAID的设备,目前也能够将Linux主机仿真成ISCSI target了,目的在提供其他主机使用的磁盘。
-
ISCSI inITiator: 就是能够使用target的客户端,通常是服务器,只有装有iscsi initiator的相关功能后才能使用ISCSI target 提供的磁盘。
如果你的系统需要大量的磁盘容量,但是身边却没有NAS或外接的存储设备,仅有个人计算机时,那该怎么办呢???此时,通过网络的SCSI磁盘就能够提供帮助。什么是iSCSI??
SCSI(Internet SCSI) 支持从客户端 ( 发起端 ) 通过 IP 向远程服务器上的 iSCSI 存储设备 ( 目标 ) 发送 SCSI 命令。 iSCSI限定名称用于确定发起端和目标 , 并采用 iqn.yyyy-mm.{reverse domain}:label 的格式,默认情况下 , 网络通信是至 iSCSI 目标上的端口 3260/tcp 的明文端口
如何配置iSCSI服务?????
服务端:
第一步:创建一个逻辑卷分区(详细步骤请参看前面的博客)
第二步:磁盘共享
安装策略编写共享工具
[root@service ~]# yum install -y targetcli
##2.打开共享工具
[root@service ~]# systemctl start target
登陆;共享设备
[root@service ~]# targetcli
这个比较具体:
配置客户端:
##搜索有关iscsi的软件
[root@client ~]# yum search iscsi
##1.安装iscsi客户端软件
[root@client ~]# yum install -y iscsi-initiator-utils.x86_64
###不会使用可以使用man命令查看
[root@server2 ~]# man iscsiadm | grep \\-mode
-m, --mode op
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.1.10 --discover
iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --login
iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --logout
iscsiadm --mode node
iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260
##2.发现共享设备
[root@client ~]# iscsiadm -m discovery -t st -p 172.25.254.134
-m discovery ##扫描发现可用存储资源,
-t st ##指定扫描发现操作的类型,
-p 172.25.254.134 ##服务端iSCSI服务端的IP地址
##3.更改ACL访问控制列表名称
[root@client ~]# vim /etc/iscsi/initiatorname.iscsi ################ InitiatorName=iqn.2018-11.com.westos:westoskey ##即为在服务端共享的key
##4.重启服务
[root@client ~]# systemctl restart iscsid.service
##5.登陆共享设备
[root@client ~]# iscsiadm -m node -T iqn.2018-11.com.westos:storagel -p 172.25.254.134 -l
-m node ##将本机作为一台节点服务器
-T iqn.2018-11.com.westos:storagel ##要使用的存储资源名称,字符串很长手打容易错,我们直接复制上面扫描发现到的结果即可
-p 172.25.254.142 ##对方iSCSI服务端的IP地址
-l ##登录
##可查看到共享设备
[root@client ~]# fdisk -l ##或者通过cat /proc/partitions命令也可以查看
[root@server2 ~]# df -h ###看不见刚添加的一块磁盘,因为还没有告诉内核
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 13G 4.4G 75% /
devtmpfs 2.2G 0 2.2G 0% /dev
tmpfs 2.2G 0 2.2G 0% /dev/shm
tmpfs 2.2G 13M 2.2G 1% /run
tmpfs 2.2G 0 2.2G 0% /sys/fs/cgroup
/dev/sr0 4.4G 4.4G 0 100% /media/cdrom
/dev/sda1 973M 170M 804M 18% /boot
tmpfs 438M 32K 438M 1% /run/user/0
####将磁盘变化信息告诉内核,这时候df -h才能看见
[root@server2 ~]# partprobe
2.共享设备的使用(开机自动挂载)
#1.建立分区
[root@client ~]# fdisk /dev/sdc
##2.格式化为xfs类型
[root@client ~]# mkfs.xfs /dev/sda1
@3.永久性挂载
[root@client ~]# vim /etc/fstab
#告诉内核重新读取分区表信息
[root@client ~]# partprobe
[root@client ~]# df -h
3.共享设备的删除
在服务端:
##安装tree软件,用于查看树形图
[root@client ~]# yum install -y tree
#以树形图的方式显示,/var/lib/iscsiIscsi为认证数据目录
[root@client ~]# tree /var/lib/iscsi/
##1.删除挂载信息
[root@client ~]# vim /etc/fstab
###############
删除:/dev/sda1 /mnt xfs defaults,_netdev 0 0
##.删除共享设备
[root@client ~]# iscsiadm -m node -T iqn.2018-11.com.westos:storagel -p 172.25.254.134 -o delete
##查看数据目录内容
[root@client ~]# tree /var/lib/iscsi/
##查看到共享设备/dev/sda确实被删除
[root@client ~]# fdisk -l