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 target1、添加一块磁盘,作为共享的网络设备
[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: 0x5f1780a4Device 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 setCommand (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/sdbDisk /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: 0x5f1780a4Device 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