说到今天的心情,也能用好也能用不好来形容。
今天也不整这些影响心情的事情。我来粗略的配置一下target服务的共享存储配置,解决计算机磁盘空间不足的问题。
两台计算机
一台功能服务型计算机,一台用作共享存储的服务器。
功能型主机:
[root@localhost ~]# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
磁盘 /dev/sda:64.0 GB, 64023257088 字节,125045424 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
Disk identifier: 6F22154B-F340-445A-9DD3-36035F0E1A86
# Start End Size Type Name
1 2048 411647 200M EFI System EFI System Partition
2 411648 2508799 1G Microsoft basic
3 2508800 125044735 58.4G Linux LVM
磁盘 /dev/mapper/centos-root:39.4 GB, 39355154432 字节,76865536 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:4160 MB, 4160749568 字节,8126464 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-home:19.2 GB, 19214106624 字节,37527552 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdb:52.4 GB, 52437189120 字节,102416385 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 33550336 字节
[root@localhost ~]#
可以看到服务型功能主机的硬盘空间不到60G,这个硬盘大小做服务的时候是不够用的。
存储共享服务器
存储共享服务器也就是多加了一块硬盘,但是可以用来模拟共享存储空间用。
[root@www ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.4G 0 1.4G 0% /dev
tmpfs 1.4G 0 1.4G 0% /dev/shm
tmpfs 1.4G 9.4M 1.4G 1% /run
tmpfs 1.4G 0 1.4G 0% /sys/fs/cgroup
/dev/mapper/centos-root 90G 38G 53G 42% /
/dev/sda1 1014M 240M 775M 24% /boot
tmpfs 284M 12K 284M 1% /run/user/42
tmpfs 284M 0 284M 0% /run/user/0
[root@www ~]# fdisk -l
磁盘 /dev/sda:320.1 GB, 320071851520 字节,625140335 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00044653
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 113262591 55581696 8e Linux LVM
/dev/sda3 113262592 625140334 255938871+ 8e Linux LVM
磁盘 /dev/sdb:500.1 GB, 500106780160 字节,976771055 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x624aa2e0
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 102416383 51207168 8e Linux LVM
/dev/sdb2 102416384 204832768 51208192+ 8e Linux LVM
/dev/sdb3 204834816 512086016 153625600+ 8e Linux LVM
/dev/sdb4 512088064 976771054 232341495+ 8e Linux LVM
磁盘 /dev/mapper/centos-root:96.6 GB, 96636764160 字节,188743680 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:3221 MB, 3221225472 字节,6291456 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@www ~]#
可以看到,我的共享存储服务器在sdb下划分了4个分区用作后面的共享存储配置。(fdisk 磁盘分区的操作方式可以自行查找文章进行配置,这里不具体阐述了;)
共享存储服务器检查安装targetcli工具
(CentOS7.1往前的貌似不是targetcli工具,可以自行对照系统配置,以防我的操作方式有一些区别;)
我的是已经安装了targetcli配置工具的:
查看targetcli
[root@www ~]# rpm -q targetcli
targetcli-2.1.fb49-1.el7.noarch
如果你的系统内没有安装,可以执行yum源安装此工具:
[root@www ~]# yum install targetcli -y
也可以更新此工具为最新版本:
没有相关更新,我这就是个演示。
[root@www ~]# yum update targetcli
已加载插件:fastestmirror, langpacks
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Loading mirror speeds from cached hostfile
* base: mirror.bit.edu.cn
* extras: mirrors.bfsu.edu.cn
* updates: mirrors.bfsu.edu.cn
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
No packages marked for update
[root@www ~]#
进入服务端targetcli工具
直接输入targetcli就行:
[root@www ~]# targetc
targetcli targetctl
[root@www ~]# targetcli
targetcli shell version 2.1.fb49
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> -h
/> help
GENERALITIES
============
This is a shell in which you can create, delete and configure
configuration objects.
The available commands depend on the current path or target
path you want to run a command in: different path have
different sets of available commands, i.e. a path pointing at
an iscsi target will not have the same availaible commands as,
say, a path pointing at a storage object.
The prompt that starts each command line indicates your
current path. Alternatively (useful if the prompt displays
an abbreviated path to save space), you can run the
pwd command to display the complete current path.
Navigating the tree is done using the cd command. Without
any argument, cd will present you with the full objects
tree. Just use arrows to select the destination path, and
enter will get you there. Please try help cd for navigation
tips.
COMMAND SYNTAX
==============
Commands are built using the following syntax:
[TARGET_PATH] COMMAND_NAME [OPTIONS]
The TARGET_PATH indicates the path to run the command from.
If ommited, the command will be run from your current path.
The OPTIONS depend on the command. Please use help
COMMAND to get more information.
AVAILABLE COMMANDS
==================
The following commands are available in the
current path:
- bookmarks action [bookmark]
- cd [path]
- clearconfig [confirm]
- exit
- get [group] [parameter...]
- help [topic]
- ls [path] [depth]
- pwd
- refresh
- restoreconfig [savefile] [clear_existing]
- saveconfig [savefile]
- sessions [action] [sid]
- set [group] [parameter=value...]
- status
- version
/>
help可以获取帮助,双击Tab键可以显示在当前路径下使用的targetcli命令:
current path:
- bookmarks action [bookmark]
- cd [path]
- clearconfig [confirm]
- exit
- get [group] [parameter...]
- help [topic]
- ls [path] [depth]
- pwd
- refresh
- restoreconfig [savefile] [clear_existing]
- saveconfig [savefile]
- sessions [action] [sid]
- set [group] [parameter=value...]
- status
- version
/>
* / @last backstores/ iscsi/ loopback/ bookmarks cd
clearconfig exit get help ls pwd refresh restoreconfig
saveconfig sessions set status version
/>
目前是在根路径下,直接敲ls(和linux的ls一样)命令来查看所有路径及路径下的配置,敲pwd命令可以显示当前所在的路径(和linux的pwd一样)。
/>
* / @last backstores/ iscsi/ loopback/ bookmarks cd
clearconfig exit get help ls pwd refresh restoreconfig
saveconfig sessions set status version
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 2]
| | o- block_sd2 ...................................................................... [/dev/sdb2 (48.8GiB) write-thru activated]
| | | o- alua ................................................................................................... [ALUA Groups: 1]
| | | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| | o- block_sd3 ..................................................................... [/dev/sdb3 (146.5GiB) write-thru activated]
| | o- alua ................................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 1]
| o- iqn.2020-08.sd2.liyi.com:test ..................................................................................... [TPGs: 1]
| o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
| o- acls .......................................................................................................... [ACLs: 1]
| | o- iqn.1994-05.com.redhat:be46bf1b1f5c .................................................................. [Mapped LUNs: 2]
| | o- mapped_lun0 ............................................................................. [lun0 block/block_sd2 (rw)]
| | o- mapped_lun1 ............................................................................. [lun1 block/block_sd3 (rw)]
| o- luns .......................................................................................................... [LUNs: 2]
| | o- lun0 ................................................................. [block/block_sd2 (/dev/sdb2) (default_tg_pt_gp)]
| | o- lun1 ................................................................. [block/block_sd3 (/dev/sdb3) (default_tg_pt_gp)]
| o- portals .................................................................................................... [Portals: 1]
| o- 192.168.0.104:3260 ............................................................................................... [OK]
o- loopback ......................................................................................................... [Targets: 0]
/> pwd
/
/>
完成共享存储服务的空间配置:
创建block块
创建一个block块关联我需要共享的分区:
需要在backstores/block路径下创建关联block块
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 2]
| | o- block_sd2 ...................................................................... [/dev/sdb2 (48.8GiB) write-thru activated]
| | | o- alua ................................................................................................... [ALUA Groups: 1]
| | | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| | o- block_sd3 ..................................................................... [/dev/sdb3 (146.5GiB) write-thru activated]
| | o- alua ................................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
可以看到我目前已经共享了两个block块,一个是sd2、一个是sd3,这两个名称我是根据sdb分区名称来配置的。
在sd2这个block块的右边可以看到sd2关联的是/dev/sdb2,sdb2的分区空间为48.8G的空间。sd3也和sd2相同,关联的是sdb3,sdb3有146.5的大小。
创建一个新的block关联块
切换路径到block下,创建一个sd4的关联block:
/> cd backstores/block/
/backstores/block> ls
o- block ...................................................................................................... [Storage Objects: 2]
o- block_sd2 .......................................................................... [/dev/sdb2 (48.8GiB) write-thru activated]
| o- alua ....................................................................................................... [ALUA Groups: 1]
| o- default_tg_pt_gp ........................................................................... [ALUA state: Active/optimized]
o- block_sd3 ......................................................................... [/dev/sdb3 (146.5GiB) write-thru activated]
o- alua ....................................................................................................... [ALUA Groups: 1]
o- default_tg_pt_gp ........................................................................... [ALUA state: Active/optimized]
/backstores/block> create
dev= name= readonly= wwn=
/backstores/block> create name=sd4 dev=
Desktop/ TeamViewer/ 下载/ 公共/ 图片/ 文档/ 模板/
视频/ 音乐/
/backstores/block> create name=sd4 dev=/dev/sdb
/dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4
/backstores/block> create name=sd4 dev=/dev/sdb4
Created block storage object sd4 using /dev/sdb4.
/backstores/block> ls
o- block ...................................................................................................... [Storage Objects: 3]
o- block_sd2 .......................................................................... [/dev/sdb2 (48.8GiB) write-thru activated]
| o- alua ....................................................................................................... [ALUA Groups: 1]
| o- default_tg_pt_gp ........................................................................... [ALUA state: Active/optimized]
o- block_sd3 ......................................................................... [/dev/sdb3 (146.5GiB) write-thru activated]
| o- alua ....................................................................................................... [ALUA Groups: 1]
| o- default_tg_pt_gp ........................................................................... [ALUA state: Active/optimized]
o- sd4 ............................................................................. [/dev/sdb4 (221.6GiB) write-thru deactivated]
o- alua ....................................................................................................... [ALUA Groups: 1]
o- default_tg_pt_gp ........................................................................... [ALUA state: Active/optimized]
/backstores/block>
可以看见新增了一个sd4的block块,关联的是sdb4,sdb4有221.6G大小。
进入ISCSI路径下配置共享存储对象和共享存储连接
创建一个iscsi共享存储名称:
/iscsi> create wwn=iqn.2020-08.sd2.liyi.com:test
查看共享存储显示的iscsi名称:
o- iscsi ............................................................................................................ [Targets: 1]
| o- iqn.2020-08.sd2.liyi.com:test ..................................................................................... [TPGs: 1]
| o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
| o- acls .......................................................................................................... [ACLs: 1]
| | o- iqn.1994-05.com.redhat:be46bf1b1f5c .................................................................. [Mapped LUNs: 2]
| | o- mapped_lun0 ............................................................................. [lun0 block/block_sd2 (rw)]
| | o- mapped_lun1 ............................................................................. [lun1 block/block_sd3 (rw)]
| o- luns .......................................................................................................... [LUNs: 2]
| | o- lun0 ................................................................. [block/block_sd2 (/dev/sdb2) (default_tg_pt_gp)]
| | o- lun1 ................................................................. [block/block_sd3 (/dev/sdb3) (default_tg_pt_gp)]
| o- portals .................................................................................................... [Portals: 1]
| o- 192.168.0.104:3260 ............................................................................................... [OK]
o- loopback ......................................................................................................... [Targets: 0]
里面有一些名称是我已经创建完成的共享。
创建完成iscsi名称后,下面会默认创建一个tpg1的路径,在tpg1路径下有三个路径为主要的:
1.acls(客户端访问名称,免认证配置)
2.luns(共享lun存储池,调用block共享块)
3.portals(共享存储地址和端口)
创建luns共享池
创建一个共享lun,将需要共享的block块配置进lun池:
/iscsi> cd iqn.2020-08.sd2.liyi.com:test/tpg1/luns/
/iscsi/iqn.20...est/tpg1/luns> ls
o- luns .................................................................................................................. [LUNs: 2]
o- lun0 ......................................................................... [block/block_sd2 (/dev/sdb2) (default_tg_pt_gp)]
o- lun1 ......................................................................... [block/block_sd3 (/dev/sdb3) (default_tg_pt_gp)]
/iscsi/iqn.20...est/tpg1/luns> create
/backstores/block/block_sd2 /backstores/block/block_sd3 /backstores/block/sd4 Desktop/
TeamViewer/ anaconda-ks.cfg help info.txt
initial-setup-ks.cfg newtest01.txt 下载/ 公共/
图片/ 文档/ 模板/ 视频/
音乐/ add_mapped_luns= lun= storage_object=
/iscsi/iqn.20...est/tpg1/luns>
* / @last lun0/ lun1/ bookmarks cd create delete exit get help
ls pwd refresh set status
/iscsi/iqn.20...est/tpg1/luns> create
/backstores/block/block_sd2 /backstores/block/block_sd3 /backstores/block/sd4 Desktop/
TeamViewer/ anaconda-ks.cfg help info.txt
initial-setup-ks.cfg newtest01.txt 下载/ 公共/
图片/ 文档/ 模板/ 视频/
音乐/ add_mapped_luns= lun= storage_object=
/iscsi/iqn.20...est/tpg1/luns> create lun=lun2 storage_object=
/backstores/block/block_sd2 /backstores/block/block_sd3 /backstores/block/sd4
Desktop/ TeamViewer/ anaconda-ks.cfg
help info.txt initial-setup-ks.cfg
newtest01.txt 下载/ 公共/
图片/ 文档/ 模板/
视频/ 音乐/
/iscsi/iqn.20...est/tpg1/luns> create lun=lun2 storage_object=/backstores/block/
/backstores/block/block_sd2 /backstores/block/block_sd3 /backstores/block/sd4
/iscsi/iqn.20...est/tpg1/luns> create lun=lun2 storage_object=/backstores/block/sd4
Created LUN 2.
Created LUN 2->2 mapping in node ACL iqn.1994-05.com.redhat:be46bf1b1f5c
/iscsi/iqn.20...est/tpg1/luns> ls
o- luns .................................................................................................................. [LUNs: 3]
o- lun0 ......................................................................... [block/block_sd2 (/dev/sdb2) (default_tg_pt_gp)]
o- lun1 ......................................................................... [block/block_sd3 (/dev/sdb3) (default_tg_pt_gp)]
o- lun2 ............................................................................... [block/sd4 (/dev/sdb4) (default_tg_pt_gp)]
/iscsi/iqn.20...est/tpg1/luns>
创建了一个新lun2,调用的是block块中的sd4,这个lun2的大小就是sd4的block大小。
创建acls免认证访问
在这里我们需要先打开那个没有多大磁盘空间的主机(我的就是功能型客户端),在功能型客户端中查看是否有iscsi这个工具:
客户端默认是自带iscsi功能的,先查看一下需要免认证的客户端的iscsi名称。
查看客户端iscsi名称:
默认路径是在/etc/iscsi/initiatorname.iscsi中
[root@localhost ~]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.com.redhat:be46bf1b1f5c
[root@localhost ~]#
我的客户端iscsi名称是这个,我把这个名称写入共享存储服务器的acls配置内:
/iscsi/iqn.20...est/tpg1/luns> cd ../acls/
/iscsi/iqn.20...est/tpg1/acls> ls
o- acls .................................................................................................................. [ACLs: 1]
o- iqn.1994-05.com.redhat:be46bf1b1f5c .......................................................................... [Mapped LUNs: 3]
o- mapped_lun0 ..................................................................................... [lun0 block/block_sd2 (rw)]
o- mapped_lun1 ..................................................................................... [lun1 block/block_sd3 (rw)]
o- mapped_lun2 ........................................................................................... [lun2 block/sd4 (rw)]
/iscsi/iqn.20...est/tpg1/acls>
/ @last iqn.1994-05.com.redhat:be46bf1b1f5c/
bookmarks cd create
delete exit get
help ls pwd
refresh set status
tag untag
/iscsi/iqn.20...est/tpg1/acls> create
add_mapped_luns= wwn=
/iscsi/iqn.20...est/tpg1/acls> create wwn=iqn.1994-05.com.redhat:be46bf1b1f5c
因为我这个已经添加了,就不再重新添加了,按两下Tab键可以查看当前路径下可用的命令,可以用delete命令再删除添加的客户端iscsi名称。
将共享存储服务器的地址和端口配置进portals中
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 3]
| | o- block_sd2 ...................................................................... [/dev/sdb2 (48.8GiB) write-thru activated]
| | | o- alua ................................................................................................... [ALUA Groups: 1]
| | | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| | o- block_sd3 ..................................................................... [/dev/sdb3 (146.5GiB) write-thru activated]
| | | o- alua ................................................................................................... [ALUA Groups: 1]
| | | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| | o- sd4 ........................................................................... [/dev/sdb4 (221.6GiB) write-thru activated]
| | o- alua ................................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 1]
| o- iqn.2020-08.sd2.liyi.com:test ..................................................................................... [TPGs: 1]
| o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
| o- acls .......................................................................................................... [ACLs: 1]
| | o- iqn.1994-05.com.redhat:be46bf1b1f5c .................................................................. [Mapped LUNs: 3]
| | o- mapped_lun0 ............................................................................. [lun0 block/block_sd2 (rw)]
| | o- mapped_lun1 ............................................................................. [lun1 block/block_sd3 (rw)]
| | o- mapped_lun2 ................................................................................... [lun2 block/sd4 (rw)]
| o- luns .......................................................................................................... [LUNs: 3]
| | o- lun0 ................................................................. [block/block_sd2 (/dev/sdb2) (default_tg_pt_gp)]
| | o- lun1 ................................................................. [block/block_sd3 (/dev/sdb3) (default_tg_pt_gp)]
| | o- lun2 ....................................................................... [block/sd4 (/dev/sdb4) (default_tg_pt_gp)]
| o- portals .................................................................................................... [Portals: 1]
| o- 192.168.0.104:3260 ............................................................................................... [OK]
o- loopback ......................................................................................................... [Targets: 0]
/> cd iscsi/iqn.2020-08.sd2.liyi.com:test/tpg1/portals/
/iscsi/iqn.20.../tpg1/portals> ls
o- portals ............................................................................................................ [Portals: 1]
o- 192.168.0.104:3260 ....................................................................................................... [OK]
/iscsi/iqn.20.../tpg1/portals>
/ 192.168.0.104:3260/ @last bookmarks cd create
delete exit get help ls pwd
refresh set status
/iscsi/iqn.20.../tpg1/portals> delete
192.168.0.104 ip_address= ip_port=
/iscsi/iqn.20.../tpg1/portals> delete ip_
ip_address= ip_port=
/iscsi/iqn.20.../tpg1/portals> delete ip_address=192.168.0.104 ip_port=3260
我这个是删除掉里面的IP地址和端口。
下面是创建IP和端口(共享服务器的IP地址)
/iscsi/iqn.20.../tpg1/portals> create ip_address=192.168.0.104 ip_port=3260
记住这个端口,等下需要在服务器上放行这个端口,现在已经配置完成了服务器的共享存储targetcli。
放行服务器端的3260端口
我用的是firewall防火墙,所以需要使用firewall-cmd新加3260端口:
[root@www ~]# firewall-cmd --add-
--add-forward-port= --add-lockdown-whitelist-command= --add-masquerade --add-service=
--add-icmp-block= --add-lockdown-whitelist-context= --add-port= --add-source=
--add-icmp-block-inversion --add-lockdown-whitelist-uid= --add-protocol= --add-source-port=
--add-interface= --add-lockdown-whitelist-user= --add-rich-rule=
[root@www ~]# firewall-cmd --add-port=3260/tcp
查看firewall开启的3260端口:
[root@www ~]# firewall-cmd --list-ports
80/tcp 3306/tcp 21/tcp 3260/tcp
[root@www ~]# netstat -an | grep 3260
tcp 0 0 192.168.0.104:3260 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.104:3260 192.168.0.175:51998 ESTABLISHED
[root@www ~]#
下面的192.168.0.175这个是我已经建立了客户端调用共享存储后列出的记录。
客户端配置iSCSI
iscsi查看服务器共享的存储名称
[root@localhost ~]# iscsiadm -h
iscsiadm -m discoverydb [ -hV ] [ -d debug_level ] [-P printlevel] [ -t type -p ip:port -I ifaceN ... [ -Dl ] ] | [ [ -p ip:port -t type] [ -o operation ] [ -n name ] [ -v value ] [ -lD ] ]
iscsiadm -m discovery [ -hV ] [ -d debug_level ] [-P printlevel] [ -t type -p ip:port -I ifaceN ... [ -l ] ] | [ [ -p ip:port ] [ -l | -D ] ]
iscsiadm -m node [ -hV ] [ -d debug_level ] [ -P printlevel ] [ -L all,manual,automatic ] [ -U all,manual,automatic ] [ -S ] [ [ -T targetname -p ip:port -I ifaceN ] [ -l | -u | -R | -s] ] [ [ -o operation ] [ -n name ] [ -v value ] ]
iscsiadm -m session [ -hV ] [ -d debug_level ] [ -P printlevel] [ -r sessionid | sysfsdir [ -R | -u | -s ] [ -o operation ] [ -n name ] [ -v value ] ]
iscsiadm -m iface [ -hV ] [ -d debug_level ] [ -P printlevel ] [ -I ifacename | -H hostno|MAC ] [ [ -o operation ] [ -n name ] [ -v value ] ] [ -C ping [ -a ip ] [ -b packetsize ] [ -c count ] [ -i interval ] ]
iscsiadm -m fw [ -d debug_level ] [ -l ]
iscsiadm -m host [ -P printlevel ] [ -H hostno|MAC ] [ [ -C chap [ -x chap_tbl_idx ] ] | [ -C flashnode [ -A portal_type ] [ -x flashnode_idx ] ] | [ -C stats ] ] [ [ -o operation ] [ -n name ] [ -v value ] ]
iscsiadm -k priority
[root@localhost ~]# iscsiadm -m discovery -t st -p 192.168.0.104
192.168.0.104:3260,1 iqn.2020-08.sd2.liyi.com:test
[root@localhost ~]#
可以看到客户端查到了服务器的iscsi名称。
客户端登陆服务端iscsi共享
这里有三条命令来使用iscsiadm,分别为查看、连接、断开连接:
查看:iscsiadm -m discovery -t st -p 【服务器IP地址】
登陆:iscsiadm -m node -T 【服务器iscsi名称】 -p 【服务器IP地址】 -l
断开连接:iscsiadm -m node -T 【服务器iscsi名称】 -u
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 59.6G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 58.4G 0 part
├─centos-root 253:0 0 36.7G 0 lvm /
├─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
└─centos-home 253:2 0 17.9G 0 lvm /home
sdb 8:16 0 48.9G 0 disk
[root@localhost ~]# iscsiadm -m node -T iqn.2020-08.sd2.liyi.com:test -u
Logging out of session [sid: 3, target: iqn.2020-08.sd2.liyi.com:test, portal: 192.168.0.104,3260]
Logout of [sid: 3, target: iqn.2020-08.sd2.liyi.com:test, portal: 192.168.0.104,3260] successful.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 59.6G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 58.4G 0 part
├─centos-root 253:0 0 36.7G 0 lvm /
├─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
└─centos-home 253:2 0 17.9G 0 lvm /home
[root@localhost ~]#
可以看到,我的客户端断开了sdb这个iscsi共享空间了。
使用登陆命令访问iscsi共享空间:
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 59.6G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 58.4G 0 part
├─centos-root 253:0 0 36.7G 0 lvm /
├─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
└─centos-home 253:2 0 17.9G 0 lvm /home
[root@localhost ~]# iscsiadm -m node -T iqn.2020-08.sd2.liyi.com:test -p 192.168.0.104 -l
Logging in to [iface: default, target: iqn.2020-08.sd2.liyi.com:test, portal: 192.168.0.104,3260] (multiple)
Login to [iface: default, target: iqn.2020-08.sd2.liyi.com:test, portal: 192.168.0.104,3260] successful.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 59.6G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 58.4G 0 part
├─centos-root 253:0 0 36.7G 0 lvm /
├─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
└─centos-home 253:2 0 17.9G 0 lvm /home
sdb 8:16 0 48.9G 0 disk
sdc 8:32 0 221.6G 0 disk
sdd 8:48 0 146.5G 0 disk
[root@localhost ~]#
可以看见,现在列出了三个新的共享iscsi分区,这个就是targetcli服务器内的三个lun池。可以直接用mount命令挂载共享存储空间来直接使用了。
客户端挂载共享存储空间
可以看到客户端多了三个共享分区:sdb,sdc,sdd。
需要使用共享分区可以直接将此分区挂载到某个目录下即可:
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 59.6G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 58.4G 0 part
├─centos-root 253:0 0 36.7G 0 lvm /
├─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
└─centos-home 253:2 0 17.9G 0 lvm /home
sdb 8:16 0 48.9G 0 disk
sdc 8:32 0 221.6G 0 disk
sdd 8:48 0 146.5G 0 disk
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 37G 8.5G 29G 23% /
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 56M 1.8G 3% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda2 1014M 172M 843M 17% /boot
/dev/sda1 200M 9.8M 191M 5% /boot/efi
/dev/mapper/centos-home 18G 40M 18G 1% /home
tmpfs 371M 40K 371M 1% /run/user/1000
tmpfs 371M 0 371M 0% /run/user/0
[root@localhost ~]# ll /
总用量 28
drwxr-xr-x. 2 root root 42 8月 24 17:20 Application
lrwxrwxrwx. 1 root root 7 7月 8 09:53 bin -> usr/bin
dr-xr-xr-x. 6 root root 4096 8月 14 13:34 boot
drwxr-xr-x. 20 root root 3400 8月 27 11:24 dev
drwxr-xr-x. 135 root root 12288 8月 17 14:39 etc
drwxr-xr-x. 3 root root 18 7月 8 10:07 home
lrwxrwxrwx. 1 root root 7 7月 8 09:53 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 7月 8 09:53 lib64 -> usr/lib64
drwxr-xr-x. 4 root root 29 8月 18 11:34 media
drwxr-xr-x. 2 root root 6 11月 5 2016 mnt
drwxr-xr-x. 3 root root 16 7月 8 09:59 opt
dr-xr-xr-x. 224 root root 0 8月 17 15:31 proc
dr-xr-x---. 16 root root 4096 8月 26 15:13 root
drwxr-xr-x. 37 root root 1220 8月 27 06:57 run
lrwxrwxrwx. 1 root root 8 7月 8 09:53 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 11月 5 2016 srv
dr-xr-xr-x. 13 root root 0 8月 17 15:31 sys
drwxrwxrwt. 14 root root 4096 8月 27 11:21 tmp
drwxr-xr-x. 13 root root 155 7月 8 09:53 usr
drwxr-xr-x. 20 root root 282 7月 8 10:05 var
drwxr-xr-x. 2 root root 6 8月 25 12:19 virtual_kvm
[root@localhost ~]# df -h /virtual_kvm/
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 37G 8.5G 29G 23% /
[root@localhost ~]# mou
mount mount.fuse mount.nfs mount.nfs4 mountpoint mountstats mousetweaks
[root@localhost ~]# mount /dev/sd
sda sda1 sda2 sda3 sdb sdc sdd
[root@localhost ~]# mount /dev/sdb /virtual_kvm/
[root@localhost ~]# df -h /virtual_kvm/
文件系统 容量 已用 可用 已用% 挂载点
/dev/sdb 48G 53M 46G 1% /virtual_kvm
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 37G 8.5G 29G 23% /
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 56M 1.8G 3% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda2 1014M 172M 843M 17% /boot
/dev/sda1 200M 9.8M 191M 5% /boot/efi
/dev/mapper/centos-home 18G 40M 18G 1% /home
tmpfs 371M 40K 371M 1% /run/user/1000
tmpfs 371M 0 371M 0% /run/user/0
/dev/sdb 48G 53M 46G 1% /virtual_kvm
[root@localhost ~]#
可以看到,我将sdb的共享空间挂载给了/virtual_kvm文件夹,现在这个文件夹的空间是48G。
服务器避免意外操作保存配置
在服务器targetcli中使用save命令来保存当前的iscsi配置信息:
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 3]
| | o- block_sd2 ...................................................................... [/dev/sdb2 (48.8GiB) write-thru activated]
| | | o- alua ................................................................................................... [ALUA Groups: 1]
| | | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| | o- block_sd3 ..................................................................... [/dev/sdb3 (146.5GiB) write-thru activated]
| | | o- alua ................................................................................................... [ALUA Groups: 1]
| | | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| | o- sd4 ........................................................................... [/dev/sdb4 (221.6GiB) write-thru activated]
| | o- alua ................................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 1]
| o- iqn.2020-08.sd2.liyi.com:test ..................................................................................... [TPGs: 1]
| o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
| o- acls .......................................................................................................... [ACLs: 1]
| | o- iqn.1994-05.com.redhat:be46bf1b1f5c .................................................................. [Mapped LUNs: 3]
| | o- mapped_lun0 ............................................................................. [lun0 block/block_sd2 (rw)]
| | o- mapped_lun1 ............................................................................. [lun1 block/block_sd3 (rw)]
| | o- mapped_lun2 ................................................................................... [lun2 block/sd4 (rw)]
| o- luns .......................................................................................................... [LUNs: 3]
| | o- lun0 ................................................................. [block/block_sd2 (/dev/sdb2) (default_tg_pt_gp)]
| | o- lun1 ................................................................. [block/block_sd3 (/dev/sdb3) (default_tg_pt_gp)]
| | o- lun2 ....................................................................... [block/sd4 (/dev/sdb4) (default_tg_pt_gp)]
| o- portals .................................................................................................... [Portals: 1]
| o- 192.168.0.104:3260 ............................................................................................... [OK]
o- loopback ......................................................................................................... [Targets: 0]
/> saveconfig
Configuration saved to /etc/target/saveconfig.json
/> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup/.
Configuration saved to /etc/target/saveconfig.json
[root@www ~]# ll /etc/target/
总用量 16
drwxr-xr-x. 2 root root 252 8月 27 11:33 backup
-rw-r--r--. 1 root root 8980 8月 27 11:33 saveconfig.json
-rw-r--r--. 1 root root 581 8月 4 2017 targetd.yaml
[root@www ~]# ll /etc/target/backup/
总用量 48
-rw-r--r--. 1 root root 3694 8月 26 10:12 saveconfig-20200826-10:12:53.json
-rw-r--r--. 1 root root 4644 8月 26 15:15 saveconfig-20200826-15:15:03.json
-rw-r--r--. 1 root root 4650 8月 26 15:15 saveconfig-20200826-15:15:12.json
-rw-r--r--. 1 root root 6422 8月 27 10:22 saveconfig-20200827-10:22:02.json
-rw-r--r--. 1 root root 6821 8月 27 10:25 saveconfig-20200827-10:25:40.json
-rw-r--r--. 1 root root 8980 8月 27 11:33 saveconfig-20200827-11:33:10.json
[root@www ~]#
这下就完美搞成了!别忘了点赞哦。