设为首页 收藏本站
查看: 3567|回复: 6

[经验分享] iscsi实现存储的多路经访问

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-9-12 09:17:10 | 显示全部楼层 |阅读模式

iSCSI实现存储的多路经访问



                    / eth0 ------- eth0 \

应用节点               iscsi

                    \ eth1 ------- eth1 /



应用节点:

      eth0       192.168.29.11

      eth1       192.168.89.11


iscsi

网卡1   192.168.29.1

网卡2   192.168.89.1


一、配置存储


本例子使用宿主机实现iscsi存储,导出一个target

# vim/etc/tgt/targets.conf

...

<target iqn.2013-01.com.upl:mysqldata>

   backing-store /dev/sda7

</target>



#service tgtd start



二、配置应用节点


实验前,把该应用节点之前发现过、登录过的target删除掉,免得影响实验

# iscsiadm -m node -o delete



1、给iscsi客户端建立两个不同的接口

# iscsiadm -m iface -I iface0 -o new

#iscsiadm -m iface -I iface1 -o new


给这两个接口分别绑定不同网络的物理网卡

# iscsiadm -m iface -I iface0 -n iface.net_ifacename -v eth0 -oupdate

#iscsiadm -m iface -I iface1 -n iface.net_ifacename -v eth1 -o update


作用:用于指导iscsi客户端分别使用不同的网卡去发现、登录targer(存储)


2、从不同的接口去发现存储

# iscsiadm -m discovery -t st -p 192.168.29.1 -I iface0

192.168.29.1:3260,1iqn.2013-01.com.upl:mysqldata


# iscsiadm -mdiscovery -t st -p 192.168.89.1 -I iface1

192.168.89.1:3260,1iqn.2013-01.com.upl:mysqldata


3、登录

#iscsiadm -m node -l


你会发现本机多了两个scsi硬盘

sda

sdb


执行

删除登录过的target
目的:下次启动iscsi服务的时候,不会自动登录这些target
       # iscsiadm -m node -u
       # iscsiadm -m node -o delete  (删除所有发现过的target)

4、配置多路经服务


原理:根据存储设备的vdp(产品关键数据)

             sda -----\

                    mpatha(默认生成的设备名字)

             sdb -----/


#yum install device-mapper-multipath -y


# cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/multipath.conf


启动服务

# service multipathd start


#ls /dev/mapper/mpatha*            我在此步失败 中不到原因

/dev/mapper/mpatha(硬盘) /dev/mapper/mpathap1(分区)


#multipath -ll            提示  DM multipath kernel driver not loaded 找不核驱动


mpatha (1IET     00010001) dm-2 IET,VIRTUAL-DISK (高可用模式)

size=2.0Gfeatures='0' hwhandler='0' wp=rw

|-+-policy='round-robin 0' prio=1 status=active

| `- 2:0:0:1 sda8:0   active ready running  (活动)

`-+-policy='round-robin 0' prio=1 status=enabled

`- 3:0:0:1 sdb 8:16  active ready running  (备用)


需要修改multipahtd.conf配置,实现负载均衡模式(两条链路同时使用)


# vim /etc/multipath.conf


defaults {

       udev_dir                /dev

       polling_interval        10

       # selector                "round-robin 0"  <---注释掉,语法错误的

       path_grouping_policy    multibus

       getuid_callout          "/lib/udev/scsi_id --whitelisted--device=/dev/%n"

       # prio                    alua

       path_checker            readsector0

       rr_min_io               100

       max_fds                 8192

       rr_weight               priorities

       failback                immediate

       no_path_retry           fail

       user_friendly_names     yes

}



multipaths {

       multipath {

               wwid                    "1IET     00010001"

               alias                   mysqldata  <---自定义多路经设备文件的名字

               path_grouping_policy    multibus

               # path_checker            readsector0  # 注释掉,语法错误

               path_selector           "round-robin 0"

               failback                manual

               rr_weight               priorities

               no_path_retry           5

       }


}


重新启动服务

#service multipathd restart

如果看不到多路经设备文件的信息,那么重新登录iscsi存储,就能触发硬件发现事件。

# service iscsi restart


# multipath -ll

mysqldata(1IET     00010001) dm-2 IET,VIRTUAL-DISK

size=2.0Gfeatures='0' hwhandler='0' wp=rw

`-+-policy='round-robin 0' prio=1 status=active (负载均衡模式)

|- 4:0:0:1 sda 8:0   active ready running

`- 5:0:0:1 sdb 8:16  active ready running


# ll/dev/mapper/mysqldata

mysqldata    mysqldatap1



实时挂载去验证多路经的特点:负载均衡的IO,链路故障

# mount -o sync/dev/mapper/mysqldatap1 /mnt





例子2:在共享存储上实现集群文件系统


本实验要求使用rhel5的操作系统


             node1           node2

              |-------|--------|

共享存储


必须做好的准备:

静态IP

      FQDN主机名

设定网关  @@@@

      hosts文件绑定集群节点的主机名(包括自己和其余节点)


node1.upl.com    192.168.89.11

node2.upl.com    192.168.89.12



设定yum源

[core-0]

name=core-0

baseurl=ftp://10.1.1.21/el5/Server

enabled=1

gpgcheck=0


[core-1]

name=core-1

baseurl=ftp://10.1.1.21/el5/VT

enabled=1

gpgcheck=0


[core-2]

name=core-2

baseurl=ftp://10.1.1.21/el5/ClusterStorage

enabled=1

gpgcheck=0


[core-3]

name=core-3

baseurl=ftp://10.1.1.21/el5/Cluster

enabled=1

gpgcheck=0



# yum groupinstall"Clustring" "Cluster Storage"  -y



安装源:

ftp://10.1.1.21/el5



集群文件系统必须使用在集群环境中,所以必须先把集群环境搭建。



一、配置存储


导出一个target: 略


二、集群节点连接存储


说明:如果之前已经登录过target,先把旧的target删除掉

      # iscsiadm  -m node -o delete


强烈建议使用udev规则固定设备的路径

      /etc/udev/rules.d/55-iscsi.rules

      /etc/udev/scripts/iscsidev.sh  《---755权限

1、发现

# service iscsistart

# iscsiadm  -m discovery -t st -p 192.168.89.1

2、登录

# iscsiadm  -m node -l


生产环境可以让机器开机自动启动iscsi服务,这样就能自动登录target

# ls/dev/iscsi/mysqldata/part1



三、在其中一个节点上配置集群,然后同步配置文件到另外的节点


#system-config-cluster


建立集群,名字随意,但不能有特殊字符,不能太长: ShareStorage


添加集群节点

添加节点的时候必须填写节点的主机名,而且主机名必须已经绑定在hosts文件


保存配置文件,并且同步到另外的节点

# scp/etc/cluster/cluster.conf 192.168.89.12:/etc/cluster/



所有节点依次同时启动cman服务

      cman作用: 读取配置文件,建立集群关系


# service cmanstart

Starting cluster:

  Loading modules... done

  Mounting configfs... done

  Starting ccsd... done

  Starting cman... done

  Starting daemons... done

  Starting fencing... done

                                                         [确定]

如果启动该服务失败:

失败原因:没有绑定主机名,没有设定网关

解决:

                    ctrl + c 停止启动

                    # service cman stop

如果停止也卡住了

                    # cman_tool leaveforce  强制离开集群

如果强制离开集群都卡中,只能硬重启计算机


# clustat -i2

Cluster Status forShareStorage @ Sun Sep  8 07:09:18 2013

Member Status:Quorate


Member Name                        ID   Status

------ ----                        ---- ------

node1.upl.com                          1 Online

node2.upl.com                          2 Online, Local




四、其中一个节点去格式化存储为gfs2(集群文件系统)


# mkfs.gfs2 -j 2-p lock_dlm -t ShareStorage:upl /dev/iscsi/mysqldata/part1

Device:                    /dev/iscsi/mysqldata/part1

Blocksize:                 4096

Device Size                2.01 GB (525992 blocks)

FilesystemSize:           2.01 GB (525991 blocks)

Journals:                  2

ResourceGroups:           9

LockingProtocol:          "lock_dlm"

Lock Table:                "ShareStorage:upl"

UUID:                      D7222C8F-B205-7EF1-FA9F-E426A0FC350D


      -j 2 最多同时允许两个节点挂载该文件系统


      -t 集群名字:随意



格式化完毕,所有节点都可以同时挂载使用。


==========================================================================


MFS分布式存储文件系统



查看文件信息

# mfsgetgoal/mnt/mfs/*

/mnt/mfs/fstab: 1

/mnt/mfs/hosts: 1


# mfsfileinfo  /mnt/mfs/*

/mnt/mfs/fstab:

      chunk 0: 0000000000000002_00000001 /(id:2 ver:1)

             copy 1: 10.1.1.20:9422

/mnt/mfs/hosts:

      chunk 0: 0000000000000003_00000001 /(id:3 ver:1)

             copy 1: 10.1.1.7:9422


设定文件副本数

# mfssetgoal 2/mnt/mfs/hosts

/mnt/mfs/hosts: 2


# mfsfileinfo  /mnt/mfs/*

/mnt/mfs/fstab:

      chunk 0: 0000000000000002_00000001 /(id:2 ver:1)

             copy 1: 10.1.1.20:9422

/mnt/mfs/hosts:

      chunk 0: 0000000000000003_00000001 /(id:3 ver:1)

             copy 1: 10.1.1.7:9422

             copy 2: 10.1.1.20:9422



查看文件被删除后的回收时间

# mfsgettrashtime/mnt/mfs/*

/mnt/mfs/fstab:86400  <---文件被删除后会保留在回收站一天,然后才会被彻底删除

/mnt/mfs/hosts:86400


# mfssettrashtime300 /mnt/mfs/hosts

/mnt/mfs/hosts:300  <--- 删除后,300秒后如果不会它进行恢复,文件就会被彻底删除



如何恢复被删除的文件

1、元数据服务器要允许挂载和访问元数据

# vim/usr/local/mfs/etc/mfsexports.cfg

*                       .       rw,password=123


# mfsmaster stop

# mfsmaster start


2、客户端挂载元数据,对文件进行恢复

# mfsmount -m -H 10.1.1.5/mnt/metadata/ -p

MFS Password:



# ls/mnt/metadata/trash/ <---所有被删除的文件都存放在此目录下

00000002|hosts  00000003|fstab  undel


恢复某个文件

# mv/mnt/metadata/trash/'00000003|fstab' /mnt/metadata/trash/undel/

# ls /mnt/mfs/

fstab  恢复成功




对mfs分布式文件系统进行灾难恢复:


每次启动元数据服务器的进程的时候,都会读取/usr/local/mfs/var/mfs/metadata.mfs 元数据文件,把该文件加载到内存。并且把该文件重命名为metadata.mfs.back. 元数据服务器在工作的过程中,如果元数据发生变化,变化都是在内存上发生、生效的。但是这些变更同时也会记录到该目录下的变更日志中changelog.??.mfs。元数据日志服务器会不断去实时下载这些变更日志,然后会定时下载元数据备份文件metadata.mfs.back。

如果元数据服务正常关闭,会把内存中元数据文件保存为metadata.mfs文件中,把之前的备份文件删除。


一、简单的故障

      mfs元数据服务器意外的关机,或者意外的结束相关进程,导致再次启动服务的时候出错

会导致没有能够即使地把最新的元数据从内存中保存到metadata.mfs文件中,所以再次启动的时候就会报错:找不到元数据文件

恢复的原理:让旧的元数据备份文件应用变更日志恢复到最新的元数据文件


模拟故障

# skill -9mfsmaster


启动报错

# mfsmaster start

working directory:/usr/local/mfs/var/mfs

lockfile createdand locked

initializingmfsmaster modules ...

loading sessions... ok

sessions file hasbeen loaded

exports file hasbeen loaded

loading metadata...

can't openmetadata file  找不到元数据

if this is newinstalation then rename metadata.mfs.empty as metadata.mfs

init: file systemmanager failed !!!

error occuredduring initialization - exiting



恢复

#mfsmetarestore  -a


重启启动服务

# mfsmaster start



二、严重的故障

元数据服务器彻底崩溃,整机数据无法恢复,无法取出原来的元数据备份文件和日志文件。


恢复依据:只要有元数据日志服务器,而且日志服务器上有一个旧的元数据备份文件

# ls/usr/local/mfs/var/mfs/

changelog_ml.0.mfs  metadata.mfs.back(这个文件必须要有,默认是服务启动24小时候才会从元数据服务器上下载)   sessions_ml.mfs

changelog_ml.1.mfs  metadata.mfs.empty


恢复原理:备份文件 +  应用变更日志



从日志服务器把备份文件和日志文件同步到元数据服务器的数据目录

# rsync -alvR/usr/local/mfs/var/mfs/ 10.1.1.5:/


在元数据服务器上执行恢复操作

# cd/usr/local/mfs/var/mfs/

# mfsmetarestore-m metadata.mfs.back -o metadata.mfs changelog_ml.*


# mfsmaster start




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-9215-1-1.html 上篇帖子: RAID基础上构建lvm搭建高可靠存储 下篇帖子: 高性能web中各存储的角色应用和千万pv站点架构

尚未签到

发表于 2013-9-13 10:10:47 | 显示全部楼层
过来看看的

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-9-15 20:49:06 | 显示全部楼层
我妈常说,我们家要是没有电话就不会这么穷。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-9-16 21:33:56 | 显示全部楼层
我妈常说,我们家要是没有电话就不会这么穷。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-9-18 06:13:01 | 显示全部楼层
看尽天下A片,心中自然无码~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-9-19 07:02:20 | 显示全部楼层
.其实我是一个天才,可惜天妒英才!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-9-20 02:27:57 | 显示全部楼层
如果跟导师讲不清楚,那么就把他搞胡涂吧!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表