iSCSI
1.iSCSI
iSCSI(Internet SCSI)支持从客户端(发起端)通过IP向远程服务器上的SCSI存储设备(目标)发送SCSI命令。iSCSI限定名称用于确定发起端和目标,并采用iqn.yyyy.mm.{reverse domain}:label的格式。默认情况下,网络通信是至iSCSI目标上的3260/tcp的明文。
··iSCSI发起端:需要访问原始SAN存储的客户端
··iSCSI目标:从iSCSI服务器提供的远程硬盘磁盘,或“目标门户”
··iSCSI目标门户:通过网络向发起端提供目标的服务器
··IQN:“iSCSI限定名称”。每个发起端和目标需要唯一名称进行标识,最好的做法是使用一个在Internet上可能独一无二的名称。
2.启动iSCSI共享设备
1)在server上
建立lvm设备
lvcreate -l 249 -n iscsi_storage vg0 ##建立一个lvm名为iscsi_storage
yum install targetcli -y ##iSCSI目标交互式配置服务
targetcli ##进入iSCSI目标交互式配置模式
/backstores/block create server1storage /dev/vg0/iscsi_storage ##在/backstores/block中创建server1storage,以lvm设备iscsi_storage为存储
/iscsi create iqn.2017-06.com.example:storage1 ##创建iSCSI限定名称,发起端与目标需要唯一名称进行标识
/iscsi/iqn.2017-06.com.example:storage1/tpg1/luns create /backstores/block/server1storage ##创建逻辑单元号
iscsi/iqn.2017-06.com.example:storage1/tpg1/acls create iqn.2017-06.com.example:server1storagekey ##创建访问控制列表
/iscsi/iqn.2017-06.com.example:storage1/tpg1/portals create 172.25.254.227 ##使用172.25.254.227的端口访问
检测:
targetcli
ls
2)在desktop(client)上
vim /etc/iscsi/initiatorname.iscsi ##设置发起端的IQN
iqn.com.example:server1storagekey ##发起端IQN名称
systemctl restart iscsi ##重启服务
测试:
iscsiadm -m discovery -t st -p 172.25.254.227 ##查找iSCSI服务器所提供的iSCSI目标
iscsiadm -m node -T iqn.2017-06.com.example:storeage1 -p 172.25.254.227 ##登录服务器上的一个iscsi目标
测试:
fdisk -l ##可查看到新的设备/dev/vda1
fdisk /dev/sda ##创建新分区
mkfs.xfs /dev/sda1 ##格式化/dev/sda1
mount /dev/sda1 /mnt/ ##将格式化后的/dev/sda1挂载至/mnt/
yum install tree -y ##安装tree服务
tree -C /var/lib/iscsi ##以树结构显示/var/lib/iscsi/文件目录结构
#可看到通过2360端口连接的iscsi
3.挂载
vim /etc/fstab ##开机自动挂载
UUID="..." /mnt xfs defaults,_netdev 0 0
##选择UUID而不选择路径是因为UUID不会出错而路径可能会变化导致出错
##_netdev,表示开机挂载之前先启动网络服务(如若未先启动网络服务则会导致出错)
4.删除
umount /mnt/
iscsiadm -m node -T iqn.2017-06.com.example:storeage1 -p 172.25.254.227 -u ##登出iscsi目标,暂时断开连接
iscsiadm -m node -T iqn.2017-06.com.example:storeage1 -p 172.25.254.227 -o delete ##删除iscsi目标的本地记录,以永久断开连接
检测:
tree -C /var/lib/iscsi/
targetcli
clearconfig confirm=True ##清除iscsi的所有配置信息