ubuntu(服务端)+windows(客户端)搭建iscsi

目录(?)[+]

需要实现多个客户端(windows平台)通过网线读写一个磁盘阵列,就是网络存储的概念


2016.3.3修正:ISCSI仅是一种协议,提供高速连接,要实现数据同步还需要相应的文件系统支持(GFS, OCFS2, DFS。。。)

Ubuntu下使用ISCSI+OCFS2实现网络存储及文件共享一文给出了具体配置方法


大概有3种实现方式:das,nas,san

看介绍似乎san的性能更强,san的一种实现是用光纤,一种是网线(ISCSI)

于是开始折腾ISCSI


1. Server端(iscsi的target端)

[python]  view plain  copy
  1. sudo apt-get install iscsitarget  


修改配置文件:

[python]  view plain  copy
  1. vi /etc/default/iscsitarget  
把ISCSITARGET_ENABLE的值改为true

[python]  view plain  copy
  1. vi /etc/iet/ietd.conf  
反注释Target项,其表示的是该服务端的名称,可修改

反注释Lun 0 修改Path的值为想要共享的磁盘(必须是磁盘!如/dev/sda1,其他的挂载名称是无效的


重启iscsi target就可以了!

[python]  view plain  copy
  1. sudo /etc/init.d/iscsitarget restart  

[python]  view plain  copy
  1. service iscsitarget restart  


P.S 有些教程还提到安装 open-iscsi,主要是为了给服务器添加用户名和密码。但这个似乎对windows客户机无效

[python]  view plain  copy
  1. sudo apt-get install open-iscsi  
修改文件/etc/iscsi/iscsid.conf

node.session.auth.username = dylan
node.session.auth.password = 123456
discovery.sendtargets.auth.username = dylan
discovery.sendtargets.auth.password = 123456


保存后重启服务

[python]  view plain  copy
  1. service open-iscsi restart  


2. 客户端(iscsi initiator端)

对于windows:

1,启用ISCSI后台服务
  开始菜单->控制面板->管理工具->服务->Microsoft iSCSI Initiator Service 服务,双击 选择启动按钮,启动类型选择自动 ,确定 退出。
  或是 开始菜单->控制面板->管理工具-> ISCSI发起程序 自动打开该服务。
2,配置ISCSI服务
  开始菜单->控制面板->管理工具-> ISCSI发起程序-> 发现->发现门户,添加ISCSI服务端IP,稍等就会在目标选项卡 ->已经发现目标列表中显示target名称;选择target后选择 连接
(同时选中 “将此连接添加到收藏目标列表”选项)
  如果服务端配置CHAP密码,则在配置选项卡中添加
3,在计算机管理程序中配置磁盘
  开始菜单->控制面板->管理工具->计算机管理->存储->磁盘管理;选择新增磁盘进行格式化并添加盘符使用,如果磁盘状态为脱机,在显示脱机字符处右击,选择联机。


对于ubuntu(未测试):

(1)安装open-scsi
      sudo  apt-get install open-iscsi open-iscsi-utils
(2)发现iscsi target
      sudo iscsiadm -m discovery -t sendtargets -p 192.168.35.17
       显示信息如下:
      192.168.35.17:3260,1 iqn.2013-02.node2
(3)使用target
      sudo iscsiadm -m node --targetname iqn.2013-02.node2 -p 192.168.35.17 --login
     执行上述操作后,就可在本地主机上多出一个/dev/sdx
(4)删除target
     sudo iscsiadm -m node --targetname iqn.2013-02.node2 -p 192.168.35.17 -u

相关参考:

[1] http://winterx.blog.51cto.com/2134435/1414574

[2] http://www.linuxidc.com/Linux/2010-03/25008.htm

[3] http://blog.csdn.net/wbryfl/article/details/7651563

[4] http://www.2cto.com/os/201302/188223.html

3. 问题

1)如果客户机上能成功连上,但没有新的磁盘出现,是path的配置有问题,不能用挂载点名字

2)测试发现文件读写无法同步:客户机上添加删除文件在另一台机器上看不到变化,反之也一样,需要重新连接才行

有人指出这是文件系统的问题,只有对共享磁盘应用集群文件系统才能实现同步

常见的集群文件系统分类一文总结了3种集群文件系统:GFS、OCFS2、Lustre

CentOS 5上iSCSI+GFS共享存储的实现iscsi+gfs给出了iscsi+gfs的配置实例,但GFS只能在Linux下使用,而这里的客户端是windows系统。。。。


然后查到了介绍windows server 2012部署iscsi的文章:windows server 2012 部署iSCSI虚拟存储Windows Server 2012之集成的ISCSI目标服务器

下一步只能试试这个了。。。

需要实现多个客户端(windows平台)通过网线读写一个磁盘阵列,就是网络存储的概念


2016.3.3修正:ISCSI仅是一种协议,提供高速连接,要实现数据同步还需要相应的文件系统支持(GFS, OCFS2, DFS。。。)

Ubuntu下使用ISCSI+OCFS2实现网络存储及文件共享一文给出了具体配置方法


大概有3种实现方式:das,nas,san

看介绍似乎san的性能更强,san的一种实现是用光纤,一种是网线(ISCSI)

于是开始折腾ISCSI


1. Server端(iscsi的target端)

[python]  view plain  copy
  1. sudo apt-get install iscsitarget  


修改配置文件:

[python]  view plain  copy
  1. vi /etc/default/iscsitarget  
把ISCSITARGET_ENABLE的值改为true

[python]  view plain  copy
  1. vi /etc/iet/ietd.conf  
反注释Target项,其表示的是该服务端的名称,可修改

反注释Lun 0 修改Path的值为想要共享的磁盘(必须是磁盘!如/dev/sda1,其他的挂载名称是无效的


重启iscsi target就可以了!

[python]  view plain  copy
  1. sudo /etc/init.d/iscsitarget restart  

[python]  view plain  copy
  1. service iscsitarget restart  


P.S 有些教程还提到安装 open-iscsi,主要是为了给服务器添加用户名和密码。但这个似乎对windows客户机无效

[python]  view plain  copy
  1. sudo apt-get install open-iscsi  
修改文件/etc/iscsi/iscsid.conf

node.session.auth.username = dylan
node.session.auth.password = 123456
discovery.sendtargets.auth.username = dylan
discovery.sendtargets.auth.password = 123456


保存后重启服务

[python]  view plain  copy
  1. service open-iscsi restart  


2. 客户端(iscsi initiator端)

对于windows:

1,启用ISCSI后台服务
  开始菜单->控制面板->管理工具->服务->Microsoft iSCSI Initiator Service 服务,双击 选择启动按钮,启动类型选择自动 ,确定 退出。
  或是 开始菜单->控制面板->管理工具-> ISCSI发起程序 自动打开该服务。
2,配置ISCSI服务
  开始菜单->控制面板->管理工具-> ISCSI发起程序-> 发现->发现门户,添加ISCSI服务端IP,稍等就会在目标选项卡 ->已经发现目标列表中显示target名称;选择target后选择 连接
(同时选中 “将此连接添加到收藏目标列表”选项)
  如果服务端配置CHAP密码,则在配置选项卡中添加
3,在计算机管理程序中配置磁盘
  开始菜单->控制面板->管理工具->计算机管理->存储->磁盘管理;选择新增磁盘进行格式化并添加盘符使用,如果磁盘状态为脱机,在显示脱机字符处右击,选择联机。


对于ubuntu(未测试):

(1)安装open-scsi
      sudo  apt-get install open-iscsi open-iscsi-utils
(2)发现iscsi target
      sudo iscsiadm -m discovery -t sendtargets -p 192.168.35.17
       显示信息如下:
      192.168.35.17:3260,1 iqn.2013-02.node2
(3)使用target
      sudo iscsiadm -m node --targetname iqn.2013-02.node2 -p 192.168.35.17 --login
     执行上述操作后,就可在本地主机上多出一个/dev/sdx
(4)删除target
     sudo iscsiadm -m node --targetname iqn.2013-02.node2 -p 192.168.35.17 -u

相关参考:

[1] http://winterx.blog.51cto.com/2134435/1414574

[2] http://www.linuxidc.com/Linux/2010-03/25008.htm

[3] http://blog.csdn.net/wbryfl/article/details/7651563

[4] http://www.2cto.com/os/201302/188223.html

3. 问题

1)如果客户机上能成功连上,但没有新的磁盘出现,是path的配置有问题,不能用挂载点名字

2)测试发现文件读写无法同步:客户机上添加删除文件在另一台机器上看不到变化,反之也一样,需要重新连接才行

有人指出这是文件系统的问题,只有对共享磁盘应用集群文件系统才能实现同步

常见的集群文件系统分类一文总结了3种集群文件系统:GFS、OCFS2、Lustre

CentOS 5上iSCSI+GFS共享存储的实现iscsi+gfs给出了iscsi+gfs的配置实例,但GFS只能在Linux下使用,而这里的客户端是windows系统。。。。


然后查到了介绍windows server 2012部署iscsi的文章:windows server 2012 部署iSCSI虚拟存储Windows Server 2012之集成的ISCSI目标服务器

下一步只能试试这个了。。。

猜你喜欢

转载自blog.csdn.net/fox_wayen/article/details/79327968