什么是iSCSI?
iSCSI是一种基于网络的存储技术,允许在不同计算机之间共享磁盘空间。iSCSI的全称是Internet Small Computer System Interface,它将SCSI协议扩展到了TCP/IP网络之上。
在CentOS上安装iSCSI Initiator
如果要使用iSCSI远程存储,首先需要在CentOS上安装iSCSI Initiator。使用以下命令安装:
$ sudo yum install iscsi-initiator-utils
安装完成后,可以使用以下命令检查是否成功安装:
$ sudo /sbin/iscsiadm -V
连接到远程iSCSI Target
在连接到远程iSCSI Target之前,需要知道iSCSI Target的IP地址和iSCSI Initiator的名字。可以使用以下命令查看iSCSI Initiator的名字:
$ sudo cat /etc/iscsi/initiatorname.iscsi
在知道iSCSI Initiator的名字和iSCSI Target的IP地址后,可以使用以下命令连接到远程iSCSI Target:
$ sudo /sbin/iscsiadm -m discovery -t st -p
如果连接成功,会看到输出类似以下内容:
192.168.1.100:3260,1 iqn.2021-01.com.example:storage.target
其中,192.168.1.100是iSCSI Target的IP地址,3260是iSCSI Target的端口号,iqn.2021-01.com.example:storage.target是iSCSI Target的名字。
登录到iSCSI Target
连接到远程iSCSI Target后,需要登录到iSCSI Target才能访问其中的存储空间。可以使用以下命令登录到iSCSI Target:
$ sudo /sbin/iscsiadm -m node -T
如果登录成功,会看到输出类似以下内容:
Logging in to [iface: default, target: iqn.2021-01.com.example:storage.target, portal: 192.168.1.100,3260] (multiple)
Login to [iface: default, target: iqn.2021-01.com.example:storage.target, portal: 192.168.1.100,3260] successful.
查看已登录的iSCSI目标
可以使用以下命令查看当前已登录的iSCSI目标:
$ sudo /sbin/iscsiadm -m session
如果成功登录到iSCSI Target,会看到输出类似以下内容:
tcp: [1] 192.168.1.100:3260,1 iqn.2021-01.com.example:storage.target (non-flash)
挂载iSCSI目标
登录到iSCSI Target后,需要将其中的存储空间挂载到本地文件系统上。可以使用以下命令查看当前已登录的iSCSI目标的路径:
$ sudo /sbin/iscsiadm -m session -P 3
其中,-P 3选项表示输出详细信息。如果成功登录到iSCSI Target并挂载了存储空间,会看到输出类似以下内容:
Target: iqn.2021-01.com.example:storage.target (non-flash)
Current Portal: 192.168.1.100:3260
Persistent Portal: 192.168.1.100:3260
**********
Interface:
**********
Iface Name: default
Iface Transport: tcp
Iface Initiatorname: iqn.1994-05.com.redhat:1c198c35cd7
Iface IPaddress: 192.168.1.10
Iface HWaddress: <未知>
Iface Netdev: <未知>
SID: 1
iSCSI Connection State: LOGGED IN
iSCSI Session State: LOGGED_IN
Internal iscsid Session State: NO CHANGE
*********
Timeouts:
*********
Recovery Timeout: 120
Target Reset Timeout: 30
LUN Reset Timeout: 30
Abort Timeout: 15
******
CHAP:
******
username: <未知>
password: ********
username_in: <未知>
password_in: ********
************************
Negotiated iSCSI params:
************************
HeaderDigest: None
DataDigest: None
MaxRecvDataSegmentLength: 262144
MaxXmitDataSegmentLength: 262144
FirstBurstLength: 65536
MaxBurstLength: 262144
ImmediateData: Yes
InitialR2T: Yes
MaxOutstandingR2T: 1
************************
Attached SCSI devices:
************************
Host Number: 1
State: running
scsi1 Channel 00 Id 0 Lun: 0
Attached scsi disk sdb
State: running
其中,Attached SCSI devices段落显示当前挂载的存储设备。可以使用以下命令将设备挂载到特定的目录:
$ sudo mount /dev/sdb <挂载点>
其中,/dev/sdb是上面的输出中的存储设备路径,<挂载点>是要挂载的目录。
卸载iSCSI目标
当不再需要使用iSCSI目标时,需要先卸载它,再断开与iSCSI Target的连接。可以使用以下命令卸载iSCSI目标:
$ sudo umount <挂载点>
卸载后,可以使用以下命令断开与iSCSI Target的连接:
$ sudo /sbin/iscsiadm -m node -T
如果成功断开与iSCSI Target的连接,会看到输出类似以下内容:
Logging out of session [sid: 1, target: iqn.2021-01.com.example:storage.target, portal: 192.168.1.100,3260]
Logout of [sid: 1, target: iqn.2021-01.com.example:storage.target, portal: 192.168.1.100,3260] successful.
结论
iSCSI是一种方便的远程存储技术,在CentOS Linux上通过安装iSCSI Initiator并使用相关命令,可以连接到远程iSCSI Target并挂载其中的存储设备。使用iSCSI可以将存储设备共享给多台计算机,同时也可以在不同的地点访问存储设备上的数据,提高了数据的可访问性和可靠性。
还没有评论,来说两句吧...