ISCSI磁盘共享

ISCSI是典型的IP-SAN技术,是基于因特网的SAN存储技术。这个技术没有存储设备的距离限制,能够让任何主机都可以通过局域网访问到这个存储设备,对于数据中心而言是非常重要的。一块物理的硬盘能让非常多设备访问,这也是节省资源的一种方法。

下面Vincen用两个Linux系统做示例,一个是服务端centos,提供ISCSI磁盘共享服务;一个是客户端Redhat,访问服务端的ISCSI磁盘。

服务端操作:

1、为虚拟机增加硬盘。虚拟机设置>添加>选择硬盘>添加>添加>添加>完成(默认20G大小)

ISCSI磁盘共享_第1张图片

2、添加多一块虚拟硬盘后,重启虚拟机。然后查看分区设备

[root@centos-server ~]# lsblk                     #查看本机识别的硬盘
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0               2:0    1    4K  0 disk 
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   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk          #这是增加的虚拟硬盘

3、创建分区

[root@centos-server ~]# fdisk /dev/sdb               #创建分区命令
命令(输入 m 获取帮助):n                               #创建分区
分区号 (1-4,默认 1):[回车]
起始 扇区 (20973568-41943039,默认为 20973568):[回车]
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+2G  #创建一个2G的分区
命令(输入 m 获取帮助):p                          #查看创建的分区
   设备 Boot      Start         End      Blocks     Id  System
/dev/sdb1        20973568    25167871     2097152   83  Linux    #创建的分区信息

命令(输入 m 获取帮助):w                #保存并退出

4、服务端搭建ISCSI服务,安装targetcli包

[root@centos-server ~]# yum -y install targetcli

5、进入服务界面,并查看

[root@centos-server ~]# targetcli               #进入服务 
/> 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]
/> 

6、将分区加入到后端储存

/> /backstores/block create back_store /dev/sdb1

7、创建一个ISCSI共享名称

/> /iscsi create iqn.2018-01.com.example:server
#共享名的要求:“iqn.年-月.反转域名:任意字符串”

8、将共享名和后端设备关联起来

/> iscsi/iqn.2018-01.com.example:vincen/tpg1/acls create iqn.2018-02.com.example:vincent

9、查看当前。(对比第五步,明显看出创建的信息)

/> ls
o- / ............................................... [...]
  o- backstores .................................... [...]
  | o- block ....................................... [Storage Objects: 1]
  | | o- back_store .......... [/dev/sdb1 (0 bytes) 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.2018-09.com.example:server .............. [TPGs: 1]
  |   o- tpg1 ...................................... [no-gen-acls, no-auth]
  |     o- acls .................................... [ACLs: 1]
  |     | o- iqn.2018-09.com.example:vincent ....... [Mapped LUNs: 1]
  |     |   o- mapped_lun0 ......................... [lun0 block/back_store (rw)]
  |     o- luns .................................... [LUNs: 1]
  |     | o- lun0 ............ [block/back_store (/dev/sdb1) (default_tg_pt_gp)]
  |     o- portals ................................. [Portals: 1]
  |       o- 0.0.0.0:3260 .......................... [OK]
  o- loopback ...................................... [Targets: 0]

10、保存、退出

/> saveconfig               #保存
/> exit                     #退出

11、重启服务端ISCSI的服务

[root@centos-server ~]# systemctl restart target

 

客户端操作:

1、先查看本机的硬盘设备

[root@localhost ~]# lsblk

2、安装ISCSI客户端的包

[root@localhost ~]# yum -y install iscsi-initiator-utils.i686 

3、修改配置文件,添加访问口令

[root@localhost ~]# vim /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.2018-02.com.example:vincent
#iqn.2018-02.com.example:vincent 这个可以从服务端的访问口令中复制。不能有错误
#访问口令相当于一个登陆百度网盘的密码

4、启动ISCSI客户端服务

[root@localhost ~]# systemctl start iscsi  #客户端秦东iscsi服务

5、查看服务端的ISCSI  IQN信息

[root@localhost ~]# iscsiadm -m node -T iqn.2018-09.com.example:server
172.25.0.5:3260,1 iqn.2018-09.com.example:server
#查看另一个虚拟机上的IP和ISCSI的IQN信息

6、挂载共享磁盘

[root@localhost ~]# iscsiadm -m node -T iqn.2018-09.com.example:server

7、查看客户端的虚拟机可识别的硬盘。名称为sdb,大小为2G。

[root@localhost ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0             2:0    1    4K  0 disk 
sda             8:0    0   20G  0 disk 
├─sda1          8:1    0  500M  0 part /boot
└─sda2          8:2    0 19.5G  0 part 
  ├─rhel-root 253:0    0 17.5G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
sdb             8:16   0    2G  0 disk               #共享到的磁盘,大小为2G,可以使用 
sr0            11:0    1  3.5G  0 rom  /mnt

到这里,ISCSI磁盘共享服务就已经完成了,客户端的Linux系统也可以访问并使用服务端的ISCSI磁盘。

你可能感兴趣的:(Linux)