Initiator为应用客户端,服务端Target包括设备服务器端和队列管理两部分。
服务端两种共享方式:
1、在服务端共享分区
2、在服务端以文件方式作为共享设备共享出来
构建ISCSI网络存储
测试环境:(RHEL7.4)
Server0 |
192.168.100.200 |
Desktop1 |
192.168.100.201 |
Desktop2 |
192.168.100.202 |
一、Server0 服务端安装配置
# yum install targetcli -y --安装软件包
# firewall-cmd --permanent --add-port=3260/tcp --添加防火墙策略
# firewall-cmd –reload
重启并设置target服务开机启动
#systemct restart/enable target
1、添加一块磁盘,作为共享的网络设备
[root@server0 ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x5f1780a4
Device Boot Start End Blocks Id System
|
2、创建共享设备
[root@server0 ~]# targetcli
/> backstores/block create testdisk /dev/sdb --创建块设备,命名为testdisk,并指定跟哪个物理磁盘对应
/> iscsi/ create iqn.2018-02.com.ultrapower:testdisk --创建iscsi设备,并指定名称。
/> iscsi/iqn.2018-02.com.ultrapower:testdisk/tpg1/acls create iqn.2018-02.com.ultrapower:desktop1
--设置acl权限,指定允许哪个主机使用该iscsi设备,有多个主机要访问就得创建多条记录
/> iscsi/iqn.2018-02.com.ultrapower:testdisk/tpg1/luns create /backstores/block/testdisk --指明lun管理的iscsi设备对应哪个块设备
/> iscsi/iqn.2018-02.com.ultrapower:testdisk/tpg1/portals/ delete 0.0.0.0 3260 --删除默认portal
/> iscsi/iqn.2018-02.com.ultrapower:testdisk/tpg1/portals/ create 192.168.100.200 3260 --添加portal,指明共享iscsi设备的IP和端口号
/> saveconfig 保存并退出
/> exit
|
服务器端安装配置完成。下边,我们在客户机desktop1上使用服务器server0上创建的iscsi设备。
二、客户端安装配置
Desktop1 客户端安装配置:
[root@desktop1 ~]# yum install iscsi-initiator-utils -y
[root@desktop1 ~]# systemctl enable iscsi iscsid
[root@desktop1 ~]# systemctl restart iscsi iscsid
[root@desktop1 ~]# vi /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-02.com.ultrapower:desktop1
|
下面的几条命令可以查看 man iscsiadm 帮助文档中的EXAMPLE示例。
[root@desktop1 /]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.100.200 –discover
[root@desktop1 /]# iscsiadm --mode node --targetname iqn.2018-02.com.ultrapower:testdisk --portal 192.168.100.200 --login
[root@desktop1 /]# fdisk -l /dev/sdb --登入之后,就可以看到server0共享出来的sdb磁盘了。
|
下面我们就可以把/dev/sdb设备当做本地磁盘来使用。比如,划分出一个新的500M的分区,并格式化为xfs格式,然后自动挂载到/mnt/iscsidisk目录下。
[root@desktop1 /]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
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 (65528-4194303, default 65528):
Using default value 65528
Last sector, +sectors or +size{K,M,G} (65528-4194303, default 4194303): +500M
Partition 1 of type Linux and of size 512 MiB is set
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@desktop1 /]# partprobe
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.
[root@desktop1 /]# fdisk -l /dev/sdb
Disk /dev/sdb: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33550336 bytes
Disk label type: dos
Disk identifier: 0x5f1780a4
Device Boot Start End Blocks Id System
/dev/sdb1 65528 1113975 524224 83 Linux
[root@desktop1 /]#
|
格式化为xfs格式,并自动挂载到/mnt/iscsidisk目录:
[root@desktop1 /]# mkfs.xfs /dev/sdb1 --以xfs格式化/dev/sdb1分区
[root@desktop1 /]# mkdir /mnt/iscsidisk --创建挂载目录
[root@desktop1 /]# blkid | grep sdb1 --查看/dev/sdb1分区的UUID
/dev/sdb1: UUID="e568398e-4560-4948-bec1-3430afb5021b" TYPE="xfs"
[root@desktop1 /]# vi /etc/fstab --添加如下一行,实现开机自动挂载
UUID=e568398e-4560-4948-bec1-3430afb5021b /mnt/iscsidisk xfs defaults,_netdev 0 0
|
测试:
[root@desktop1 /]# mount -a
[root@desktop1 /]# df -hT | grep sdb1
/dev/sdb1 xfs 285M 15M 271M 6% /mnt/iscsidisk
[root@desktop1 /]# cd /mnt/iscsidisk/
[root@desktop1 iscsidisk]# touch desktop1test
[root@desktop1 iscsidisk]# ls
desktop1test
|
三、以文件方式作为共享网络存储设备
上面是以磁盘作为共享网络存储设备。下面我们在server0上以文件方式作为共享网络存储设备,然后再desktop2上使用该设备。
首先,在server0上创建共享文件:
[root@server0 ~]# dd if=/dev/zero of=/iscsifiletest bs=1M count=500 --在根目录下创建一个500M的iscsifiletest文件
把该文件创建为iscsi设备:
[root@server0 ~]# targetcli
/> backstores/fileio create iscsitestfile /iscsifiletest
/> iscsi/ create iqn.2018-02.com.ultrapower:iscsitestfile
/> iscsi/iqn.2018-02.com.ultrapower:iscsitestfile/tpg1/acls create iqn.2018-02.com.ultrapower:desktop2
/> iscsi/iqn.2018-02.com.ultrapower:iscsitestfile/tpg1/luns create /backstores/fileio/iscsitestfile portal使用默认的192.168.100.200 3260。
/> saveconfig
/> exit
|
然后,我们就可以在desktop2机上上使用上面创建的iscsi设备了。
在Desktop2机器上:
[root@desktop2 ~]# yum install iscsi-initiator-utils -y
[root@desktop2 ~]# systemctl enable iscsi iscsid
[root@desktop2 ~]# systemctl restart iscsi iscsid
[root@desktop2 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.100.200 --discover
[root@desktop2 ~]# iscsiadm --mode node --targetname iqn.2018-02.com.ultrapower:iscsitestfile --portal 192.168.100.200 --login
[root@desktop2 ~]# fdisk -l | grep sdb
Disk /dev/sdb: 524 MB, 524288000 bytes, 1024000 sectors
[root@desktop2 ~]# fdisk /dev/sdb ---分区出/dev/sdb1,并格式化,然后挂载使用。
[root@desktop2 ~]# mkfs.xfs /dev/sdb1
[root@desktop2 ~]# mkdir /mnt/isscsidisk
[root@desktop2 ~]# blkid | grep sdb
/dev/sdb1: UUID="3f33dd07-6fbe-4173-a7d0-a9a447311105" TYPE="xfs"
[root@desktop2 ~]# vi /etc/fstab
UUID="3f33dd07-6fbe-4173-a7d0-a9a447311105" /mnt/iscsidisk xfs defaults,_netdev 0 0
|
测试:
[root@desktop2 ~]# mount -a
[root@desktop2 ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs 8.5G 3.1G 5.4G 37% /
devtmpfs devtmpfs 716M 0 716M 0% /dev
tmpfs tmpfs 731M 84K 731M 1% /dev/shm
tmpfs tmpfs 731M 8.8M 722M 2% /run
tmpfs tmpfs 731M 0 731M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 140M 358M 29% /boot
tmpfs tmpfs 147M 16K 147M 1% /run/user/42
tmpfs tmpfs 147M 0 147M 0% /run/user/0
/dev/sr0 iso9660 3.8G 3.8G 0 100% /mnt/cdrom
/dev/sdb1 xfs 493M 25M 468M 6% /mnt/iscsidisk
[root@desktop2 ~]# cd /mnt/iscsidisk/
[root@desktop2 iscsidisk]# touch desktop2test
[root@desktop2 iscsidisk]# ls
desktop2test
[root@desktop2 iscsidisk]#
|
ISCS客户端及服务端卸载(注意修改相应的参数):
卸载网络设备(客户端):
[root@desktop2 ~]# umount /mnt/iscsidisk/
[root@desktop2 ~]# iscsiadm --mode node --targetname iqn.2018-02.com.ultrapower:iscsidevice0 --portal 192.168.100.200:3260 --logout
[root@desktop2 ~]# vi /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-02.com.ultrapower:desktop2 --删除
[root@desktop2 ~]# vi /etc/fstab
#UUID="0f62e50c-50bc-4abf-ac3f-b6b8bd1dda2d" /mnt/iscsidisk xfs defaults,_netdev 0 0 --删除
[root@desktop2 ~]# systemctl disable iscsi iscsid
卸载网络设备(服务端):
[root@server0 ~]# targetcli
/> iscsi/iqn.2018-02.com.ultrapower:iscsidevice0/tpg1/acls/ delete iqn.2018-02.com.ultrapower:desktop1
/> iscsi/iqn.2018-02.com.ultrapower:iscsidevice0/tpg1/luns/ delete lun=0
/> iscsi/iqn.2018-02.com.ultrapower:iscsidevice0/tpg1/portals/ delete 192.168.100.200 3260
/> iscsi/ delete iqn.2018-02.com.ultrapower:iscsidevice0
/> backstores/block/ delete san1
/> saveconfig
/> exit
[root@server0 ~]# systemctl disable target