Tag Archives: iscsi

ubuntu作ISCSI 存储提供者

假设你已经安装了ubuntu server 12.04,并且你有个专门的分区是空的, 假如是/dev/sdb1

最小软件安装

sudo apt-get install iscsitarget iscsitarget-source iscsitarget-dkms

启用

sudo vi /etc/default/iscsitarget

 

ISCSITARGET_ENABLE=true

在文件vi /etc/iet/ietd.conf最后加入

Target iqn.2012-05.local.mynet:storage.sys0
        Lun 0 Path=/dev/sda3,Type=fileio,ScsiId=lun0,ScsiSN=lun0

重启服务

sudo service iscsitarget restart 

参考文章http://php-yhjhoo.rhcloud.com/archives/822.html测试

在ubuntu 12.04上安装GFS2

文章假设你已经准备了一下环境

  1. 两个ubuntu server(虚拟机也可以)
  2. ISCSI target,并且你已经可以连接, 参考http://php-yhjhoo.rhcloud.com/archives/822.html

假设你的两个服务器的ip地址是

ubuntu1 192.168.56.101
ubuntu2 192.168.56.102

把这些配置加入到两个服务器的hosts 文件里面

在每个机器上安装

sudo apt-get install pacemaker cman resource-agents fence-agents gfs2-utils gfs2-cluster

在每个机器上创建文件/etc/cluster/cluster.conf

<?xml version="1.0" ?>
<cluster config_version="1" name="cluster">
        <fence_daemon clean_start="0"  post_fail_delay="0" post_join_delay="3"/>
        <clusternodes>
                <clusternode name="ubuntu1" nodeid="1" votes="1">
                        <method name="human">
                          <device name="human" nodename="ubuntu1"/>
                        </method>
                </clusternode>
                <clusternode name="ubuntu2" nodeid="2" votes="1">
                        <method name="human">
                          <device name="human" nodename="ubuntu2"/>
                        </method>
                </clusternode>
        </clusternodes>
        <cman expected_votes="1" two_node="1"/>
        <fencedevices>
                <fencedevice agent="fence_manual" name="human"/>
        </fencedevices>
</cluster>

在每个机器上连接ISCSI存储

sudo iscsiadm --mode node --targetname iqn.2012-05.local.mynet:storage.sys0 --portal 10.188.16.155:3260 --login

创建文件系统(只需要在其中一架就可以了)

sudo mkfs.gfs2 -t cluster:gfs1 -p lock_dlm -j 2 /dev/sdb1

在每个机器上挂载磁盘

sudo mount -t gfs2 /dev/sdb1 /share

倒这里就可以了,试下在/share里面创建一些文件或者目录,看看在另外一个系统里面能不能看到

参考文章
https://wiki.ubuntu.com/ClusterStack/Precise
http://www.piemontewireless.net/Storage_on_Cluster_DRBD_and_GFS2
https://access.redhat.com/site/documentation/zh-CN/Red_Hat_Enterprise_Linux/6/html/Global_File_System_2/ch-overview-GFS2.html

ISCSI Initiator in ubuntu 12.04

Windows the ISCSI Initiator 图形界面很好用,linux虽然没有图形界面,但是也是不难用。

本文假设你已经有了ISCSI target, 并且假设IP地址是10.188.16.155

首先确定你的防火墙没有阻挡3260端口,在你的客户机上执行

telnet 10.188.16.155 3260
Trying 10.188.16.155...
Connected to 10.188.16.155.
Escape character is '^]'.

安装ISCSI Initiator 

sudo apt-get install open-iscsi

更改配置开机启动 /etc/iscsi/iscsid.conf

node.startup = automatic

检查可访问性

sudo iscsiadm -m discovery -t st -p 10.188.16.155
[sudo] password for yhjhoo: 
10.0.3.1:3260,1 iqn.2012-05.local.mynet:storage.sys0
192.168.122.1:3260,1 iqn.2012-05.local.mynet:storage.sys0
10.188.16.155:3260,1 iqn.2012-05.local.mynet:storage.sys0

fdisk 检查现在的系统磁盘

sudo fdisk -l

登入

sudo iscsiadm --mode node --targetname iqn.2012-05.local.mynet:storage.sys0 --portal 10.188.16.155:3260 --login

fdisk 检查现在的系统磁盘

sudo fdisk -l

你会发现多了磁盘,怎么才能访问呢?

mkfs.ext4 /dev/sdb1

mount /dev/sdb1 /mnt

注意 /dev/sdb1 要换成你在fdisk 中发现的那个新的

参考资料https://help.ubuntu.com/12.04/serverguide/iscsi-initiator.html

iscsiadm: can not connect to iSCSI daemon

ubuntu在连接ISCSI target出现以下错误

iscsiadm: can not connect to iSCSI daemon (111)!
iscsiadm: Could not scan /sys/class/iscsi_transport.
iscsiadm: Could not scan /sys/class/iscsi_transport.
iscsiadm: can not connect to iSCSI daemon (111)!
iscsiadm: Cannot perform discovery. Initiatorname required.
iscsiadm: Discovery process to 10.188.16.155:3260 failed to create a discovery session.
iscsiadm: Could not perform SendTargets discovery.

原因是因为没有安装iCSCI daemon

sudo apt-get install open-iscsi