之前介绍过网络文件共享系统NFS和CIFS。在系统中,设备也是可以共享的,这就是iSCSI,它可以用来建立和管理IP存储设备、主机和客户机等之间的相互连接。下文将简要介绍这种网络设备共享系统。
       1、安装

因为iSCSI是设备共享系统,所以在进行操作之间,需要先有一个硬盘设备。本文中是使用"fdisk /dev/vdb"来新建一个分区设备"/dev/vdb1"来作为共享设备。

"yum install targetcli -y"。服务端需要安装这个软件,来提供iSCSI服务。完成后关闭防火墙,开启服务并设置开机启动。

2、服务端配置

输入"targetcli"命令,进入下图界面,输入"ls"可以查看是否有配置。

现对共享设备"/dev/vdb1"进行配置,配置步骤如下所示:

a、"/backstores/block create we:storage1 /dev/vdb1"。建立一个基于"/dev/vdb1"的共享设备。

b、"/iscsi create iqn.2017-08.com.example:storage1"。建立一个"iscsi",名称为"iqn.2017-08.com.example:storage1",用于客户端连接。

c、"/iscsi/iqn.2017-08.com.example:storage1/tpg1/luns create /backstores/block/we:storage1"。将建立的"iscsi"与建立的共享设备"we:storage1"连接起来。

d、"/iscsi/iqn.2017-08.com.example:storage1/tpg1/acls create iqn.2017-08.com.example:storage1key"。生成一个加密密钥。

e、"/iscsi/iqn.2017-08.com.example:storage1/tpg1/portals create 172.25.254.202"。打开服务的端口。

完成后输入"exit"退出。服务端的配置就完成了。
       3、客户端配置
        在服务端配置完成后,就需要在客户端挂载这个设备,如若挂载成功,那么就实现了网络设备共享。在客户端还要做如下配置:

a、"yum install iscsi-initiator-utils.x86_64 -y"。这是客户端需要安装的软件。然后关闭防火墙,开启服务"iscsi"。

b、"vim /etc/iscsi/initiatorname.iscsi"。在这个文件中编写服务端中设置的加密密钥,输入"InitiatorName=iqn.2017-08.com.example:storage1key"。配置完成后需要"systemctl restart iscsi"重启服务。

c、"iscsiadm -m discovery -t -st -p 172.25.254.202"。查看"172.25.254.202"的主机即服务端共享了什么设备。

d、"iscsiadm -m node -T iqn.2017-08.com.example:storage1 -p 172.25.254.202 -l"。加载服务端共享的设备"iqn.2017-08.com.example:storage1"。

e、"fdisk -l"。可以看到设备里多了一个设备"/dev/sda"。

f、"fdisk /dev/sda"。对这个设备分区,完成后输入"mkfs.xfs /dev/sda1"来格式化设备。

上述步骤完成后,客户端就可以挂载这个设备"/dev/sda1"了。

4、共享设备的卸载与删除
       在共享设备使用完成后,为了不占用系统资源,需要对共享设备所做的配置进行删除。具体步骤如下所示:
       a、客户端的设备卸载
       "umount /mnt"。卸载挂载的共享设备。
       "iscsiadm -m node -T iqn.2017-08.com.example:storage1 -u"。卸载之前所加载的共享设备。

"iscsiadm -m node -T iqn.2017-08.com.example:storage1 -o delete"。删除这个共享设备。因为如果只是使用卸载命令,虽然使用"fdisk -l"看不到这个设备,但是如果重启"iscsi"服务,这个设备还会自动重新加载,所以需要删除这个设备。

b、服务端的配置删除
       "targetcli"。进入共享设备配置界面。

"clearconfig confirm=True"。输入此命令删除之前所做的所有设备共享配置。

完成客户端和服务端的步骤,网络共享设备"iSCSI"就被卸载与删除了。
       5、iSCSI与LVM
        之前的LVM篇中有过介绍,LVM适用于设备大小提前未知的情况,即可以扩大和压缩磁盘空间,其本质也是一个设备,所以也可以应用于iSCSI,使得共享设备在空间不够时可以实现空间扩大。

使用的方法和普通设备类似,先配置一个LVM设备"/dev/isvg/islv0"。

完成后按照上述iSCSI的服务端配置步骤对此设备进行共享配置。

服务端配置完成后,客户端的配置方式与普通设备相同,即对其进行查询,加载,完成后就可以通过"fdisk -l"看到这个设备"/dev/sda"了,大小为5364M。

但是在LVM的空间扩大中,服务端扩大空间后,客户端并不能自动刷新。如下图所示,将这个LVM设备扩大至"6000M",需要在客户端先输入命令"iscsiadm -m node -T iqn.2017-08.com.example:storage1 -u"卸载这个加载的设备,然后"systemctl restart iscsi"重启服务,重新使用"fdisk -l"就可以看到这个共享设备的空间成功扩大至6219M了。

linux初学者-iscsi篇的更多相关文章

  1. linux初学者-SElinux篇

    linux初学者-SElinux篇 SElinux是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统.对于linux安全模块来说,SElinux的功能是最全面的,测试也是最充分的, ...

  2. linux初学者-firewall篇

     linux初学者-firewall篇 firewalld是防火墙的另一种程序,与iptables相同,但是使用起来要比iptables简单的点,不需要了解3张表和5条链也可以使用. 1.firewa ...

  3. linux初学者-mail篇

     linux初学者-mail篇 邮件是在生活中比较常用的一个工具,在linux系统中的邮件也是.在linux中,邮件的发送所用的服务时postfix,邮件的接收所用的服务是pop(110端口).ima ...

  4. linux初学者-iptables篇

     linux初学者-iptables篇 iptables是防火墙的一种,是用来设置.维护和检查linux内核的IP过滤规则的,可以完成封包过滤.封包重定向和网络地址转换(NAT)等功能. iptabl ...

  5. linux初学者-Apache篇

     linux初学者-Apache篇          Apache提供了超文本传输协议http,httpd是Apache超文本传输协议的主服务器.下文将对httpd的安装和配置进行简单的叙述.     ...

  6. linux初学者-ftp篇(一)

    linux初学者-ftp篇(一) FTP是文件传输协议,是用于Internet上的控制文件的双向传输.用户可以通过客户机程序从远程主机上下载或者向远程主机上传文件. linux系统中,如果不了解SEL ...

  7. linux初学者-磁盘阵列篇

    linux初学者-磁盘阵列篇 在磁盘的使用中,有时候需要提高磁盘的读写数据速度,就要用到磁盘组——raid,也就是磁盘阵列. 磁盘阵列是由最少两块以上的磁盘组成的,raid有许多模式,在这里将介绍其中 ...

  8. linux初学者-进程篇

    linux初学者-进程篇 不管是windows还是linux,都有进程,那么什么是进程呢?进程就是cpu未完成的工作.下面会介绍一些关于系统中进程的查看以及管理的方法. 1.命令 1.1.命令使用 查 ...

  9. ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘

    本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...

随机推荐

  1. XP系統IIS最大連接數修改

    方法一: 安裝軟件 http://download.microsoft.com/download/iis50/Utility/5.0/NT45/EN-US/MtaEdt22.exe 然後進入  W3S ...

  2. 使用fastjson读取超巨json文件引起的GC问题

    项目中需要将巨量数据生成的json文件解析,并写入数据库,使用了 alibaba 的 fastjson,在实践过程中遇到了 GC 问题,记录如下: 数据大约为70万条,文件大小在3~4G左右,使用 f ...

  3. Spring源码解读之BeanFactoryPostProcessor的处理

    前言 前段时间旁听了某课堂两节Spring源码解析课,刚好最近自己又在重新学习中,便在这里记录一下学习所得.我之前写过一篇博文,是介绍BeanFactoryPostProcessor跟BeanPost ...

  4. Spark学习之路(四)—— RDD常用算子详解

    一.Transformation spark常用的Transformation算子如下表: Transformation算子 Meaning(含义) map(func) 对原RDD中每个元素运用 fu ...

  5. js 数组去重方法

    var arr = ['a',1,2,3,'a',4,2,3,1,4,2,8,10,null,'a']; // 方法一 var newArr = [...new Set(arr)]; console. ...

  6. java里字节与字符的区别

    当时学Java的时候没搞懂字节和字符的区别,今天看文件输入输出流的时候觉得是时候彻底把这两个概念弄懂. 首先得知道byte的概念和作用: byte即字节的意思,是java中的基本数据类型,用来申明字节 ...

  7. LNet代码分析

    源码版本:lustre-release 2.15.55 介绍 LNet是Lustre的网络模块,代码目录分为了lnet和lnd lnet提供了统一的接口 lnd封装了底层驱动,有socklnd(TCP ...

  8. C++ hdu 例题:不要62 题解

    例题:不要62 同步数位DP 需要统计区间[l,r]的满足题意的数的个数,这往往可以转换成求[0,r]-[0,l) 基本思想与方法 有了上述性质,我们就可以从高到低枚举第一次<n对应位是哪一位. ...

  9. 并发编程-concurrent指南-阻塞队列-链表阻塞队列LinkedBlockingQueue

    LinkedBlockingQueue是一个基于链表的阻塞队列. 由于LinkedBlockingQueue实现是线程安全的,实现了先进先出等特性,是作为生产者消费者的首选. LinkedBlocki ...

  10. 如何提高Sprint Review的质量?

    Sprint Review不是回顾,其目标是演示这个Sprint中自己的工作成果,参会人员包括设计师.开发人员和Product Owner.在Worktile,我们尽量保持Sprint评审会的轻松随意 ...