iscsi服务简介:

iscsi是虚拟磁盘就是服务端通过共享设备在远程客户端电脑中虚拟出一个设备

例如iscsi在网吧的应用:网吧业主在iscsi服务器上的共享设备里添加目录和安装游戏软件,客户端的本地虚拟硬盘里就有了相应的游戏软件,不需要到每台机器进行安装。这样可以加大网吧客户机硬盘容量,高速安全稳定。



server端准备:
fdisk -l /dev/vdb-------新建分区
(建议+2G)
partprobe-------刷新分区表
yum install targetrcli -y---------安装服务
systemctl start target---------打开服务
systemctl enable target---------开机启动
systemctl stop firewalld---------关闭火墙

[root@samba ~]# targetcli                
##进入交互模式##
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb34
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> 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]
/> /backstores/block create westos:storage1 /dev/vdb1       
 ##给设备/dev/vdb1一个别名(westos:storage1)##
Created block storage object westos:storage1 using /dev/vdb1.
/> /iscsi create iqn.2017-03.com.westos.storage1    
##生成设备共享文件##
Created target iqn.2017-03.com.westos.storage1.
Created TPG 1.
/> /iscsi/iqn.2017-03.com.westos.storage1/tpg1/acls create iqn.2017-03.com.westos:key1       
 ##给共享设备生成一个key1##
Created Node ACL for iqn.2017-03.com.westos:key1
/> /iscsi/iqn.2017-03.com.westos.storage1/tpg1/luns create /backstores/block/westos:storage1             
##将该别名和共享设备关联起来,设备别名必须使用绝对路径##
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2017-03.com.westos:key1
/> /iscsi/iqn.2017-03.com.westos.storage1/tpg1/portals create 172.25.254.137            
##开放端口##
Using default IP port 3260
Created network portal 172.25.254.137:3260.
/> exit                
##退出交互模式##
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json
[root@samba ~]#

 


客户端:
yum install iscsi-initiator-utils.i686 -y-------安装软件包
systemctl start iscsi--------启动服务
注:iscsid服务是管理现在的iscsi,如果iscsi总是起不来,启动iscsid服务也是可以的
vim /etc/iscsi/initiatorname.iscsi---------编写iscsi的一个相关配置文件,写入server端的key
systemctl reset iscsi--------重启iscsi服务
iscsiadm 命令:
    -l --login    ##登陆节点(服务器)##
    -p --portal=ip[:port]    #指定target服务的IP和端口(ping IP)##

    -T --targetname=targetname    ##用于指定target的名字##

    -u  --logout    ##登出节点(服务器)##

    -o --op=OPEARTION    ##指定针对discoverydb数据库的操作,其仅能为    new、delete、update、show和nonpersistent其中之一##

    -m  --mode op    ##可用的mode有discovery, node, fw, host iface 和 session##
    -t --type    #
#这里可以使用的类型为sendtargets(可简写为st)、slp、fw和 isns,此选项仅用于discovery模式,且目前仅支持st、fw和isns;其中st表示允许每个iSCSItarget发送一个可用target列表给initiator##

client的实际操作:

[root@client ~]# systemctl start iscsi       
 ##开启iscsi服务##
Warning: Unit file of iscsi.service changed on disk, 'systemctl daemon-reload' recommended.   
 ##iscsi服务开启报错,要求执行“systemctl daemon-reload”命令##
[root@client ~]# systemctl daemon-reload
[root@client ~]# systemctl start iscsi
[root@client ~]# vim /etc/iscsi/initiatorname.iscsi     
##编写iscsi的一个配置文件##
[root@client ~]# cat /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.2017-03.com.westos:key1    
##server端的key##
[root@client ~]# systemctl restart iscsi    
##重启iscsi服务##
[root@client ~]# iscsiadm -m discovery -t st -p 172.25.254.137        
##发现server端可共享的设备##
[root@client ~]# iscsiadm -m node -T iqn.2017-03.com.westos.storage1 -p 172.25.254.137 -l    
##连接server端的共享设备##
Logging in to [iface: default, target: iqn.2017-03.com.westos.storage1, portal: 172.25.254.137,3260] (multiple)
Login to [iface: default, target: iqn.2017-03.com.westos.storage1, portal: 172.25.254.137,3260] successful.
[root@client ~]# fdisk -l   
 ##查看分区列表##
Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 sectors    
##client原有设备/dev/vda##
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: 0x00013f3e
   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    20970332    10484142+  83  Linux
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors   
 ##client原有设备/dev/vdb##
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 /dev/sda: 2147 MB, 2147483648 bytes, 4194304 sectors    
##/dev/sda是client连接到的server端所共享的设备##
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 4194304 bytes
[root@client ~]# fdisk /dev/sda     
##在磁盘/dev/sda上分区#
#
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.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x0b4727ba.
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
Partition number (1-4, default 1): 
First sector (8192-4194303, default 8192): 
Using default value 8192
Last sector, +sectors or +size{K,M,G} (8192-4194303, default 4194303): +1G
Partition 1 of type Linux and of size 1 GiB is set
Command (m for help): wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@client ~]# fdisk -l
Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 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: 0x00013f3e
   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    20970332    10484142+  83  Linux
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 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 /dev/sda: 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 / 4194304 bytes
Disk label type: dos
Disk identifier: 0x0b4727ba
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            8192     2105343     1048576   83  Linux
[root@client ~]# mount /dev/sda1 /mnt        
##将设备/dev/sda1挂载到目录/mnt##
mount: /dev/sda1 is write-protected, mounting read-only
mount: unknown filesystem type '(null)'
[root@client ~]# mkfs.xfs /dev/sda1    
##格式化/dev/sda1##
meta-data=/dev/sda1              isize=256    agcount=8, agsize=32768 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@client ~]# mount /dev/sda1 /mnt   
 ##挂载设备##
[root@client ~]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/vda1                10473900 3226672   7247228  31% /
devtmpfs                   493408       0    493408   0% /dev
tmpfs                      508996     140    508856   1% /dev/shm
tmpfs                      508996   13348    495648   3% /run
tmpfs                      508996       0    508996   0% /sys/fs/cgroup
//172.25.254.137/westos   1038336   33056   1005280   4% /mnt       
 ##挂载失败##
[root@client ~]# umount /mnt   
 ##卸载原设备##
[root@client ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/vda1       10473900 3226672   7247228  31% /
devtmpfs          493408       0    493408   0% /dev
tmpfs             508996     140    508856   1% /dev/shm
tmpfs             508996   13348    495648   3% /run
tmpfs             508996       0    508996   0% /sys/fs/cgroup
[root@client ~]# mount /dev/sda1 /mnt        
##再次挂载##
[root@client ~]# df    
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/vda1       10473900 3226672   7247228  31% /
devtmpfs          493408       0    493408   0% /dev
tmpfs             508996     140    508856   1% /dev/shm
tmpfs             508996   13348    495648   3% /run
tmpfs             508996       0    508996   0% /sys/fs/cgroup
/dev/sda1        1038336   33056   1005280   4% /mnt        
##挂载成功##
[root@client ~]# umount /mnt        
##卸载/mnt##
[root@client ~]# iscsiadm -m discovery -t st -p 172.25.254.137       
##发现172.25.254.137的共享文件##
172.25.254.137:3260,1 iqn.2017-03.com.westos.storage1
[root@client ~]# iscsiadm -m node -T iqn.2017-03.com.westos.storage1 -u        
##登出iscsi目标,以暂时断开连接##
Logging out of session [sid: 1, target: iqn.2017-03.com.westos.storage1, portal: 172.25.254.137,3260]
Logout of [sid: 1, target: iqn.2017-03.com.westos.storage1, portal: 172.25.254.137,3260] successful.
[root@client ~]# fdisk -l
Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 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: 0x00013f3e
   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    20970332    10484142+  83  Linux
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 by
              ##/dev/sda1删除成功##
[root@client ~]# systemctl restart iscsi    
##重启iscsi服务##
[root@client ~]# fdisk -l
Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 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: 0x00013f3e
   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    20970332    10484142+  83  Linux
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 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 /dev/sda: 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 / 4194304 bytes
Disk label type: dos
Disk identifier: 0x0b4727ba
   Device Boot      Start         End      Blocks   Id  System       
 ##/dev/sda1有回来了##
/dev/sda1            8192     2105343     1048576   83  Linux        
[root@client ~]# iscsiadm -m node -T iqn.2017-03.com.westos.storage1 -o delete       
 ##删除client接收到的server端的共享##
[root@client ~]# systemctl restart iscsi
[root@client ~]# fdisk -l
Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 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: 0x00013f3e
   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    20970332    10484142+  83  Linux
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 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       
 ##重启iscsi服务后,/dev/sda1并未回来,删除成功##