Linux iSCSI 磁盘共享管理

  iSCSI 服务是通过服务端(target)与客户端(initiator)的形式来提供服务。iSCSI 服务端用于存放存储源的服务器,将磁盘空间共享给客户使用,客户端可以再不充气的情况下扩容磁盘空间。iSCSI 服务端通过已终端的形式配置存储共享过程,每一个目录的含义都不同,下面会详细讲到。iSCSI 协议是通过客户端名称进行验证的,也就是说,用户在访问存储共享资源时不需要输入密码,只要 iSCSI 客户端的名称与服务端中设置的访问控制列表中某一名称条目一致即可,因此需要在 iSCSI 服务端的配置文件中写入一串能够验证用户信息的名称。


Linux iSCSI 结构介绍

目录介绍

  • # iSCSI服务端存放本地共享设备的位置。
  • /backstores/block 
  • # SCSI服务端管理target。
  • /iscsi
  • # SCSI服务端共享资源设备加入到target。
  • /iscsi/target名称目录/tpg1/luns
  • SCSI服务端目录用于存放能够访问共享存储资源的客户端名称。
  • /iscsi/target名称目录/tpg1/acls
  • SCSI服务端目录用于指定客户端可被访问的监听IP地址及端口
  • /iscsi/target名称目录/tpg1/portals

Linux iSCSI 服务端配置

  • 需求:共享服务端的 /dev/sdb4 设备
  • 版本:targetd-0.8.6
  • 版本:targetcli-2.1

1、服务端安装iSCSI

yum -y install targetd targetcli

2、启动服务并设置开机自启动

systemctl start targetd
systemctl enable targetd

3、进入iSCSI服务终端、ls查看目录、服务端终端命令: targetcli

[root@linuxprobe ~]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb34
Copyright - by Datera, Inc and others.
For help on commands, type 'help'.
/> ls
o- / ................................................................... [...]
o- backstores ........................................................ [...]
| o- block ............................................ [Storage Objects: ]
| o- fileio ........................................... [Storage Objects: ]
| o- pscsi ............................................ [Storage Objects: ]
| o- ramdisk .......................................... [Storage Objects: ]
o- iscsi ...................................................... [Targets: ]
o- loopback ................................................... [Targets:

4、进入 /backstores/block 目录下、指定共享磁盘设备,命名磁盘设备

# 进入指定目录下
/> cd /backstores/block
# 创建共享设备,命名为 “disk0”
/backstores/block> create disk0 /dev/sdb4
Created block storage object disk0 using /dev/sdb4.

查看输出

5、进入 /iscsi 目录下创建iSCSI target 名称

# 进入指定目录
cd /iscsi
# 创建新的 target 名称
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.a52e09c8e24f.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.

输出

6、进入 /iscsi/target名称目录/tpg1/luns 目录下创建共享资源加入到target

# 进入指定目录
/iscsi> cd /iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d/tpg1/luns
# 创建共享设备到 target
/iscsi/iqn.20...f2d/tpg1/luns> create /backstores/block/disk0
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d:client

输出

7、进入 /iscsi/target名称目录/tpg1/acls 设置访问控制,创建存入客户端可访问名称

# 进入指定目录
/iscsi/iqn.20...f2d/tpg1/luns> cd /iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d/tpg1/acls/
# 创建存入客户端可访问名称
/iscsi/iqn.20...f2d/tpg1/acls> create iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d:xsk
Created Node ACL for iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d:xsk
Created mapped LUN 0.

输出

8、进入 /iscsi/target名称目录/tpg1/portals 设置服务端共享设备的网卡IP地址及端口

# 进入指定目录
/iscsi/iqn.20...f2d/tpg1/acls> cd /iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d/tpg1/portals/
# 添加IP及端口、端口可以不填默认3260
/iscsi/iqn.20.../tpg1/portals> create 192.168.1.17 3260
报错:Could not create NetworkPortal in configFS

# 报错可以删除 0.0.0.0
delete 0.0.0.0 3260 注:继续添加IP即可

报错

9、保存退出并重启服务

# 保存设置
/> saveconfig
# 退出
/> exit
# 重启服务
systemctl restart targetd
firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload

开放防火墙

其他操作

# 该 tgp 关闭账号验证
/iscsi/../tpg1> set attribute authentication=0

关闭账号验证

# 该 tgp 使用自定义ad实现节点访问限制
/iscsi/.../tpg1> set attribute generate_node_acls=0

使用自定义ad实现节点访问限制


Linux iSCSI 客户端配置

  • 需求:使用服务端共享设备并挂载使用
  • 版本:iscsi-initiator-utils-6.2.0.874
  • 版本:iscsi-initiator-utils-iscsiuio-6.2.0.874

1、安装iscsi客户端

yum install iscsi-initiator-utils

2、将服务端访问控制表中的共享名称加入到客户端配置文件

vim /etc/iscsi/initiatorname.iscsi

iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d:xsk

3、启动iscsi客户端并设置开机自启

systemctl restart iscsid
systemctl enable iscsid

4、通过 iscsiadm 工具扫描发现 服务端共享的存储设备

# 其中,-m discovery 参数的目的是扫描并发现可用的存储资源,-t st 参数为执行扫描操作的类型,-p 192.168.10.17 数为 iSCSI 服务端的IP 地址
iscsiadm -m discovery -t st -p 192.168.1.17
192.168.1.17:3260,1 iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d

输出

5、登录 iSCSI 指定共享服务端

# 其中,-m node 参数为将客户端所在主机作为一台节点服务器,-T iqn.20.... 参为要使用的存储资源,-p 192.168.10.17 参数依然为对方iSCSI 服务端的 IP 地址。最后使用--login 或-l 参数进行登录验证。
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d -p 192.168.1.17 --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d, portal: 192.168.1.17,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d, portal: 192.168.1.17,3260] successful.

输出

6、查看共享到客户端的磁盘设备

# 已共享到客户端本地
命令:file /dev/sdb
输出:/dev/sdb: block special

7、格式化共享设备

# 格式化格式为xfs
mkfs.xfs /dev/sdb

8、临时挂载设备

# 创建挂载目录
mkdir /iscsi
# 临时挂载设备
mount /dev/sdb /iscsi

9、永久挂载共享设备

vim /etc/fstab

UUID=eb9cbf2f-fce8-413a-b770-8b0f243e8ad6 /iscsi xfs defaults,_netdev 0 0
命令:blkid | grep /dev/sdb
输出:/dev/sdb: UUID="eb9cbf2f-fce8-413a-b770-8b0f243e8ad6" TYPE="xfs"

查看设备UUID

注:_netdev 参数含义为在有网络传输时使用。

10、删除iSCSI共享资源

# 其中,-u 参数将其设备卸载
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d -u

Linux iSCSI 磁盘共享管理的更多相关文章

  1. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  2. Linux磁盘的管理

    文件系统 磁盘必须要有文件系统---数据库 文件系统是用来数据存储,数据库是用来管理数据 windows fat32  ntfs   exfat linux  单文件系统 inode--索引空间(文件 ...

  3. LINUX的磁盘管理du命令详解

    LINUX的磁盘管理du命令详解 du(disk usage)命令可以计算文件或目录所占的磁盘空间.没有指定任何选项时, 它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作 ...

  4. Linux fdisk命令参数及用法详解---Linux磁盘分区管理命令fdisk

    fdisk 命令 linux磁盘分区管理 用途:观察硬盘之实体使用情形与分割硬盘用. 使用方法: 一.在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形. 二.在 ...

  5. lesson - 6 Linux下磁盘管理

    1. 查看磁盘或者目录的容量df  查看磁盘各分区使用情况   不加参数以k为单位   df -i inode数,df -h  以G或者T或者M   df -m  以M单位显示  du 查看目录或者文 ...

  6. linux磁盘管理系列一:磁盘配额管理

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

  7. Linux 磁盘分区管理

    Linux 磁盘管理进阶 磁盘分区介绍 基本分区(primary partion) 基本分区也称主分区,引导分区.每块磁盘分区主分区与扩展分区加起来不能大于四个. 基本分区创建后可以立即使用,但是有分 ...

  8. Linux命令——磁盘管理

    Linux命令--磁盘管理 命令df 作用:查看已挂载磁盘的总容量.使用容量.剩余容量等 参数:-i,查看inodes的使用状况 参数:-h,使用合适的单位显示(推荐) 命令du 作用:查看某个目录或 ...

  9. Linux下磁盘管理命令df与du

    Linux下磁盘管理命令df与du  对磁盘进行查看和控制的两个linux命令,df和du.  一.du命令 首先看一下du的help说明: [root@misdwh opt]# du --help ...

随机推荐

  1. vsto 以隐藏的方式打开一个excel 文件 并获得excel文件的缩略图

    public byte[] GetExcelPictureFile(string filepath) { Workbook workbook=null; Microsoft.Office.Intero ...

  2. 使用Node.js简单创建一个服务器

    首先,我们要了解Node.js不是一种语言,它只是一个除了浏览器之外的,可以运行js的环境. 其次,Node能做些什么 ? web服务器.  命令行工具.   网络爬虫. 桌面应用程序开发等 3.接下 ...

  3. 5-网宿CDN客户端推流NGB

    网宿NGB调度系统(类似httpdns原理)从服务端分发给客户端推流IP,实现基于APP realip精准调度模式. 参考官网介绍:https://www.wangsu.com/content/det ...

  4. CSS 2D 转换

    通过CSS 2D转换,我们能够对元素进行移动.缩放.转动.拉长或拉伸. 2D转换一共五个属性:transfrom=> translate(X轴数值px,Y轴数值px):元素从其当前位置移动,根据 ...

  5. 软工个人设计(Java)

    一.GitHub的网络地址:https://github.com/qiannai/WC.git 二.PSP图表: PSP2.1 Personal Software Process Stages 预估耗 ...

  6. oracle SSL 配置

    可以参考metalink号:762286.1 End To End Examples of using SSL With Oracle's JDBC THIN Driver   ======   大致 ...

  7. emacs require和provide

    Emacs的默认配置文件是.emacs,Emacs启动时会读取并执行.emacs中的LISP代码,用户使用.emacs达到自己的Emacs初始化配置目的. 不过单独使用.emacs有一个问题,因为时间 ...

  8. 5-1可视化库Seabon-整体布局风格设置

    In [1]: import seaborn as sns import numpy as np import matplotlib as mpl import matplotlib.pyplot a ...

  9. 初学JavaScript正则表达式(七)

    量词 例: \d{20}\w\d?\w+\d*\d{3}\w{3,5}\d{3,} 20次数字字符 单词字符 出现零次或一次数字字符 至少出现一次单词字符 出现任意次数字字符 出现3次数字字符 出现3 ...

  10. 2016年蓝桥杯B组C/C++决赛题解

    2016年第七届蓝桥杯B组C/C++决赛题解 2016年蓝桥杯B组C/C++决赛题目(不含答案) 1.一步之遥 枚举解方程,或者套模板解线性方程 #include<bits/stdc++.h&g ...