设置iSCSI的发起程序(客户端)(三)
iSCSI 发起程序是一种用于同 iSCSI 目标器认证并访问服务器上共享的LUN的客户端。我们可以在本地挂载的硬盘上部署任何操作系统,只需要安装一个包来与目标器验证。
初始器客户端设置
功能
- 可以处理本地挂载磁盘上的任意文件系统
- 在使用fdisk命令分区后不需要重启系统
前置阅读
我的客户端设置
- 操作系统 – CentOS 6.5 (Final)
- iSCSI 目标器 IP – 192.168.0.50
- 使用的端口 : TCP 3260
警告:永远不要在LUN还挂载在客户端(发起程序)时停止服务。
客户端设置
1. 在客户端,我们需要安装包‘iSCSI-initiator-utils’,用下面的命令搜索包。
- # yum search iscsi
示例输出
- ============================= N/S Matched: iscsi ================================
- iscsi-initiator-utils.x86_64 : iSCSI daemon and utility programs
- iscsi-initiator-utils-devel.x86_64 :Development files for iscsi-initiator-utils
2. 找到了包,就用下面的yum命令安装初始化包。
- # yum install iscsi-initiator-utils.x86_64
3. 安装完毕后,我们需要发现目标器上的共享。客户端的命令有点难记,因此我们使用man找到需要运行的命令列表。
- # man iscsiadm
man iscsiadm
4. 按下SHIFT+G 进入man页的底部并且稍微向上滚动找到示例的登录命令。下面的发现命令中,需要用我们的服务器IP地址来替换。
- # iscsiadm --mode discoverydb --type sendtargets --portal 192.168.0.200 --discover
5. 这里我们从下面的命令输出中找到了iSCSI的限定名(iqn)。
- 192.168.0.200:3260,1 iqn.2014-07.com.tecmint:tgt1
发现服务器
6. 要登录就用下面的命令来连接一台LUN到我们本地系统中,这会与服务器验证并允许我们登录LUN。
- # iscsiadm --mode node --targetname iqn.2014-07.com.tecmint:tgt1 --portal 192.168.0.200:3260 --login
登录到服务器
注意:登出使用登录命令并在命令的最后使用logout来替换。
- # iscsiadm --mode node --targetname iqn.2014-07.com.tecmint:tgt1 --portal 192.168.0.200:3260 --logout
登出服务器
7. 登录服务器后,使用下面的命令列出节点的记录行。
- # iscsiadm --mode node
列出节点
8. 显示特定节点的所有数据
- # iscsiadm --mode node --targetname iqn.2014-07.com.tecmint:tgt1 --portal 192.168.0.200:3260
示例输出
- # BEGIN RECORD 6.2.0-873.10.el6
- node.name = iqn.2014-07.com.tecmint:tgt1
- node.tpgt =1
- node.startup = automatic
- node.leading_login =No
- iface.hwaddress =<empty>
- iface.ipaddress =<empty>
- iface.iscsi_ifacename =default
- iface.net_ifacename =<empty>
- iface.transport_name = tcp
- iface.initiatorname =<empty>
- iface.bootproto =<empty>
- iface.subnet_mask =<empty>
- iface.gateway =<empty>
- iface.ipv6_autocfg =<empty>
- iface.linklocal_autocfg =<empty>
- ....
9. 接着列出使用的磁盘,fdisk会列出所有的登录认证过的磁盘。
- # fdisk -l /dev/sda
列出磁盘
10. 运行fdisk命令来创建一个新的分区
- # fdisk -cu /dev/sda
创建新分区
注意:在使用fdisk创建新分区之后,我们无需重启,就像使用我们本地的文件系统一样就行。因为这个将远程共享存储挂载到本地了。
11. 格式化新创建的分区
- # mkfs.ext4 /dev/sda1
格式化新分区
12. 创建一个目录来挂载新创建的分区
- # mkdir /mnt/iscsi_share
- # mount /dev/sda1 /mnt/iscsi_share/
- # ls -l /mnt/iscsi_share/
挂载新分区
13. 列出挂载点
- # df -Th
- -T – 输出文件系统类型
- -h – 以易读的方式显示大小
列出新分区
14. 如果需要永久挂载,使用fdtab文件
- # vim /etc/fstab
15.在fstab后追加下面行
- /dev/sda1 /mnt/iscsi_share/ ext4 defaults,_netdev 00
注意: 在fdtab中使用_netdev,说明这是一个网络设备。
自动挂载分区
16. 最后检查我们fstab文件是否有错误。
- # mount -av
- -a – 所有挂载点
- -v – 冗余模式
验证fstab文件
我们已经成功完成了我们的客户端配置。现在让我们像本地磁盘一样使用它吧。
设置iSCSI的发起程序(客户端)(三)的更多相关文章
- Creating Dialogbased Windows Application (3) / 创建基于对话框的Windows应用程序(三)Checkbox的应用、窗体置顶、设置图标 / VC++, Windows
创建基于对话框的Windows应用程序(三) —— Checkbox的应用.窗体置顶.设置图标 上一节创建的窗体应用程序中,我们用到了Button和StaticText这两个控件.这一节中我们将学习使 ...
- SharePoint使用BCS开发你第一个应用程序(三)
SharePoint使用BCS开发你第一个应用程序(三) 创建外部内容类型. 创建外部内容类型有三种不同方式: 1. 在记事本上手写XML代码(不推荐). 2. 使用SharePoin ...
- 微信小程序把玩(三)tabBar底部导航
原文:微信小程序把玩(三)tabBar底部导航 tabBar相对而言用的还是比较多的,但是用起来并没有难,在app.json中配置下tabBar即可,注意tabBar至少需要两个最多五个Item选项 ...
- Tomcat部署发布JSP应用程序的三种方法 (转)
Tomcat部署发布JSP应用程序的三种方法 1.直接放到Webapps目录下 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应 ...
- Spring MVC 程序首页的设置 - 一号门-程序员的工作,程序员的生活(java,python,delphi实战)
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- 20171018 微信小程序客户端数据和服务器交互
-- 时常在想,怎么样才能把知识写的清晰,其实是我理解的不够清晰 微信小程序其实是一个客户端页面,也是需要和服务器交互才能体现数据. 1 --服务器搭建Web API :MVC4 中的一个模板, 如下 ...
- Linux上设置开机启动Java程序
在Linux上设置开机启动Java程序,例如:test.jar 在Linux上启动Java程序的命令: nohup java -jar test.jar >/dev/>& & ...
- (转载)Recyclerview | Intent与Bundle在传值上的区别 | 设置布局背景为白色的三种方法
用Recyclerview实现列表分组.下拉刷新以及上拉加载更多 http://www.jianshu.com/p/be62ce21ea57 Intent与Bundle在传值上的区别http://b ...
- Linux 下用 crontab 设置定时执行python 程序
Linux 下用 crontab 设置定时执行python 程序 方法/步骤 1,先大概了解crontab,/etc/crontab 就是crontab 的配置文件. crontab命令详解可以查 ...
随机推荐
- 【EasyNetQ】- 发布确认
默认的AMQP发布不是事务性的,并不保证您的消息实际到达代理.AMQP确实指定了事务发布,但是使用RabbitMQ它非常慢,我们还没有通过EasyNetQ API支持它.对于高性能保证交付,建议您使用 ...
- Java中break和continue的区别
continue,继续下一个循环的运算, break,跳出循环
- Delphi函数详解:全局函数,内部函数,类的成员函数,类的静态方法
1. Delphi中的全局函数 //要点: 需要给其他单元调用, 必须在 interface 声明, 但必须在 uses 区后面 unit Unit1; interface uses Window ...
- HTML5表单提交与PHP环境搭建
PHP服务器使用xampp集成套件 路径 D:\xampp\htdocs\MyServer\index.php 访问 http://localhost/MyServer/index.php 能够正常显 ...
- Socket常见错误代码与描述
最近程序 出现 几次 Socket 错误, 为了便于 差错.. 搜了一些 贴在这里.. 出现网络联机错误Socket error #11001表示您的计算机无法连上服务器,请检查您的Proxy设定以及 ...
- 你试过不用if写代码吗?
我在教新手编程时,喜欢给他们一些小小的挑战,比如:不使用if语句(或者三元运算符.switch语句等)解决一些编程问题.这样做有什么意义吗?事实上,它可以迫使你从不同的角度寻找解决方法,也许可以找到更 ...
- 部分经典IT书籍
部分经典IT书籍 [系统,网路管理]1) Learning the Unix Operating System 1565923901 O'reilly/1997-4ed ***强力推荐给想入门unix ...
- loj2540 「PKUWC 2018」随机算法
pkusc 快到了--做点题涨涨 rp. 记 \(f(S,i)\) 表示 \(S\) 这个集合是决计不能选的(要么属于独立集,要么和独立集相连),或称已经考虑了的,\(i\) 表示此集合对应的最大独立 ...
- SCOI 股票交易 单调队列优化dp
这道题 我很蒙.....首先依照搞单调队列优化dp的一般思路 先写出状态转移方程 在想法子去优化 这个题目中说道w就是这一天要是进行操作就是从前w-1天转移而来因为之前的w天不允许有操作!就是与这些天 ...
- jQuery.getJSON跨域访问的正确使用方式(史上最傻瓜式解释)
最近花了2天时间完整的看了一遍 jQuery 的API,其中 $.getJSON(url[, data][, callback]) 方法的跨域访问解释真心看的一头雾水,大家可以从这里感受一下: htt ...