设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 2137|回复: 0
收起左侧

Linux多路径配置及其权限绑定

[复制链接]
发表于 2016-12-23 11:07:10 | 显示全部楼层 |阅读模式
      【摘要】:在大数据时代的今天,随着数据量的不断增大,对于存储数据的空间需求也越来越大,而集中式的存储服务器很好的解决了此问题。在存储服务器向应用服务器分发存储的时候,多路径技术很好的保障二者链路质量。本文会介绍Linux系统如何聚合划分过来的存储。
         正文
         我们都知道,当一块存储划分给一台服务器时候,一般都是通过两对光纤线来连接,而每对光纤线又可以模拟出两条链路,因此一块存储划过来,你在服务器端可以看到的是四块。此时用户是还不可以使用这“四块”磁盘做挂载等动作的。而多路径聚合,就是把这四条链路聚合成一条,“四块”聚合成一块。如此,聚合出来的路径就可以供用户进行操作了。
         当存储划分到服务器上后,需要做的步骤如下所示:
1.确认存储
你需要先确认服务器是否能够正常识别到新划分的存储。运行以下命令:
         #fdisk –l
         如果你的服务器能够识别到存储,则此时除了你本地的磁盘外会多出n*4个盘。(n为你划分的存储数目)。
         如果此时没有发现新划分的存储,则使用以下命令,重新扫描磁盘:
         #echo "- - -" >/sys/class/scsi_host/host0/scan
         如果至此还不能识别到存储,则需要重启你的服务器了。
2.安装多路径软件
         确认多路径聚合所需的rpm包是否有安装:
         #rpm-qa|grep device-mapper
#rpm -qa|grep device-mapper-multipath
                              
若未安装则需安装以上两个包。(不同版本可能会有所差异)
         安装完两个包后,分别进行以下操作
# lsmod |grepdm_multipath                   #来检查安装是否正常
如果模块没有加载成功请使用下列命初始化DM,或重启系统
# modprobedm-multipath                         #加载模块
# modprobedm-round-robin                      #加载模块
# servicemultipathd start                          #启动多路径聚合服务
# chkconfig  multipathd on                     #设置成开机自启动multipathd
3.多路径聚合
         查看/etc 目录下是否有multipath.conf文件,如果之前没做过多路径聚合是没有的,此时需要提取多路径聚合配置文件,放到/etc     。源文件在以下目录
# cd/usr/share/doc/device-mapper-multipath-0.4.9/                                
# cpmultipath.conf /etc/                            #把配置文件复制到/etc目录下
#vim /etc/multipath.conf                            #编辑多路径配置文件
在这里我们只需把黑名单开启起来。(若不开启系统自身的存储也会产生别名哦。)在multipath.conf文件中找到blacklist相应的位置添加一下语句:
blacklist {
      
       devnode"^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
       devnode "^hd[a-z]"
}
这时候我们可以进行多路径聚合啦。
# multipath –v2                                             #多路径聚合,这里 可以使用-v2也可以使用-v0
         #multipath –ll                                                #列出聚合后的多路径  
         运行multipath –ll命令后你可以看到聚合出来的路径,默认是以别名mpathx形式,(x为数字),而一般提供给用户使用的就是此别名。后面接着一串数字,则为这块存储的wwid号;而dm-x则是该存储的设备名,x是随机的,用户一般需要使用此名做操作。下面还会列出聚合成此路径的四条链路。
         其实到这里多路径聚合可以结束了,用户可以使用mpathxpvvglv,进而进行挂载之类的操作。
4.优化步骤
         在这里你也可以做一些优化的工作。
(1)绑定别名和存储模块,以及对别名做个性化设置。前者可以消除服务器意外重启有可能导致的别名错乱(虽然目前还没遇到过,可以防患于未然);而个性化的别名可以让你更容易记录每块存储的用途。要做到这点,你只需在multipath.conf文件中找到multipaths的位置,添加以下内容。
multipath {
                wwid            360060e801053a3f0056e3c2f0000001a
               alias                  arch_disk001
                   }
         其中wwid后面跟的是相应存储对应的wwid号。这个号你可以问存储管理的人员提供,也可以聚合一次之后,记录下来。然后把相应的聚合路径拆了,重新再聚合。
         alias后面跟的就是你自行设置的个性化别名啦。
         多路径拆除的命令如下:
         #multipath–f mpatha                        #拆除指定的多路径
         #multipath–F                                      #拆除所有多路径 (慎重使用)
         2)多路径权限绑定
         默认情况下,每次重启计算机的时候,多路径会重新聚合一次,而重新聚合后的多路径包括别名mpathx和设备名dm-x,其所有者都会恢复到root,权限都会恢复到777。而很多时候,可能我们需要把所划分过来的存储权限绑定,包括所有者和使用权限。例如在做oracle群集的时候,我们需要用到的ASM磁盘,就一定要保持权限固定了。在这里权限绑定包括两方面。
A. 从别名mpathx上绑定权限。
B. 从设备名dm-x上绑定权限。
A.一般情况如果我们只需要控制磁盘的访问权限,从别名上绑定绑定权限就可以了,这里介绍的主要是以开机跑命令的形式。
我们只需在/etc/udev/rule.d/目录下添加新规则文件,如99-permissions.rules。内容如下:
#99-permissions.rules
PROGRAM="/bin/chown-R grid:asmadmin /dev/mapper/ocrvt_disk001"             #绑定所有者
PROGRAM="/bin/chmod-R 660 /dev/mapper/ocrvt_disk001"                         #绑定使用权限
         B.而有些时候需要绑定设备的权限,例如oracle群集的ASM磁盘,则我们需要从设备名dm-x上绑定。   
         这时候我们需要在/etc/udev/rule.d/目录下创建12-dm-permissions.rules文件。(该文件的源模板在/usr/share/doc/device-mapper-1.02.77目录下,可以复制过去。)
         #vim/etc/udev/rule.d/12-dm-permissions.rules                       #编辑文件
         在绑定dm权限相应的位置加上以下内容
         ENV{DM_NAME}=="mpath*", OWNER:="grid", GROUP:="asmadmin",MODE:="660"
         
         ENV{DM_NAME}=="mpath*"为设备别名,类型默认为mpath*
         OWNER:="grid"       为所有者
         GROUP:="asmadmin"为所属组
         MODE:="660"          为访问权限
         
         当然在12-dm-permissions.rules    还可以设置其他权限,有兴趣的可以自行测试。
         至此,我们多路径配置以及其权限绑定介绍结束啦。若文章有不当之处,请多多包涵。毕竟本人所知有限。谢谢。
         本文转自:学领未来http://www.learnfuture.com ——IT培训机构

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-24 19:16 , Processed in 0.070490 second(s), 10 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

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