系统扫盘与配置emc多路径软件

简介:

一.系统扫盘
linux主机对磁盘设备进行重新配置的方式包括:
(1)重启系统
(2)卸载并重新加载HBA驱动模块
(3)echo /proc下的SCSI设备列表        
(4)通过/sys下的属性设置运行SCSI扫描    (推荐使用)
(5)通过HBA厂商脚本运行SCSI扫描


(1)系统重启
    重启主机是检测新添加磁盘设备的可靠方式。在所有I/O停止之后方可重启主机,同时静态或以模块方式连接磁盘驱动。系统初始化时会扫描PCI总线,因此挂载其上的SCSI host adapter会被扫描到,并生成一个PCI device。之后扫描软件会为该PCI device加载相应的驱动程序。加载SCSI host驱动时,其探测函数会初始化SCSI host,注册中断处理函数,最后调用scsi_scan_host函数扫描scsi host adapter所管理的所有scsi总线。

(2)重新加载HBA驱动
    通常情况下,HBA驱动在系统中以模块形式加载。从而允许模块被卸载并重新加载,在该过程中SCSI扫描函数得以调用。通常,在卸载HBA驱动之前,SCSI设备的所有I/O都应该停止,卸载文件系统,多路径服务应用也需停止。如果有代理或HBA应用帮助模块,也应当中止。
命令示例:

1
2
3
例如,rac节点上某台服务器执行 fdisk  –l命令看不到共享磁盘,可尝试执行如下命令:
# modprobe -r lpfc(卸载驱动)
# modprobe lpfc(加载驱动)


(3)/proc下SCSI扫描
    2.4内核中,/proc文件系统提供了可用SCSI设备的列表。如果系统中SCSI设备重新配置,那么所有这些改变通过echo /proc接口反映到SCSI设备中。添加一个设备,主机,channel,target ID,以及磁盘设备的LUN编号会被添加到/proc/scsi/,需指定scsi编号。

1
2
3
4
5
6
7
8
9
10
11
12
13
命令示例:
# echo "scsi add-single-device 0 1 2 3" > /proc/scsi/scsi
0:主机ID
1:channel ID
2:target ID
3:LUN编号
该命令会将新磁盘设备添加到 /proc/scsi/scsi 文件中。如果没有找到相应文件,需为 /dev 路径下新增磁盘设备创建设备文件名。
如果要删除一个磁盘设备,使用适当的主机,channel,target ID及LUN编号运行如下格式命令:
# echo "scsi remove-single-device 0 1 2 3" > /proc/scsi/scsi
0:主机ID
1:channel ID
2:target ID
3:LUN编号

(4)/sys下SCSI扫描
    2.6内核中,HBA驱动将SCAN功能导出至/sys目录下,可用来重新扫描该接口下的SCSI磁盘设备。命令如下:
# cd /sys/class/scsi_host/host4/
# ls -al scan
# echo ‘- - -’ > scan
‘- - -’代表channel,target和LUN编号。以上命令会导致hba4下所有channel,target以及可见LUN被扫描。

1
2
3
4
5
6
echo  ‘- - -’  >  /sys/class/scsi_host/host0/scan    
echo  ‘- - -’  >  /sys/class/scsi_host/host1/scan         
       #/sys/class/scsi_host/ 下面有几个host 就扫描几次
或者
echo  1 >  /sys/class/fc_host/host7/issue_lip
echo  1 >  /sys/class/fc_host/host9/issue_lip


(5)kudzu软件
rescan-scsi-bus.sh   扫盘
没有这个rescan-scsi-bus.sh命令,则使用yum安装sg3_utils*    


二. EMC PowerPath多路径软件配置

2.1在现有PowerPath环境中增加LUN:
(1).确保存储端已配置好LUN并输出给Linux 主机 
(2).通过powermt命令获得HBA 卡列表,并扫描列表中所有的HBA
        echo ‘- - -’ > /sys/class/scsi_host/host#/scan
    例如, 如果powermt 显示列出HBA 4 和5, 使用如下命令开始扫描:
        echo ‘- - -’ > /sys/class/scsi_host/host4/scan
        echo ‘- - -’ > /sys/class/scsi_host/host5/scan 

(3).运行powermt config 配置新认到的磁盘,生成虚拟设备      
(4).用powermt display 检查新认到的LUN 及设备路径


2.2在现有PowerPath环境中动态删除 LUN

(1).在将要删除的设备上停止所有的I/O。
(2).通过以下命令确定虚拟设备对应的原始SCSI设备:
            powermt display dev=emcpower  
            powermt display dev=all
(3).删除虚拟设备
      powermt remove dev=emcpower
(4).回收虚拟设备号以备后用
      powermt release
      如果此命令失败,已删除的虚拟设备仍会存在于/dev 和/sys/block 下,并且在以后动态添加新LUN时可能会引发问题。
(5).对每个原始SCSI 设备执行以下命令:
      echo 1 > /sys/block/sd/device/delete
      此命令使PowerPath 停止这些原始sd 设备上的I/O 并且将其从/dev 和/sys/block下移除。如此命令执行不成功,在以后动态添加新LUN时可能会引发问题。
(6).在存储阵列中删除对应的LUN,执行powermt display 验证设备已被删除。

本文转自   a8757906   51CTO博客,原文链接:http://blog.51cto.com/nxyboy/1944333

相关文章
|
3月前
|
存储 SDN 开发工具
如何配置HITACHI存储多路径软件
如何配置HITACHI存储多路径软件
26 0