iSCSI 发起程序是一种用于同 iSCSI 目标器认证并访问服务器上共享的LUN的客户端。我们可以在本地挂载的硬盘上部署任何操作系统,只需要安装一个包来与目标器验证。

初始器客户端设置

功能

  • 可以处理本地挂载磁盘上的任意文件系统
  • 在使用fdisk命令分区后不需要重启系统

前置阅读

我的客户端设置

  • 操作系统 – CentOS 6.5 (Final)
  • iSCSI 目标器 IP – 192.168.0.50
  • 使用的端口 : TCP 3260

警告:永远不要在LUN还挂载在客户端(发起程序)时停止服务。

客户端设置

1. 在客户端,我们需要安装包‘iSCSI-initiator-utils’,用下面的命令搜索包。

  1. # yum search iscsi

示例输出

  1. ============================= N/S Matched: iscsi ================================
  2. iscsi-initiator-utils.x86_64 : iSCSI daemon and utility programs
  3. iscsi-initiator-utils-devel.x86_64 :Development files for iscsi-initiator-utils

2. 找到了包,就用下面的yum命令安装初始化包。

  1. # yum install iscsi-initiator-utils.x86_64

3. 安装完毕后,我们需要发现目标器上的共享。客户端的命令有点难记,因此我们使用man找到需要运行的命令列表。

  1. # man iscsiadm

man iscsiadm

4. 按下SHIFT+G 进入man页的底部并且稍微向上滚动找到示例的登录命令。下面的发现命令中,需要用我们的服务器IP地址来替换。

  1. # iscsiadm --mode discoverydb --type sendtargets --portal 192.168.0.200 --discover

5. 这里我们从下面的命令输出中找到了iSCSI的限定名(iqn)。

  1. 192.168.0.200:3260,1 iqn.2014-07.com.tecmint:tgt1

发现服务器

6. 要登录就用下面的命令来连接一台LUN到我们本地系统中,这会与服务器验证并允许我们登录LUN。

  1. # iscsiadm --mode node --targetname iqn.2014-07.com.tecmint:tgt1 --portal 192.168.0.200:3260 --login

登录到服务器

注意:登出使用登录命令并在命令的最后使用logout来替换。

  1. # iscsiadm --mode node --targetname iqn.2014-07.com.tecmint:tgt1 --portal 192.168.0.200:3260 --logout

登出服务器

7. 登录服务器后,使用下面的命令列出节点的记录行。

  1. # iscsiadm --mode node

列出节点

8. 显示特定节点的所有数据

  1. # iscsiadm --mode node --targetname iqn.2014-07.com.tecmint:tgt1 --portal 192.168.0.200:3260

示例输出

  1. # BEGIN RECORD 6.2.0-873.10.el6
  2. node.name = iqn.2014-07.com.tecmint:tgt1
  3. node.tpgt =1
  4. node.startup = automatic
  5. node.leading_login =No
  6. iface.hwaddress =<empty>
  7. iface.ipaddress =<empty>
  8. iface.iscsi_ifacename =default
  9. iface.net_ifacename =<empty>
  10. iface.transport_name = tcp
  11. iface.initiatorname =<empty>
  12. iface.bootproto =<empty>
  13. iface.subnet_mask =<empty>
  14. iface.gateway =<empty>
  15. iface.ipv6_autocfg =<empty>
  16. iface.linklocal_autocfg =<empty>
  17. ....

9. 接着列出使用的磁盘,fdisk会列出所有的登录认证过的磁盘。

  1. # fdisk -l /dev/sda

列出磁盘

10. 运行fdisk命令来创建一个新的分区

  1. # fdisk -cu /dev/sda

创建新分区

注意:在使用fdisk创建新分区之后,我们无需重启,就像使用我们本地的文件系统一样就行。因为这个将远程共享存储挂载到本地了。

11. 格式化新创建的分区

  1. # mkfs.ext4 /dev/sda1

格式化新分区

12. 创建一个目录来挂载新创建的分区

  1. # mkdir /mnt/iscsi_share
  2. # mount /dev/sda1 /mnt/iscsi_share/
  3. # ls -l /mnt/iscsi_share/

挂载新分区

13. 列出挂载点

  1. # df -Th
  • -T – 输出文件系统类型
  • -h – 以易读的方式显示大小

列出新分区

14. 如果需要永久挂载,使用fdtab文件

  1. # vim /etc/fstab

15.在fstab后追加下面行

  1. /dev/sda1 /mnt/iscsi_share/ ext4 defaults,_netdev 00

注意: 在fdtab中使用_netdev,说明这是一个网络设备。

自动挂载分区

16. 最后检查我们fstab文件是否有错误。

  1. # mount -av
  • -a – 所有挂载点
  • -v – 冗余模式

验证fstab文件

我们已经成功完成了我们的客户端配置。现在让我们像本地磁盘一样使用它吧。

设置iSCSI的发起程序(客户端)(三)的更多相关文章

  1. Creating Dialogbased Windows Application (3) / 创建基于对话框的Windows应用程序(三)Checkbox的应用、窗体置顶、设置图标 / VC++, Windows

    创建基于对话框的Windows应用程序(三) —— Checkbox的应用.窗体置顶.设置图标 上一节创建的窗体应用程序中,我们用到了Button和StaticText这两个控件.这一节中我们将学习使 ...

  2. SharePoint使用BCS开发你第一个应用程序(三)

    SharePoint使用BCS开发你第一个应用程序(三) 创建外部内容类型.         创建外部内容类型有三种不同方式: 1. 在记事本上手写XML代码(不推荐). 2. 使用SharePoin ...

  3. 微信小程序把玩(三)tabBar底部导航

    原文:微信小程序把玩(三)tabBar底部导航 tabBar相对而言用的还是比较多的,但是用起来并没有难,在app.json中配置下tabBar即可,注意tabBar至少需要两个最多五个Item选项 ...

  4. Tomcat部署发布JSP应用程序的三种方法 (转)

    Tomcat部署发布JSP应用程序的三种方法     1.直接放到Webapps目录下      Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应 ...

  5. Spring MVC 程序首页的设置 - 一号门-程序员的工作,程序员的生活(java,python,delphi实战)

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  6. 20171018 微信小程序客户端数据和服务器交互

    -- 时常在想,怎么样才能把知识写的清晰,其实是我理解的不够清晰 微信小程序其实是一个客户端页面,也是需要和服务器交互才能体现数据. 1 --服务器搭建Web API :MVC4 中的一个模板, 如下 ...

  7. Linux上设置开机启动Java程序

    在Linux上设置开机启动Java程序,例如:test.jar 在Linux上启动Java程序的命令: nohup java -jar test.jar >/dev/>& & ...

  8. (转载)Recyclerview | Intent与Bundle在传值上的区别 | 设置布局背景为白色的三种方法

    用Recyclerview实现列表分组.下拉刷新以及上拉加载更多  http://www.jianshu.com/p/be62ce21ea57 Intent与Bundle在传值上的区别http://b ...

  9. Linux 下用 crontab 设置定时执行python 程序

    Linux 下用 crontab 设置定时执行python 程序 方法/步骤   1,先大概了解crontab,/etc/crontab 就是crontab 的配置文件. crontab命令详解可以查 ...

随机推荐

  1. 【EasyNetQ】- 发布确认

    默认的AMQP发布不是事务性的,并不保证您的消息实际到达代理.AMQP确实指定了事务发布,但是使用RabbitMQ它非常慢,我们还没有通过EasyNetQ API支持它.对于高性能保证交付,建议您使用 ...

  2. Java中break和continue的区别

    continue,继续下一个循环的运算, break,跳出循环

  3. Delphi函数详解:全局函数,内部函数,类的成员函数,类的静态方法

    1. Delphi中的全局函数 //要点: 需要给其他单元调用, 必须在 interface 声明, 但必须在 uses 区后面 unit Unit1; interface uses   Window ...

  4. HTML5表单提交与PHP环境搭建

    PHP服务器使用xampp集成套件 路径 D:\xampp\htdocs\MyServer\index.php 访问 http://localhost/MyServer/index.php 能够正常显 ...

  5. Socket常见错误代码与描述

    最近程序 出现 几次 Socket 错误, 为了便于 差错.. 搜了一些 贴在这里.. 出现网络联机错误Socket error #11001表示您的计算机无法连上服务器,请检查您的Proxy设定以及 ...

  6. 你试过不用if写代码吗?

    我在教新手编程时,喜欢给他们一些小小的挑战,比如:不使用if语句(或者三元运算符.switch语句等)解决一些编程问题.这样做有什么意义吗?事实上,它可以迫使你从不同的角度寻找解决方法,也许可以找到更 ...

  7. 部分经典IT书籍

    部分经典IT书籍 [系统,网路管理]1) Learning the Unix Operating System 1565923901 O'reilly/1997-4ed ***强力推荐给想入门unix ...

  8. loj2540 「PKUWC 2018」随机算法

    pkusc 快到了--做点题涨涨 rp. 记 \(f(S,i)\) 表示 \(S\) 这个集合是决计不能选的(要么属于独立集,要么和独立集相连),或称已经考虑了的,\(i\) 表示此集合对应的最大独立 ...

  9. SCOI 股票交易 单调队列优化dp

    这道题 我很蒙.....首先依照搞单调队列优化dp的一般思路 先写出状态转移方程 在想法子去优化 这个题目中说道w就是这一天要是进行操作就是从前w-1天转移而来因为之前的w天不允许有操作!就是与这些天 ...

  10. jQuery.getJSON跨域访问的正确使用方式(史上最傻瓜式解释)

    最近花了2天时间完整的看了一遍 jQuery 的API,其中 $.getJSON(url[, data][, callback]) 方法的跨域访问解释真心看的一头雾水,大家可以从这里感受一下: htt ...