ISCSI实现磁盘网络共享以及LVM方式共享拓展

ISCSI实现磁盘网络共享以及LVM方式共享拓展

这里通过ISCSI实现的磁盘分离,并且可以进行诸如LVM等方面的操作,同样需要两台主机模拟说明问题。一台作为服务器,一台作为客户端.

ISCSI实现磁盘网络共享以及LVM方式共享拓展_第1张图片

一、服务器建立一个普通共享磁盘,客户端使用

在服务器:

首先建立共享磁盘

[root@server ~]# fdisk /dev/vdb

Command (m for help): n     ## n表示创建分区

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p): p          ## p 表示选择默认

Partition number (1-4, default 1): 1  ##选择1

First sector (2048-20971519, default 2048):   ##按回车键

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +5G     ##先加上5G

Partition 1 of type Linux and of size 5 GiB is set

Command (m for help): wq     ##退出保存

The partition table has been altered!

[root@server ~]# partprobe     ##同步分区表

定义ISCSI共享的target文件名?

一般情况下,通过ISCSI共享出来的target文件名都是以iqn开头,意思是“iSCSI Qualified Name(iSCSI合格名称)”

格式如下:

iqn.yyyy-mm.:identifier

iqn.年年-月.单位网络名的反转写法 :这个共享的target 名称

例如之下用到的:iqn.2017-12.com.example:storage1  


配置targetcli

[root@server ~]# yum install targetcli -y    ##安装服务软件

[root@server ~]# systemctl start target   ##开启服务

[root@server ~]# targetcli        ##默认情况如下:

ISCSI实现磁盘网络共享以及LVM方式共享拓展_第2张图片

/> /backstores/block create redhat:storage1 /dev/vdb1  ##命名设备块

Created block storage object redhat:storage1 using /dev/vdb1.   

/> /iscsi create iqn.2017-12.com.example:storage1     ##生成共享设备

Created target iqn.2017-12.com.example:storage1.

Created TPG 1.

/> /iscsi/iqn.2017-12.com.example:storage1/tpg1/acls create iqn.2017-12.com.example:redhatkey     ##生成共享设备的钥匙

Created Node ACL for iqn.2017-12.com.example:redhatkey

/> /iscsi/iqn.2017-12.com.example:storage1/tpg1/luns create /backstores/block/redhat:storage1       ##创造共享设备指向本地设备的链接

Created LUN 0.

Created LUN 0->0 mapping in node ACL iqn.2017-12.com.example:redhatkey

/> /iscsi/iqn.2017-12.com.example:storage1/tpg1/portals create 172.25.254.120                        ##添加共享设备的的端口

Using default IP port 3260

Created network portal 172.25.254.120:3260.

整体效果如下:

ISCSI实现磁盘网络共享以及LVM方式共享拓展_第3张图片

[root@server ~]# vim /etc/target/saveconfig.json   ##此文件查看上述的配置

防火墙永久添加端口3260服务

[root@server ~]# firewall-cmd --add-port=3260/tcp --permanent

[root@server ~]# firewall-cmd --reload   


客户端:

[root@client ~]# yum install iscsi-initiator-utils.x86_64 -y   ##安装服务

[root@client ~]# systemctl start iscsi  

[root@client ~]# vim /etc/iscsi/initiatorname.iscsi

 InitiatorName=iqn.2017-12.com.example:redhatkey

[root@client ~]# systemctl restart iscsi

[root@client ~]# iscsiadm -m discovery -t st -p 172.25.254.120

## -m discovery 表示:使用检测的方式进行iscsiadmin命令功能; -t  st表示:st类型; -p 172.25.254.120 (-p  IP:port)表示:从ip为172.25.254.120主机获取iscsi设备与端口,不写端口就是默认是3260  

[root@client ~]# iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.120 -l

## -m node 表示:找到目前本机上面所有检测的target信息;-T iqn.2017-12.com.example:storage1 表示:仅使用后面接的这台target; -p 172.25.254.120 (-p  IP:port)表示:从ip为172.25.254.120主机获取iscsi设备与端口,不写端口就是默认是3260;-l表示:login,就是进行登陆  

[root@client ~]# fdisk -l     ##可以看到,磁盘已经共享,能够正常使用。


[root@client ~]# fdisk /dev/sda     

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): 1

First sector (8192-10485759, default 8192):

Using default value 8192

Last sector, +sectors or +size{K,M,G} (8192-10485759, default 10485759):

Using default value 10485759

Partition 1 of type Linux and of size 5 GiB is set

[root@client ~]# partprobe                         ##同步分区表

[root@client ~]# mkfs.xfs /dev/sda1          ##格式化

[root@client ~]# mount /dev/sda1 /mnt/  ##挂载使用

永久挂载:

[root@client ~]# vim /etc/fstab  

UUID=5bfa217e-7687-443b-ba54-0cbeb39c77e4     /mnt   xfs    defaults,_netdev   0  0   

_netdev  注明此为网络磁盘,应在网络启动后再挂载之

UUID     防止名称漂移,以此稳定挂载

[root@client ~]# blkid      ##查看UUID


测试:

ISCSI实现磁盘网络共享以及LVM方式共享拓展_第4张图片


二、删除网络磁盘:

客户端:(取消挂载,退出,删除,重启服务)

取消挂载

[root@client ~]# vim /etc/fstab  ##永久挂载的代码,取消永久挂载

[root@client ~]# umount /mnt/  ##取消当前挂载

退出登陆

[root@client ~]# iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.120 -u

[root@client ~]# systemctl restart iscsi

[root@client ~]# fdisk -l

重启服务后,但是网络硬盘还是存在。。。


解决方法如下:

先退出:

[root@client ~]# iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.120 -u

再删除之(-o delete)

[root@client ~]# iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.120 -o delete

[root@client ~]# systemctl restart iscsi

[root@client ~]# fdisk -l

此时重启服务网络硬盘已经不存在,则删除成功


对于服务器端:(清除共享

[root@server ~]# targetcli

/>clearconfig confirm=true

/> exit


三、服务器新建LVM可拓展共享磁盘

(一)服务新建可拓展共享磁盘,客户端挂载

对于服务端:

[root@server ~]# fdisk /dev/vdb   

Command (m for help): n    ##增加一个分区

Partition type:

   p   primary (0 primary, 0 extended, 3 free)

   e   extended

Select (default p):

Using default response p

Partition number (1-4, default 2): 1

First sector (2099200-20971519, default 2099200):

Using default value 2099200

Last sector, +sectors or +size{K,M,G} (2099200-20971519, default 20971519): +1G

Partition 1 of type Linux and of size 1 GiB is set

 

Command (m for help): t      ##修改分区标签为LVM

Hex code (type L to list all codes): 8e

Changed type of partition 'Linux' to 'Linux LVM'


Command (m for help): wq

The partition table has been altered!

[root@server ~]# partprobe    ##同步分区表

[root@server ~]# targetcli      ##重新配置

/> /backstores/block create westos:storage1 /dev/iscsi_vg/iscsi_lv0

/> /iscsi create iqn.2017-12.com.example:storage1

/> /iscsi/iqn.2017-12.com.example:storage1/tpg1/acls create iqn.2017-12.com.example:key1

/> /iscsi/iqn.2017-12.com.example:storage1/tpg1/luns create /backstores/block/westos:storage1

/> /iscsi/iqn.2017-12.com.example:storage1/tpg1/portals create 172.25.254.120

/> exit

[root@server ~]# systemctl restart iscsi

[root@server ~]# firewall-cmd --add-port=3260/tcp --permanent

[root@server ~]# firewall-cmd --reload  


客户端由于数据残馀可能出现的错误:

[root@client ~]# vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2017-12.com.example:key1

[root@client ~]# iscsiadm -m discovery -t st -p 172.25.254.120

[root@client ~]# iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.120 -l    ##可能出现如下错误:

ISCSI实现磁盘网络共享以及LVM方式共享拓展_第5张图片

解决方法:

[root@client ~]# yum install tree

[root@client ~]# tree /var/lib/iscsi/

ISCSI实现磁盘网络共享以及LVM方式共享拓展_第6张图片

删除残馀数据

[root@client ~]# rm -fr /var/lib/iscsi/nodes/*   

[root@client ~]# rm -fr /var/lib/iscsi/send_targets/*

[root@client ~]# tree /var/lib/iscsi/        ##清空后如下图

ISCSI实现磁盘网络共享以及LVM方式共享拓展_第7张图片

[root@client ~]# systemctl restart iscsid

[root@client ~]# systemctl restart iscsi

[root@client ~]# iscsiadm -m discovery -t st -p 172.25.254.120

[root@client ~]# iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.120 -l     ##如下,则成功登陆


[root@client ~]# fdisk -l 

ISCSI实现磁盘网络共享以及LVM方式共享拓展_第8张图片

(二)服务器进行共享磁盘扩展后,客户端继续使用

在服务器:

[root@server ~]# fdisk /dev/vdb

Command (m for help): n

Partition type:

   p   primary (1 primary, 0 extended, 3 free)

   e   extended

Select (default p): p

Partition number (2-4, default 2): 2

First sector (2099200-20971519, default 2099200):

Using default value 2099200

Last sector, +sectors or +size{K,M,G} (2099200-20971519, default 20971519): +1G

Partition 2 of type Linux and of size 1 GiB is set

 

Command (m for help): t

Partition number (1,2, default 2): 2

Hex code (type L to list all codes): 8e

Changed type of partition 'Linux' to 'Linux LVM'


Command (m for help): p


[root@server ~]#partprobe

[root@server ~]#pvcreate /dev/vdb2

[root@server ~]#vgextend iscsi_vg /dev/vdb2

[root@server ~]#lvextend -L 1500M /dev/iscsi_vg/iscsi_lv0

[root@server ~]# lvs       ##查看


在客户端:

[root@client ~]# iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.120 -u   ##先退出

[root@client ~]# iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.120 -l    ##再登陆

[root@client ~]# fdisk -l    ##查看共享磁盘已经成功拓展


你可能感兴趣的:(Linux系统,Linux服务器)