iscsi服务配置及其客户端挂载
实验结构:
系统 | IP | 角色 | LUN |
---|---|---|---|
Linux | 192.168.26.132 | service | |
Linux | 192.168.26.134 | client | LUN0-5G |
Windows | 192.168.26.110 | client | LUN1-5G |
Esxi | 192.168.26.139 工作网卡192.168.5.240,管理网卡 | client | LUN2-10G |
服务端:
这里我就配置了一块磁盘。/dev/sdc
一,iscsi服务器端配置
1,准备磁盘 这里我准备的一块20G /dev/sdc 计划分区为三块分别对应三个系统挂载。
[root@iscsi-service ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 27G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 10G 0 part
└─centos-root 253:0 0 27G 0 lvm /
sdc 8:32 0 20G 0 disk
sr0 11:0 1 4.2G 0 rom
[root@iscsi-service ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 27G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 10G 0 part
└─centos-root 253:0 0 27G 0 lvm /
sdc 8:32 0 20G 0 disk
├─sdc1 8:33 0 5G 0 part
├─sdc2 8:34 0 5G 0 part
└─sdc3 8:35 0 10G 0 part
sr0 11:0 1 4.2G 0 rom
2,安装targetcli
yum install -y targetcli
3,启动服务
systemctl start target
4,配置共享iscis 磁盘-linux
[root@iscsi-service ~]# targetcli
targetcli shell version 2.1.53
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/backstores/block> create dev=/dev/sdc1 name=LUN0
Created block storage object LUN0 using /dev/sdc1.
5,创建iscsi名称和共享资源关联
/backstores/block> cd /iscsi
/iscsi> create wwn=iqn.2022-12.com.emporerlinux:service
Created target iqn.2022-12.com.emporerlinux:service.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> cd iqn.2022-12.com.emporerlinux:service/
/iscsi/iqn.20...linux:service> ls
o- iqn.2022-12.com.emporerlinux:service .................................................................................. [TPGs: 1]
o- tpg1 ................................................................................................... [no-gen-acls, no-auth]
o- acls .............................................................................................................. [ACLs: 0]
o- luns .............................................................................................................. [LUNs: 0]
o- portals ........................................................................................................ [Portals: 1]
o- 0.0.0.0:3260 ......................................................................................................... [OK]
/iscsi/iqn.20...linux:service> cd tpg1/luns
/iscsi/iqn.20...ice/tpg1/luns> create /backstores/block/LUN0
Created LUN 0.
6,设置访问列表
/iscsi/iqn.20...ice/tpg1/luns> cd ..
/iscsi/iqn.20...:service/tpg1> cd acls
/iscsi/iqn.20...ice/tpg1/acls> create iqn.2022-12.com.emporerlinux:linuxclient
Created Node ACL for iqn.2022-12.com.emporerlinux:linuxclient
Created mapped LUN 0.
7,设置iscsi服务端监听ip和端口
/iscsi/iqn.20...ice/tpg1/acls> cd ..
/iscsi/iqn.20...:service/tpg1> cd portals/
/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260 #这里需要删除掉默认监听所有ip
Deleted network portal 0.0.0.0:3260
/iscsi/iqn.20.../tpg1/portals> create 192.168.26.132 3260
Using default IP port 3260
Created network portal 192.168.26.132:3260.
8,配置完毕。
Linux-客户端
1,安装启动器
这里需要自行安装iscsi-initiator-utils包 yum rpm自己安装
[root@iscsi-client ~]# rpm -qa |grep initiator
iscsi-initiator-utils-iscsiuio-6.2.0.874-22.el7_9.x86_64
iscsi-initiator-utils-6.2.0.874-22.el7_9.x86_64
[root@iscsi-client ~]# iscsiadm -m discovery -t st -p 192.168.26.132
192.168.26.132:3260,1 iqn.2022-12.com.emporerlinux:service
2,配置iqn
这里的iqn 为服务器端配置的acl,不然无法连接
[root@iscsi-client iscsi]# pwd
/etc/iscsi
[root@iscsi-client iscsi]# cat initiatorname.iscsi
InitiatorName=iqn.2022-12.com.emporerlinux:linuxclient
挂载以前我们先检查下存储
[root@iscsi-client iscsi]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 10G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 9G 0 part
├─centos-root 253:0 0 8G 0 lvm /
└─centos-swap 253:1 0 1G 0 lvm [SWAP]
sr0 11:0 1 4.2G 0 rom
[root@iscsi-client iscsi]#
3,发现存储
[root@iscsi-client iscsi]# iscsiadm -m discovery -t st -p 192.168.26.132
192.168.26.132:3260,1 iqn.2022-12.com.emporerlinux:service
4,连接存储
[root@iscsi-client iscsi]# iscsiadm -m node -T iqn.2022-12.com.emporerlinux:service -p 192.168.26.132 -l
Logging in to [iface: default, target: iqn.2022-12.com.emporerlinux:service, portal: 192.168.26.132,3260] (multiple)
Login to [iface: default, target: iqn.2022-12.com.emporerlinux:service, portal: 192.168.26.132,3260] successful.
[root@iscsi-client iscsi]# lsblk 检查是否连接
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 10G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 9G 0 part
├─centos-root 253:0 0 8G 0 lvm /
└─centos-swap 253:1 0 1G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
sr0 11:0 1 4.2G 0 rom /mnt
5,挂载存储
[root@iscsi-client iscsi]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xa8d02dd8 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (8192-10485759,默认为 8192):
将使用默认值 8192
Last 扇区, +扇区 or +size{K,M,G} (8192-10485759,默认为 10485759):
将使用默认值 10485759
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):w^H
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@iscsi-client iscsi]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=1024 blocks
327680 inodes, 1309696 blocks
65484 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@iscsi-client iscsi]# blkid
/dev/sda1: UUID="977e163b-9506-4232-805c-2d10cf2dcfc8" TYPE="xfs"
/dev/sda2: UUID="H8YCw1-GRNq-Q4P3-GnDD-0T3B-i9MX-nNdIgB" TYPE="LVM2_member"
/dev/sr0: UUID="2018-05-03-20-55-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-root: UUID="f59bc585-f6c0-4d1a-bf6d-ae5a59fa604c" TYPE="xfs"
/dev/mapper/centos-swap: UUID="2c5af54b-ae70-491e-83e0-07bcfd8f4286" TYPE="swap"
/dev/sdb1: UUID="27da5364-3182-45e1-b55c-7b91e529192a" TYPE="ext4"
创建一个/iscsi-data做为挂载点 ,编辑/etc/fstab,这里采用uuid 挂载,如果涉及多路径 /dev下这个设备符容易变
[root@iscsi-client iscsi]# mkdir /iscsi-data
[root@iscsi-client iscsi]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Jul 21 06:40:56 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=977e163b-9506-4232-805c-2d10cf2dcfc8 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
UUID="27da5364-3182-45e1-b55c-7b91e529192a" /iscsi-data ext4 defaults,_netdev 0 0
6,检查iscsi 存储是否可用
[root@iscsi-client iscsi]# df -TH
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 496M 0 496M 0% /dev
tmpfs tmpfs 510M 0 510M 0% /dev/shm
tmpfs tmpfs 510M 8.1M 502M 2% /run
tmpfs tmpfs 510M 0 510M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 8.6G 3.8G 4.9G 44% /
/dev/sda1 xfs 1.1G 178M 887M 17% /boot
tmpfs tmpfs 102M 0 102M 0% /run/user/0
/dev/sr0 iso9660 4.5G 4.5G 0 100% /mnt
/dev/sdb1 ext4 5.2G 21M 4.9G 1% /iscsi-data
[root@iscsi-client iscsi]# echo "iscsi ok " >>/iscsi-data/1.txt
[root@iscsi-client iscsi]# cat /iscsi-data/1.txt
iscsi ok
windows 客户端
重复服务器配置的5.6.7配置
/iscsi> create wwn=iqn.2022-12.com.emporerlinux:windows
Created target iqn.2022-12.com.emporerlinux:windows.
Created TPG 1.
Default portal not created, TPGs within a target cannot share ip:port.
/iscsi> cd iqn.2022-12.com.emporerlinux:windows/
/iscsi/iqn.20...linux:windows> cd tpg1/luns
/iscsi/iqn.20...ows/tpg1/luns> create /backstores/block/LUN1
Created LUN 0.
/iscsi/iqn.20...ows/tpg1/luns> cd ..
/iscsi/iqn.20...:windows/tpg1> cd acls
/iscsi/iqn.20...ows/tpg1/acls> create iqn.2022-12.com.emporerlinux:windowsclient
Created Node ACL for iqn.2022-12.com.emporerlinux:windowsclient
Created mapped LUN 0.
/iscsi/iqn.20...ows/tpg1/acls> cd ..
/iscsi/iqn.20...:windows/tpg1> cd p
portals path=
/iscsi/iqn.20...:windows/tpg1> cd portals
/iscsi/iqn.20.../tpg1/portals> create 192.168.26.1 3260
Using default IP port 3260
Created network portal 192.168.26.132:3260.
/iscsi/iqn.20.../tpg1/portals> cd /iscsi/iqn.2022-12.com.emporerlinux:windows/
/iscsi/iqn.20...linux:windows> ls
o- iqn.2022-12.com.emporerlinux:windows .................................................................................. [TPGs: 1]
o- tpg1 ................................................................................................... [no-gen-acls, no-auth]
o- acls .............................................................................................................. [ACLs: 1]
| o- iqn.2022-12.com.emporerlinux:windowsclient ............................................................... [Mapped LUNs: 1]
| o- mapped_lun0 ...................................................................................... [lun0 block/LUN1 (rw)]
o- luns .............................................................................................................. [LUNs: 1]
| o- lun0 .......................................................................... [block/LUN1 (/dev/sdc2) (default_tg_pt_gp)]
o- portals ........................................................................................................ [Portals: 1]
o- 192.168.26.132:3260 .................................................................................................... [OK]
/iscsi/iqn.20...linux:windows>
windows客户端配置
1,发现门户,填写服务器的ip地址或域名
2,选择目标连接
3,更改启动的iqn号为服务器端配置的
4,连接目标
5,然后在设备器管理器分区就ok啦,
ESXI连接
iscsi 服务端重复linux服务器端的5.6.7步骤
/iscsi/iqn.20...rerlinux:esxi> ls
o- iqn.2022-12.com.emporerlinux:esxi ..................................................................................... [TPGs: 1]
o- tpg1 ................................................................................................... [no-gen-acls, no-auth]
o- acls .............................................................................................................. [ACLs: 1]
| o- iqn.1998-01.com.vmware:esxi-6-35a398c3 ................................................................... [Mapped LUNs: 1]
| o- mapped_lun0 ...................................................................................... [lun0 block/LUN2 (rw)]
o- luns .............................................................................................................. [LUNs: 1]
| o- lun0 .......................................................................... [block/LUN2 (/dev/sdc3) (default_tg_pt_gp)]
o- portals ........................................................................................................ [Portals: 1]
o- 192.168.26.132:3260 ........
这个iqn 为
因为设置别名不会访问,最好采用默认。
客户端配置
1,网络-虚拟交换机,添加虚拟交换机
2,网络-端口组,添加端口组关联新加的虚拟交换机
3,网络-vmkernel,添加vmkernel 网卡选择新加的端口组
4,存储-适配器-配置iscsi 使用自动发现。
5,存储-设备 ,新建数据存储 ,分区存储并且使用
随便放一个文件测试,先创建一个目录,然后上传
总结:1,iscis服务器端配置较为复杂,各个逻辑目录,wwn,acl,lun需要各层级创建。2,各个客户端的iqn号尽量使用默认配置,这里是实验所以我改了的,默认target启动端口号为3260,3,如果开启防火墙的话,需放开3260,firewall-cmd --add-port=3260/tcp,有空再写firewall相关的。上面的lun划分在第一步iscsi就创建了4,实际应该有多张网卡配置,对内,对外。关联关系就是LUN-target-initiator.5,scsi,小型计算机接口,iscsi这个i就是Internet,意思就是只要网络可达,都可以通过iscsi挂载,无线也行。共享存储。真正的工作环境应该都有存储设备,因为数据很中亚。还有多重路径挂载同一个iscsi设备啥的,需要配合多路径软件实现。我也刚学,多多指教。自己备忘录。
[root@iscsi-service ~]# firewall-cmd --add-port=3260/tcp
success
[root@iscsi-service ~]# firewall-cmd --list-ports
3260/tcp
[root@iscsi-service ~]# firewall-cmd --add-port=3260/tcp --permanent
Warning: ALREADY_ENABLED: 3260:tcp
success
[root@iscsi-service ~]# firewall-cmd --list-ports
3260/tcp
[root@iscsi-service ~]# firewall-cmd --reload
success
[root@iscsi-servi