Linux多路径multipath

查看:

1 查看主机上光纤HBA

lspci | grep Fibre

2 查看主机上光纤HBA的WWN

cat /sys/class/fc_host/host*/port_name

3 查看光纤HBA卡端口状态

cat  /sys/class/fc_host/hostX/port_state
cat  /sys/class/fc_host/host*/port_state
cat  /sys/class/fc_host/host2/port_state

hostX:代表具体的光纤HBA卡端口。

配置:

1.安装多路径软件

# device-mapper-multipath主要提供multipathd和multipath等工具和 multipath.conf等配置文件

# multipath-tools 这个软件包可以产生模板,在多路径的管理和监控工具,主要进行路径状态的检测,管理工作

yum install -y device-mapper-multipath device-mapper-multipath-libs device-mapper device-mapper-libs device-mapper-event device-mapper-event-libs

2. 检查dm_multipath安装是否正常

lsmod | grep ^dm_multipath

若未成功加载使用下列命初始化DM,或重启系统

modprobe dm-multipath
modprobe dm-round-robin

3. 生成multipath配置文件

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

或通过

/sbin/mpathconf --enable

来自动生成配置文件

查看默认配置命令

multipath -t

4.获取wwid(存储上为wwid,linux操作系统上为uuid,unix操作系统上为wwid)

/usr/lib/udev/scsi_id -g -u -d /dev/sdN

ls /dev/disk/by-uuid

5. 配置多路径

# 黑名单语法

#blacklist {
#        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
#        devnode "^hd[a-z]"
#        wwid 1ATA_VBOX_HARDDISK_VB82d3887f-a892e124         #排除sda wwid
#}

#默认配置

#getuid_callout参数定义设置通过什么命令获取wwid(uuid)

#user_friendly_names使用用户友好的名称,而不是使用WWIDs作为名称

#默认为"round-robin 0"轮询

#queue-length 0 将下一个IO发送给负载最小的路径

#defaults {
#       polling_interval        10
#       path_selector           "round-robin 0"
#       path_grouping_policy    multibus
#       uid_attribute           ID_SERIAL
#       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
#}
defaults {
        user_friendly_names yes
        find_multipaths yes
}

# 配置多路径,比如映射设备的名称,multipath负载均衡的方法

blacklist {
devnode "^sda"
}

defaults {
user_friendly_names no
}

multipaths {
       multipath {
               wwid    360a98000383037796e5d4d63674c6170
               aliasocr01
       }
       multipath {
               wwid    360a98000383037796e5d4d63674c6172
               aliasocr02
       }
       multipath {
               wwid    360a98000383037796e5d4d63674c6174
               aliasocr03
       }
       multipath {
               wwid    360a98000383037796e5d4d63674c616b
               aliasfra01
       }
       multipath {
               wwid    360a98000383037796e5d4d63674c6166
               aliasdata01
       }
}

devices {
       device {
           vendor "SUN"
               product "SUN_6180"
               path_grouping_policy multibus
               getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
               path_checker readsector0
               path_selector "round-robin 0"
       }
}

6.启动多路径软件服务

linux6及以下:

[root@centos ~]# /etc/init.d/multipathd start

[root@centos ~]# service multipathd start

linux7:

[root@centos ~]# systemctl start multipathd

7.确认服务状态

linux6及以下:

[root@centos ~]# service multipathd status

linux7:

[root@centos ~]# systemctl status multipathd

8.设置服务开机启动

linux6及以下:

[root@centos ~]# 
chkconfig –level 35 multipathd on
chkconfig –list multipathd

linux7:

systemctl enable multipathd
systemctl is-enabled multipathd

9.查看多路径

multipath -ll

10.刷新所有未使用的多路径设备映射

multipath -F

11.v2扫描磁盘

multipath -v2

#v3显示详细信息

multipath -v3

12.再次查看多路径

multipath -ll

注意:

multipath -r命令强制刷新multipath的规则

刷新规则

# #Linux5

/sbin/udevcontrol reload_rules

# #Linux6 and Linux7

udevadm control --reload-rules

重启UDEV服务

# #Linux5 and Linux6

/sbin/start_udev

# #Linux7

systemctl restart systemd-udevd.service

udev规则(oracle使用/dev/asm*磁盘名称)

multipaths {
       multipath {
               wwid    360a98000383037796e5d4d63674c6170
               aliasocr01
       }
       multipath {
               wwid    360a98000383037796e5d4d63674c6172
               aliasocr02
       }
       multipath {
               wwid    360a98000383037796e5d4d63674c6174
               aliasocr03
       }
       multipath {
               wwid    360a98000383037796e5d4d63674c616b
               aliasfra01
       }
       multipath {
               wwid    360a98000383037796e5d4d63674c6166
               aliasdata01
       }
}

配合

ACTION=="add|change", KERNEL=="dm-*", OPTIONS:="nowatch"
ACTION=="add|change", KERNEL=="dm-*", ENV{DM_UUID}=="mpath-360060160050068005caafe076c87e396", RUN+="/bin/sh -c 'mknod /dev/asm-ocr01 b $major $minor;chown grid:asmadmin /dev/asm-ocr01;chmod 0660 /dev/asm-ocr01'"
ACTION=="add|change", KERNEL=="dm-*", ENV{DM_UUID}=="mpath-360060160050068005caafe076c87e397", RUN+="/bin/sh -c 'mknod /dev/asm-data01 b $major $minor;chown grid:asmadmin /dev/asm-data01;chmod 0660 /dev/asm-data01'"
ACTION=="add|change", KERNEL=="dm-*", ENV{DM_UUID}=="mpath-360060160050068005caafe076c87e398", RUN+="/bin/sh -c 'mknod /dev/asm-fra01 b $major $minor;chown grid:asmadmin /dev/asm-fra01;chmod 0660 /dev/asm-fra01'"
ACTION=="add|change", KERNEL=="dm-*", OPTIONS:="nowatch"
ACTION=="add|change", KERNEL=="dm-*", ENV{DM_NAME}=="asm-ocr01", RUN+="/bin/sh -c 'mknod /dev/asm-ocr01 b $major $minor;chown grid:asmadmin /dev/asm-ocr01;chmod 0660 /dev/asm-ocr01'"
ACTION=="add|change", KERNEL=="dm-*", ENV{DM_NAME}=="asm-data01", RUN+="/bin/sh -c 'mknod /dev/asm-data01 b $major $minor;chown grid:asmadmin /dev/asm-data01;chmod 0660 /dev/asm-data01'"
ACTION=="add|change", KERNEL=="dm-*", ENV{DM_NAME}=="asm-fra01", RUN+="/bin/sh -c 'mknod /dev/asm-fra01 b $major $minor;chown grid:asmadmin /dev/asm-fra01;chmod 0660 /dev/asm-fra01'"

#vmware模式多路径

虚拟机关机后*.vmx文件添加

disk.EnableUUID = "TRUE"

操作系统内添加

cat >> /etc/scsi_id.config <<EOF
options=--whitelisted --replace-whitespace
EOF

虚拟机手动添加/dev/sdb的wwid到multipath信息库

multipath -a /dev/sdb

#查看wwid

more /etc/multipath/wwids
more /etc/multipath/bindings

#再次重启服务

systemctl restart multipathd
udevadm test /block/sdbACTION=="add|change", KERNEL=="dm-*", OPTIONS:="nowatch"
ACTION=="add|change", ENV{SUBSYSTEM}=="block", ENV{ID_SERIAL}=="36000c29fa0ec7945fd841e40096edc8d", RUN+="/bin/sh -c 'mknod /dev/asm-ocr01 b $major $minor;chown grid:asmadmin /dev/asm-ocr01;chmod 0660 /dev/asm-ocr01'"
multipaths {
       multipath {
               wwid    36000c29fa0ec7945fd841e40096edc8d
               aliasocr01
   uid      1001  #grid用户的uid
   gid      1002  #grid用户的gid  asmadmin
   mode     0600
       }
}
/usr/lib/udev/scsi_id -g -u -d /dev/sdN

#查看vendor

cat /sys/block/sdb/device/vendor

#查看product

cat /sys/block/sdb/device/model
cat /proc/scsi/scsi
lsscsi -v

#查看wwid

more /etc/multipath/wwids
more /etc/multipath/bindings
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux多路径配置是指在Linux系统中配置多个路径来实现高可用性和负载均衡。多路径配置可以提高系统的可靠性和性能,特别是在使用存储设备时。 多路径配置的主要步骤包括: 1. 安装多路径软件包:在Linux系统中安装多路径软件包,例如multipath-tools。 2. 配置多路径:编辑multipath.conf文件,配置多个路径和优先级,以及其他选项。 3. 启用多路径:启用多路径服务,例如multipathd。 4. 测试多路径:测试多路径是否正常工作,例如使用multipath命令查看多路径状态。 多路径配置可以提高系统的可靠性和性能,但也需要注意一些问题,例如: 1. 多路径配置需要消耗一定的系统资源,例如CPU和内存。 2. 多路径配置需要正确配置,否则可能会导致系统故障或数据丢失。 3. 多路径配置需要定期维护和更新,以确保系统的稳定性和可靠性。 总之,Linux多路径配置是一个重要的系统配置,可以提高系统的可靠性和性能,但需要正确配置和维护。 ### 回答2: 多路径是一种技术,它可以提高 Linux 系统对存储设备的故障容错能力和可用性。当存储设备的单个路径发生故障时,多路径技术可以在不影响系统正常工作的情况下,自动切换到备用路径。本文将详细介绍 Linux 多路径的配置。 1. 安装 multipath 工具 在 Linux 系统上配置多路径,需要安装 multipath 工具。该工具可以让系统识别存储设备的多个路径,并将其作为一个逻辑单元来管理。multipath 工具可以通过 yum 安装: yum install -y multipath 2. 配置 multipath 安装完 multipath 工具后,需要配置 multipath.conf 文件来指定存储设备的多个路径以及如何管理这些路径。可以通过以下命令编辑 multipath.conf 文件: vi /etc/multipath.conf 在文件中添加以下内容: defaults { find_multipaths yes user_friendly_names yes } blacklist { devnode "^sd[a-z]$" } devices { device { vendor "VENDOR" product "PRODUCT" path_grouping_policy multibus path_checker directio failback immediate } 在上述配置中,配置了默认路径查找和用户友好的命名,同时使用了路径分组策略 multibus,路径检查程序 directio 和 failback 策略 immediate。此外,还可以针对不同的存储设备制定不同的配置。 3. 运行 multipathd 服务 multipathd 是 multipath 工具的后台服务,用于管理存储设备路径。运行 multipathd 服务可以使用以下命令: systemctl start multipathd 可以通过以下命令检查 multipathd 服务是否正在运行: systemctl status multipathd 4. 扫描存储设备 完成上述配置后,需要扫描存储设备以便 multipath 工具能够识别它们的多个路径。可以通过以下命令扫描所有存储设备: echo "- - -" > /sys/class/scsi_host/host#/scan 其中,host# 是存储设备所在的主机号。对于每个存储设备,需要分别运行此命令。 5. 检查多路径配置 完成以上操作后,可以使用以下命令检查多路径是否配置成功: multipath -ll 该命令将显示所有的多路径设备以及其状态。 6. 管理多路径设备 在多路径设备配置完成后,可以使用相同的设备名称访问多个路径。如果其中一个路径出现故障,系统将自动将 I/O 重定向到备用路径。可以使用以下命令管理多路径设备: multipath -f device_name // 删除多路径设备 multipath -r // 刷新多路径信息 总之,多路径是一种可以提高 Linux 系统存储设备可用性和故障容错能力的技术。需要配置 multipath 工具、运行 multipathd 服务、扫描存储设备并检查多路径配置是否成功。最后,可以使用相同的设备名称访问多个路径,并使用 multipath 命令管理多路径设备。 ### 回答3: 多路径技术是为了解决存储系统中单点故障的问题而设计的。在Linux系统中,我们可以通过多路径技术来让单个服务器能够同时访问到多个存储设备,使得数据的访问更加高效和可靠。 在Unix/Linux操作系统中,多路径技术常常是通过设备映射(Device Mapper)来实现的。设备映射是一种独立于硬件、能够适用于不同的底层存储设备的软件层级的实现技术。具体来说,在Linux系统中,多路径技术主要包括以下几步: 1. 首先,在Linux系统中安装好RAID卡,对存储设备进行硬件配置,创建出多个存储路径。 2. 其次,安装好设备映射工具DM-Multipath,在Linux系统中运行该工具。 3. 接着,配置MLP(Multipath.conf)文件,该文件是多路径技术的核心配置文件,其中包含了多个存储设备路径的信息和优先级设置。 4. 最后,通过挂载文件系统来完成存储设备路径的设置。 在配置MLP文件时,主要需要设置以下几个参数: 1. defaults:用于设置默认值,如超时时间和优先级等。 2. blacklist:去除不需要的存储设备路径。 3. blacklist_exceptions:例外情况的黑名单。 4. devices:设备的别名和添加设备路径命名规则。 5. multipaths:设备映射表。 从上述步骤和参数配置可以看出,多路径技术的配置相对复杂,但是一旦配置成功,可以为系统带来高效和可靠的存储服务。通过多路径技术,能够利用存储设备的所有路径,增加存储设备的吞吐量,同时提高数据的可靠性和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值