之前介绍过网络文件共享系统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. Layui 是一款采用自身模块规范编写的国产前端UI框架(5600个Star)

    采用自身模块规范编写的前端UI框架,遵循原生HTML/CSS/JS的书写形式,极低门槛,拿来即用. http://www.layui.com Layui 是一款采用自身模块规范编写的国产前端UI框架, ...

  2. 剖析Unreal Engine超真实人类的渲染技术Part 1 - 概述和皮肤渲染

    一.概述 1.1 数字人类的概要 数字人类(Digital Human)是利用计算机模拟真实人类的一种综合性的渲染技术.也被称为虚拟人类.超真实人类.照片级人类. 它是一种技术和艺术相结合的综合性模拟 ...

  3. JavaWEB路径总结

    这篇文章是小编一直想写的一篇,主要是对web阶段中各个路径进行的一些总结,希望读者看过之后对于路径方面有一个清晰的认识.首先声明一点:世界上一切东西都是相对的,对于这点而言,相信大家并不陌生,从初中开 ...

  4. C++程序设计1(侯捷video 7-13)

     一.Big three(拷贝构造.拷贝赋值.析构函数)(video7) Big three指三个特殊函数,分别是拷贝构造函数.拷贝赋值和析构函数. 什么时候需要拷贝构造.拷贝赋值.析构函数: 当类中 ...

  5. 【前端工具】页面加载获取url param

    例如跳转进入一个页面: https://mp.csdn.net/postedit/74766644?name=catalina&flag=1 函数: function getParam(par ...

  6. node.js中模块,require

    在php,C++中都有命名空间的概念,命名空间主要是用来解决引入文件存在函数,类,变量重名的问题,在node.js中,没有命名空间这么复杂的概念,在node中,有模块的概念,也就是将功能性的代码都放在 ...

  7. java中关于IO流的知识总结(重点介绍文件流的使用)

    今天做软件构造实验一的时候,用到了java文件流的使用,因为之前学的不是很踏实,于是决定今天好好总结一下, 也方便以后的回顾. 首先,要分清IO流中的一些基础划分: 按照数据流的方向不同可以分为:输入 ...

  8. .Net之使用Jquery Ajax通过FormData对象异步提交图片文件到服务端保存并返回保存的图片路径

    前言: 首先对于图片上传而言,在我们的项目开发中可以说出现的频率是相当的高的.这篇文章中,我将要描述的是在我们.Net中如何使用Jquery Ajax通过FormData对象异步提交图片文件到后台保存 ...

  9. 《收获,不止SQL优化》读书笔记

    整体性能分析 AWR.ASH.ADDM.AWRDD 整体分析调优工具 AWR:关注数据库的整体性能的报告: ASH:数据库中的等待事件与哪些SQL具体对应的报告: ADDM:oracle给出的一些建议 ...

  10. python 基础学习笔记(1)

    声明:  本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...