Linux ISCSI服务配置
Linux ISCSI服务配置,客户端进行访问
环境配置:
- server端 172.25.0.11
- client端 172.25.0.10
配置ISCSI服务端
1、安装软件包
yum install targetcli -y
2、防火墙放行target的端口 3260
[root@server0 ~]# firewall-cmd --permanent --add-port=3260/tcp
success
[root@server0 ~]# firewall-cmd --reload
success
[root@server0 ~]# firewall-cmd --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports: 3260/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
3、准备本地块设备,也就是准备磁盘
[root@server0 ~]# fdisk /dev/sdb
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 回车
First sector (2048-20971519, default 2048): 回车
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): 回车 Command (m for help): p p查看刚刚分好的新区
Disk identifier: 0x6dc8b66f Device Boot Start End Blocks Id System
/dev/sdb1 2048 20971519 10484736 83 Linux Command (m for help): w 保存
[root@server0 ~]# partprobe
[root@server0 ~]# lsblk 可以看见系统已经生成sdb1的设备文件
...
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 10G 0 part
创建逻辑卷
[root@server0 ~]# pvcreate /dev/sdb1 ---->创物理卷
Physical volume "/dev/sdb1" successfully created
[root@server0 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 a-- 10.00g 10.00g [root@server0 ~]# vgcreate ISCSI_vg /dev/sdb1 ---->创建名为ISCSI_vg卷组
Volume group "ISCSI_vg" successfully created
[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
ISCSI_vg 1 0 0 wz--n- 10.00g 10.00g [root@server0 ~]# lvcreate -n disk1_lv -L 100m ISCSI_vg ---->创建名为disk1_lv的逻辑卷
Logical volume "disk1_lv" created
[root@server0 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
disk1_lv ISCSI_vg -wi-a----- 100.00m
4、创建target,本节重点,也是最不容易理解的地方
首先打开targetcli工具,ls可以看见目前target下没有任何配置
[root@server0 ~]# targetcli
/> ls
o- / ............................................................................................................. [...]
o- backstores .................................................................................................. [...]
| o- block ...................................................................................... [Storage Objects: 0]
| o- fileio ..................................................................................... [Storage Objects: 0]
| o- pscsi ...................................................................................... [Storage Objects: 0]
| o- ramdisk .................................................................................... [Storage Objects: 0]
o- iscsi ................................................................................................ [Targets: 0]
o- loopback ............................................................................................. [Targets: 0]
/>
(1)创建名为 iqn.2014-06.com.example.com:server0的target
/> /iscsi create iqn.2014-06.com.example.com:server0
Created target iqn.2014-06.com.example.com:server0.
Created TPG 1
可以看到iscsi创建了一个名为iqn.2014-06.com.example.com:server0的target,并且系统又在底下自动创建了tgp1
/> ls
o- iscsi ................................................................................................ [Targets: 1]
| o- iqn.2014-06.com.example.com:server0 ................................................................... [TPGs: 1]
| o- tpg1 ................................................................................... [no-gen-acls, no-auth]
| o- acls .............................................................................................. [ACLs: 0]
| o- luns .............................................................................................. [LUNs: 0]
| o- portals ........................................................................................ [Portals: 0]
o- loopback ............................................................................................. [Targets: 0
/>
(2)为tgp1定义portals,也就是定义ip和端口
/> /iscsi/iqn.2014-06.com.example.com:server0/tpg1/portals create 172.25.0.11 3260
Using default IP port 3260
Created network portal 172.25.0.11:3260.
/> ls
| o- iqn.2014-06.com.example.com:server0 ................................................................... [TPGs: 1]
| o- tpg1 ................................................................................... [no-gen-acls, no-auth]
| o- acls .............................................................................................. [ACLs: 0]
| o- luns .............................................................................................. [LUNs: 0]
| o- portals ........................................................................................ [Portals: 1]
| o- 172.25.0.11:3260 ..................................................................................... [OK]
o- loopback ............................................................................................. [Targets: 0]
(3)为target绑定本地块设备,绑定刚刚创建的逻辑卷
首先定义一个block
/> /backstores/block create name=server0.disk1 dev=/dev/ISCSI_vg/disk1_lv
Created block storage object server0.disk1 using /dev/ISCSI_vg/disk1_lv
/> ls
o- / ............................................................................................................. [...]
o- backstores .................................................................................................. [...]
| o- block ...................................................................................... [Storage Objects: 1]
| | o- server0.disk1 ...................................... [/dev/ISCSI_vg/disk1_lv (100.0MiB) write-thru deactivated
为target指定LUN(逻辑单元号),也就是把刚才定义的block分配给target
/> /iscsi/iqn.2014-06.com.example.com:server0/tpg1/luns create /backstores/block/server0.disk1
Created LUN 0.
/> ls
o- iscsi ................................................................................................ [Targets: 1]
| o- iqn.2014-06.com.example.com:server0 ................................................................... [TPGs: 1]
| o- tpg1 ................................................................................... [no-gen-acls, no-auth]
| o- acls .............................................................................................. [ACLs: 0]
| o- luns .............................................................................................. [LUNs: 1]
| | o- lun0 ....................................................... [block/server0.disk1 (/dev/ISCSI_vg/disk1_lv)]
| o- portals ........................................................................................ [Portals: 1]
| o- 172.25.0.11:3260 ..................................................................................... [OK]
o- loopback ............................................................................................. [Targets: 0
(4)为target设定acl(访问控制列表)
配置只允许名为 iqn.2014-06.com.example:desktop0的客户端访问
/> iscsi/iqn.2014-06.com.example.com:server0/tpg1/acls create iqn.2014-06.com.example:desktop0
Created Node ACL for iqn.2014-06.com.example:desktop0
Created mapped LUN 0.
关闭密码验证
/> /iscsi/iqn.2014-06.com.example.com:server0/tpg1/ set attribute authentication=0
Parameter authentication is now '0'.
关闭tgp级别的acl节点限制,也就是只针对tgp/acl下的initiator进行限制,而不是整个tgp
/> /iscsi/iqn.2014-06.com.example.com:server0/tpg1/ set attribute generate_node_acls=0
Parameter generate_node_acls is now '0'.
(5)保存退出
/> saveconfig 配置完毕保存
/> exit 退出
最后配置下来总的列表就是这样
/> ls
o- / ............................................................................................................. [...]
o- backstores .................................................................................................. [...]
| o- block ...................................................................................... [Storage Objects: 1]
| | o- server0.disk1 ........................................ [/dev/ISCSI_vg/disk1_lv (100.0MiB) write-thru activated]
| o- fileio ..................................................................................... [Storage Objects: 0]
| o- pscsi ...................................................................................... [Storage Objects: 0]
| o- ramdisk .................................................................................... [Storage Objects: 0]
o- iscsi ................................................................................................ [Targets: 1]
| o- iqn.2014-06.com.example.com:server0 ................................................................... [TPGs: 1]
| o- tpg1 ................................................................................... [no-gen-acls, no-auth]
| o- acls .............................................................................................. [ACLs: 1]
| | o- iqn.2014-06.com.example:desktop0 ......................................................... [Mapped LUNs: 1]
| | o- mapped_lun0 ............................................................. [lun0 block/server0.disk1 (rw)]
| o- luns .............................................................................................. [LUNs: 1]
| | o- lun0 ....................................................... [block/server0.disk1 (/dev/ISCSI_vg/disk1_lv)]
| o- portals ........................................................................................ [Portals: 1]
| o- 172.25.0.11:3260 ..................................................................................... [OK]
o- loopback ............................................................................................. [Targets: 0
服务端配置完成
错误补救:
万一有写错了配置,就删掉重新进行配置,可以看见portals已经没有内容了
/> /iscsi/iqn.2014-06.com.example.com:server0/tpg1/portals/ delete 172.25.0.11 3260
Deleted network portal 172.25.0.11:3260
/> ls
o- iscsi ................................................................................................ [Targets: 1]
| o- iqn.2014-06.com.example.com:server0 ................................................................... [TPGs: 1]
| o- tpg1 ................................................................................... [no-gen-acls, no-auth]
| o- acls .............................................................................................. [ACLs: 1]
| | o- iqn.2014-06.com.example:desktop0 ......................................................... [Mapped LUNs: 1]
| | o- mapped_lun0 ............................................................. [lun0 block/server0.disk1 (rw)]
| o- luns .............................................................................................. [LUNs: 1]
| | o- lun0 ....................................................... [block/server0.disk1 (/dev/ISCSI_vg/disk1_lv)]
| o- portals ........................................................................................ [Portals: 0]
o- loopback ............................................................................................. [Targets: 0]
重新配置
/> /iscsi/iqn.2014-06.com.example.com:server0/tpg1/portals create 172.25.0.11 3260
Using default IP port 3260
Created network portal 172.25.0.11:3260.
/> ls
| o- iqn.2014-06.com.example.com:server0 ................................................................... [TPGs: 1]
| o- tpg1 ................................................................................... [no-gen-acls, no-auth]
| o- acls .............................................................................................. [ACLs: 1]
| | o- iqn.2014-06.com.example:desktop0 ......................................................... [Mapped LUNs: 1]
| | o- mapped_lun0 ............................................................. [lun0 block/server0.disk1 (rw)]
| o- luns .............................................................................................. [LUNs: 1]
| | o- lun0 ....................................................... [block/server0.disk1 (/dev/ISCSI_vg/disk1_lv)]
| o- portals ........................................................................................ [Portals: 1]
| o- 172.25.0.11:3260 ..................................................................................... [OK]
o- loopback ............................................................................................. [Targets: 0
client端配置
1、安装软件包
[root@desktop0 ~]# yum install iscsi-initiator-utils -y 红帽系统一般都会安装,所以此步骤可以跳过
2、启动服务,并设定开机重启
[root@desktop0 ~]# systemctl start iscsi iscsid
[root@desktop0 ~]# systemctl enable iscsi iscsid
3、修改文件,因为服务端中acls指定只允许名为iqn.2014-06.com.example:dekstop0的设备去访问,所以这个文件就这样配置
[root@desktop0 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2014-06.com.example:desktop0
修改之后重启iscisd服务
[root@desktop0 ~]# systemctl restart iscsid
4、发现设备
[root@desktop0 ~]# iscsiadm -m discovery -t st -p 172.25.0.11
172.25.0.11:3260,1 iqn.2014-06.com.example.com:server0
5、登录iscsi
首先查看一下目前系统设备
[root@desktop0 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 10G 0 disk
└─sda1 8:1 0 10G 0 part /
sdb 8:16 0 10G 0 disk
sr0 11:0 1 1024M 0 rom
登录
[root@desktop0 ~]# iscsiadm -m node -T iqn.2014-06.com.example.com:server0 -l
或者可以写为
[root@desktop0 ~]# iscsiadm -m node -l
可以发现多了一块100M的磁盘
[root@desktop0 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 10G 0 disk
└─sda1 8:1 0 10G 0 part /
sdb 8:16 0 10G 0 disk
sdc 8:32 0 100M 0 disk
sr0 11:0 1 1024M 0 rom
6、对磁盘进行分区
分区
[root@desktop0 ~]# fdisk /dev/sdc
Command (m for help): n
Select (default p): p
Partition number (1-4, default 1): 回车
First sector (8192-204799, default 8192): 回车
Using default value 8192
Last sector, +sectors or +size{K,M,G} (8192-204799, default 204799): 回车
Command (m for help): w
[root@desktop0 ~]# partprobe
格式化
[root@desktop0 ~]# mkfs.ext4 /dev/sdc1
7、设定开机挂载
查看uuid,加入/etc/fstab文件中,注意挂载选项必须加_netdev
[root@desktop0 ~]# blkid /dev/sdc1
/dev/sdc1: UUID="8bd4649c-3191-4962-a8a9-08e2093bdc1c" TYPE="ext4"
[root@desktop0 ~]# vim /etc/fstab
...
UUID=8bd4649c-3191-4962-a8a9-08e2093bdc1c /mnt/iscsi ext4 defaults,_netdev 0 0
创建挂载点并且挂载
[root@desktop0 ~]# mkdir -p /mnt/iscsi
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
/dev/sdc1 89M 1.6M 81M 2% /mnt/iscsi
错误补救:
每次开机iscsi都会自动登录,iscsi会从/var/lib/iscsi/nodes/目录去找到发现的target去登录
[root@desktop0 ~]# ls /var/lib/iscsi/nodes/
iqn.2014-06.com.example.com:server0
彻底删除发现过的target
首先取消登录所有的target
[root@desktop0 ~]# iscsiadm -m node -u
然后指定名字删除,此时发现存储目录已经没有数据,下次也不会重新去自动登录了
[root@desktop0 ~]# iscsiadm -m node -T iqn.2014-06.com.example.com:server0 -o delete
[root@desktop0 ~]# ls /var/lib/iscsi/nodes/
然后就可以重启服务重新进行发现,登录,挂载的操作
本教程到此结束
如果有什么建议或者看不明白的地方,欢迎评论区留言或者私信本人,看到了第一时间处理。
本人为Linux菜鸟,还望Linux大神多多指教。
Linux ISCSI服务配置的更多相关文章
- Kali Linux常用服务配置教程获取IP地址
Kali Linux常用服务配置教程获取IP地址 下面以Kali Linux为例,演示获取IP地址的方法 (1)设置网络接口为自动获取IP地址.在Kali Linux的收藏夹中单击图标,将显示所有的程 ...
- Kali Linux常用服务配置教程启动DHCP服务
Kali Linux常用服务配置教程启动DHCP服务 通过前面的介绍,DHCP服务就配置好了.接下来,用户就可以使用该服务器来获取IP地址了.下面将对前面配置的服务进行测试. 1.启动DHCP服务 如 ...
- Kali Linux常用服务配置教程安装及配置DHCP服务
Kali Linux常用服务配置教程安装及配置DHCP服务 在Kali Linux中,默认没有安装DHCP服务.下面将介绍安装并配置DHCP服务的方法. 1.安装DHCP服务 在Kali Linux中 ...
- Kali Linux常用服务配置教程DHCP服务原理
Kali Linux常用服务配置教程DHCP服务原理 动态主机配置协议(Dynamic Host Configuration Protocol,简称DHCP)是一个局域网的网络协议,基于UDP协议工作 ...
- Linux vsftpd服务配置以及三种验证方式以及常见错误解决办法
文件传输协议(FTP): 文件传输协议(FTP,File Transfer Protocol),即能够让用户在互联网中上传.下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件 ...
- Linux vsftpd服务配置具体解释
[背景] 近日.一朋友dominoserver要进行升级.迁移,搭建了linux測试系统,也开启vsftpd服务,但是配置的ftp账号,程序无法正常下载附件. [问题跟踪] 通过ftpclient连接 ...
- linux nfs服务配置挂载以及oracle使用nfs存储挂载注意事项
服务端共享目录 /home/XXX/nfs_shared 172.16.22.0/24(rw,no_root_squash) service nfs restart 常用命令: 查看所有nfs共享目录 ...
- Linux NTP服务配置 for Oracle RAC
安装Oracle 11g RAC时,我们需要配置ntp服务.在使用虚拟机的情况下对于时钟同步方式的配置有很多种方式,可以使用vmware自带的时钟同步功能,也可以直接将本地的一个节点用作时间服务器.本 ...
- linux samba 服务配置及日志管理
2012-01-16 安装samba共需3个rpm包 samba-common-3.0.23c-2.i386.rpm samba-3.0.23c-2.i386.rpm samba-cli ...
随机推荐
- Taurus.MVC 2.3 开源发布:增强属性Require验证功能,自带WebAPI文档生成功能
背景: 上周,把 Taurus.MVC 在 Linux (CentOS7) 上部署任务完成后. 也不知怎么的,忽然就想给框架集成一下WebAPI文档功能,所以就动手了. 以为一天能搞完,结果,好几天过 ...
- 在 ASP.NET Core 中使用 MySql 踩坑记录
使用 Pomelo.EntityFrameworkCore.MySql 生成 MySQL 数据库 关于如何使用请查看项目文档即可 组件地址:https://github.com/PomeloFound ...
- C#常见金额优选类型及其三种常用的取整方式
这两天一直在做一个商城后台的对账方面的工作,忽然发现C#真的有很多值的学习的东西: 一.C#常用的三种取整方式(主要适用于double.decimal.float这一类型的数据): Math.Roun ...
- 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之二 || 后端项目搭建
前言 至于为什么要搭建.Net Core 平台,这个网上的解释以及铺天盖地,想了想,还是感觉重要的一点,跨平台,嗯!没错,而且比.Net 更容易搭建,速度也更快,所有的包均有Nuget提供,不再像以前 ...
- qml demo分析(maskedmousearea-异形窗口)
一.效果展示 如本文的标题所示,这篇文章分析的demo是一个异形窗口,主要展示鼠标在和异形区域交互的使用,效果如图1所示,当鼠标移动到白云或者月亮上时,相应的物体会高亮,当鼠标按下时,物体会有一个放大 ...
- 【Android Studio安装部署系列】二十九、Android Studio安装本地插件(以国际化方法插件AndroidLocalizationer为例)
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 实际开发中,需要用到插件,用来提高效率,这里就以生成国际化strings.xml的插件AndroidLocalizationer为例 ...
- SpringBoot整合Netty并使用Protobuf进行数据传输(附工程)
前言 本篇文章主要介绍的是SpringBoot整合Netty以及使用Protobuf进行数据传输的相关内容.Protobuf会简单的介绍下用法,至于Netty在之前的文章中已经简单的介绍过了,这里就不 ...
- SmartSql Zookeeper分布式配置
安装 SmartSql.ZooKeeperConfig Install-Package SmartSql.ZooKeeperConfig Demo string connStr = "192 ...
- 【大数据安全】Kerberos集群安装配置
1. 概述 Kerberos是一种计算机网络认证协议,它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份.它也指由麻省理工实现此协议,并发布的一套免费软件.它的设计主要针对 ...
- H5 可堆叠的圆环进度条,支持任意数量子进度条
by Conmajia SN: S22-W1M 由来 看到一篇帖子<vue实用组件--圆环百分比进度条>,让我想起了很多年前我在WinForm下仿制过的Chrome进度条. ▲ 原版进度条 ...