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. RunKit & NPM

    RunKit + NPM Try any Node.js package right in your browser https://npm.runkit.com/segmentit

  2. delphi如何模块内部获得自身路径ExtractFilePath和paramstr(0)

    如何模块内部获得自身路径?Exe程序:DLL程序: ExtractFilePath(Application.ExeName) GetCurrentDir TIniFile.Create(GetCurr ...

  3. 【bzoj1465/bzoj1045】糖果传递 数论

    题目描述 老师准备了一堆糖果, 恰好n个小朋友可以分到数目一样多的糖果. 老师要n个小朋友去拿糖果, 然后围着圆桌坐好, 第1个小朋友的左边是第n个小朋友, 其他第i个小朋友左边是第i-1个小朋友. ...

  4. C# 托盘图标闪烁

    在用户正在登录QQ或者使用Firemail邮件系统自动收取邮件的时候,托盘图标会闪动提示用户正在运行的任务.闪动图标可以使用定时切换托盘图标的方式实现,托盘图标可以从ImageList控件中获取.在I ...

  5. BZOJ4477 JSOI2015字符串树(可持久化trie)

    树上建可持久化trie即可,有点过于裸了.darkbzoj过了然而在bzoj一直wa,不知道哪有锅. #include<iostream> #include<cstdio> # ...

  6. Codeforces数据结构(水题)小结

    最近在使用codeblock,所以就先刷一些水题上上手 使用codeblock遇到的问题 1.无法进行编译-------从setting中的编译器设置中配置编译器 2.建立cpp后无法调试------ ...

  7. 【BZOJ 4514】[Sdoi2016]数字配对 费用流

    利用spfa流的性质,我直接拆两半,正解分奇偶(妙),而且判断是否整除且质数我用的是暴力根号,整洁判断质数个数差一(其他非spfa流怎么做?) #include <cstdio> #inc ...

  8. mootools框架里如何使用ajax

    ajax可通过直接写源码实现,但有点繁琐,现在流行的ajax框架都集成了ajax的功能,而且写起来非常简单方便.当然mootools也不例外.mootools是一个非常优秀的javascript的库, ...

  9. mybatis学习(七)——resultType解析

    resultType是sql映射文件中定义返回值类型,返回值有基本类型,对象类型,List类型,Map类型等.现总结一下再解释 总结: resultType: 1.基本类型  :resultType= ...

  10. Mybatis LIKE模糊查询

    1.在代码中拼接好字符串后传入进来 2.使用CONCAT在xml中拼接字符串: <if test="queryParam.keyword != null"> AND b ...