精华内容
下载资源
问答
  • GPS从入门到放弃(十八) --- 多路径效应
    千次阅读
    2020-02-14 18:15:07

    GPS从入门到放弃(十八) — 多路径效应

    概念

    在GPS接收机接收卫星信号的过程中,除了接收到通过直线路径到达接收机的信号以外,还可能收到经接收机周围物体的反射再传播过来的卫星信号,这些反射的信号改变了传播方向、振幅、极化以及相位等,与直线信号产生叠加,从而使观测值偏离其真值而产生误差,这种现象称为多路径效应(Multi-Path Effect),有时也简称多径效应。

    特性

    • 与直射波相比,多路径信号传播路径较长,因此会延迟到达接收天线。
    • 一般情况下,反射波功率会比直射波功率弱;当然也不排除直射波衰减严重甚至被遮挡的情况。
    • 一般来说光滑的地面、水面、盐碱滩、玻璃幕墙等反射系数很大,反射强烈。
    • 多路径效应误差受天线周围的环境影响很大,换一个地方可能就完全不一样了。
    • 基线两端的多路径效应不具有相关性,因此无法通过差分技术来消除。

    影响

    • 在一般反射环境下,多路径效应对伪码测距的影响可达米级,对载波相位测距的影响可达厘米级。
    • 在高反射环境下,其影响将显著增大,常常导致接收的卫星信号失锁和使载波相位观测量产生周跳。
    • 多路径效应的影响,可以分为常数部分和周期性部分。其中常数部分,在同一地点将会日复一日地重复出现;周期性部分则周期性的出现。
    • 长延时的反射波影响小,短延时的反射波影响大。
    • 一般低仰角的卫星比高仰角的卫星多路径效应更大。
    • 多路径影响只能减弱,无法彻底消除。

    抑制措施

    可从多个方面来抑制多路径效应的影响:

    • 选择安置接收机天线的环境,避免反射强烈的环境,或者设置屏蔽反射波的设施。如为了防止从地面或楼面反射的卫星信号进入天线产生多路径误差,可在接收机天线下配置抑径板。
    • 选择造型适宜且屏蔽良好的天线,如采用扼流圈天线等。
    • 增加卫星截止仰角,但这样做的同时也会屏蔽掉低仰角的卫星信号。
    • 改进接收机信号处理技术,如采用窄相关技术、多路径削减技术以及削减多路径的延迟锁相环MEDLL等。
    • 在静态测量定位中,可以适当延长观测时间,削弱多路径效应的周期性影响。
    • 改善接收机的硬件电路设计,如选择合适的射频前端模拟滤波器。
    更多相关内容
  • 存储多路径实践

    千次阅读 2019-01-06 20:53:44
    为了主机可以使用 iSCSI 多路径访问存储设备,我们需要在主机上安装多路径设备映射器 (DM-Multipath)。多路径设备映射器可以实现主机节点和后端存储之间的多个 I/O 路径配置为一个单一逻辑设备,从而可以提供链路...

    作者:【吴业亮】

    博客:https://wuyeliang.blog.csdn.net/

    什么是多路径?

    普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来连接,这样的话,就构成了多对多的关系。也就是说,主机到存储可以有多条路径可以选择。主机到存储之间的IO由多条路径可以选择。每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?其中一条路径坏掉了,如何处理?还有在操作系统的角度来看,每条路径,操作系统会认为是一个实际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已,这样是在使用的时候,就给用户带来了困惑。多路径软件就是为了解决上面的问题应运而生的。

    多路径的主要功能就是和存储设备一起配合实现如下功能:

    1)、故障的切换和恢复

    2)、IO流量的负载均衡

    3)、磁盘的虚拟化

    为了主机可以使用 iSCSI 多路径访问存储设备,我们需要在主机上安装多路径设备映射器 (DM-Multipath)。多路径设备映射器可以实现主机节点和后端存储之间的多个 I/O 路径配置为一个单一逻辑设备,从而可以提供链路冗余和提高性能。主机通过访问包含多个 I/O 路径的逻辑设备,就可以有效提高后端存储系统的可靠性。

    一、服务端

    1、安装epel源

    # yum --enablerepo=epel -y install scsi-target-utils
    

    2、修改配置文件/etc/tgt/targets.conf

    <target iqn.2019-01.test:volume00> 
        # provided devicce as a iSCSI target
        backing-store /dev/sdb #卷的路径
        # iSCSI Initiator's IP address you allow to connect
        initiator-address 10.10.10.31#允许连接的IP
        # authentication info ( set anyone you like for "username", "password" )
    #    incominguser username "b021191eb4fb613a" #用户名及密码,注意密码长度
    </target>
    

    3、配置selinux

    # chcon -R -t tgtd_var_lib_t /iscsi_disks 
    # semanage fcontext -a -t tgtd_var_lib_t /iscsi_disks
    

    4、配置防火墙

    # firewall-cmd --add-service=iscsi-target --permanent 
    # firewall-cmd --reload
    

    5、重启tgtd并设置开机启动

    # systemctl restart tgtd 
    # systemctl enable tgtd
    

    6、查看状态

    # tgtadm --mode target --op show
    

    二、客户端

    安装软件包

    # yum -y install iscsi-initiator-utils
    

    修改InitiatorName(可不改)

    # vi /etc/iscsi/initiatorname.iscsi
    InitiatorName=iqn.2014-07.test.com
    

    修改配置文件/etc/iscsi/iscsid.conf

    node.session.auth.authmethod = CHAP
    node.session.auth.username = username
    node.session.auth.password = password
    

    发现目标

    # iscsiadm -m discovery -t sendtargets -p 192.168.8.101
    # iscsiadm -m discovery -t sendtargets -p 192.168.8.102
    

    确认状态

    # iscsiadm -m node -o show
    

    登录

    # iscsiadm -m node --login
    

    查看会话

    # iscsiadm -m session -o show
    

    以下步骤也在客户端操作

    安装

    yum install device-mapper-multipath
    

    设置开机启动

    systemctl enable multipathd.service
    

    添加配置文件
    需要multipath正常工作只需要如下配置即可,如果想要了解详细的配置,请参考Multipath

    # vi /etc/multipath.conf
    blacklist {
        devnode "^sd[a-e]" #过滤磁盘,哪些不做多路径
    }
    defaults {
        user_friendly_names yes
        path_grouping_policy multibus
        failback immediate
        no_path_retry fail
    }
    

    加载内核模块

    # modprobe dm-multipath
    

    启动服务

    #  systemctl start multipathd.service
    

    查看服务

    # multipath -ll
    mpatha (360000000000000000e00000000010001) dm-2 IET     ,VIRTUAL-DISK
    size=30G features='0' hwhandler='0' wp=rw
    `-+- policy='service-time 0' prio=1 status=active
      |- 3:0:0:1 sdd 8:48 active ready running
      `- 4:0:0:1 sde 8:64 active ready running
    

    此时,执行lsblk命令就可以看到多路径磁盘mpatha了:

    # lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
    sda               8:0    0   20G  0 disk
    ├─sda1            8:1    0  500M  0 part  /boot
    └─sda2            8:2    0 19.5G  0 part
      ├─centos-root 253:0    0 17.5G  0 lvm   /
      └─centos-swap 253:1    0    2G  0 lvm   [SWAP]
    sdb               8:16   0   30G  0 disk
    sdc               8:32   0   30G  0 disk
    sdd               8:48   0   30G  0 disk
    └─mpatha        253:2    0   30G  0 mpath
    sde               8:64   0   30G  0 disk
    └─mpatha        253:2    0   30G  0 mpath
    sr0              11:0    1  603M  0 rom
    

    格式化磁盘

    mkfs.xfs /dev/mapper/mpathf  -f
    

    挂载磁盘

    mount  /dev/mapper/mpathf  /mnt/
    

    查看分区

    [root@localhost mnt]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   98G  891M   97G   1% /
    devtmpfs                  16G     0   16G   0% /dev
    tmpfs                     16G     0   16G   0% /dev/shm
    tmpfs                     16G  8.6M   16G   1% /run
    tmpfs                     16G     0   16G   0% /sys/fs/cgroup
    /dev/sda1                497M  120M  377M  25% /boot
    tmpfs                    3.2G     0  3.2G   0% /run/user/0
    /dev/mapper/mpathf       500G   33M  500G   1% /mnt
    

    配置自动挂载,修改/etc/fstab

    /dev/mapper/mpathf /mnt/ xfs  _netdev 0 0
    

    在服务端down一个网卡

    [root@localhost ~]# ifdown eno33559296
    Device 'eno33559296' successfully disconnected.
    

    在客户端测试读写

    [root@localhost mnt]# dd if=/dev/zero  of=test bs=4M count=1024
    1024+0 records in
    1024+0 records out
    4294967296 bytes (4.3 GB) copied, 5.77562 s, 744 MB/s
    

    在服务端恢复刚才down的网卡,然后down另一个网卡

    [root@localhost ~]# ifup eno33559296
    Device 'eno33559296' successfully disconnected.
    
    [root@localhost ~]# ifdown eno16780032
    Device 'eno33559296' successfully disconnected.
    

    在客户端测试

    [root@localhost mnt]# dd if=/dev/zero  of=test1 bs=4M count=1024
    1024+0 records in
    1024+0 records out
    4294967296 bytes (4.3 GB) copied, 5.93495 s, 724 MB/s
    
    展开全文
  • 多路径 I/O

    千次阅读 2018-08-23 14:45:06
    Windows自带mpio(多路径I/O)详解 面向高可用性的多路径支持 此功能大部分是出现在云计算里面,存储方案的解决。多路径逻辑就使用 I/O 的备用路径以使应用程序仍然能够访问其数据。 Windows Server® 2008(含...

     

    Windows自带mpio(多路径I/O)详解         

    面向高可用性的多路径支持

    此功能大部分是出现在云计算里面,存储方案的解决。多路径逻辑就使用 I/O 的备用路径以使应用程序仍然能够访问其数据。


    Windows Server® 2008(含及其以上版本)包括许多将运行Windows 服务器级操作系统的计算机与存储区域网络 (SAN) 设备连接起来的增强功能。(可以理解成一种虚拟的磁盘设备,但又是真实存在的一种存储阵列形式)

    集成的多路径 I/O (MPIO) 支持是为基于 Windows 的服务器与 SAN连接提供高可用性的众多增强功能之一。Microsoft MPIO 体系结构通过建立到存储阵列的多个会话或连接,支持iSCSI、光纤通道和串行连接的存储 (SAS) SAN 连接。

    多路径解决方案使用冗余的物理路径组件(适配器、电缆和交换机)在服务器与存储设备之间创建逻辑路径。如果这些组件中的一个或多个发生故障,导致路径无法使用,多路径逻辑就使用 I/O 的备用路径以使应用程序仍然能够访问其数据。每个网络接口卡(在使用 iSCSI 的情况下)或 HBA 都应通过使用冗余的交换机基础结构连接起来,以便在存储结构组件发生故障时能继续访问存储。

    故障转移次数因存储供应商而异,并且可以通过使用 Microsoft iSCSI 软件发起程序驱动程序中的计时器,或修改光纤通道主机总线适配器驱动程序参数设置进行配置。

    多路径 I/O

    有了多路径 I/O (MPIO) 功能,设备仅能通过一个或多个物理连接或路径来检测。

    路径控制模块(PCM)提供路径管理功能。

    支持 MPIO 的设备驱动程序可以控制多种类型的目标设备。PCM 可以支持一个或多个特定的设备。因此,一个设备驱动程序可对接到多个 PCM,这些 PCM 可控制每个目标设备的多条路径范围内的 I/O。

    图 1. MPIO 组件交互作用. 本图例显示了组成 MPIO 解决方案的不同组件之间的交互作用。在此图中,MPIO 设备驱动程序控制多种类型的目标设备,每个类型都需要不同的 PCM。(KE = 内核扩展,RTL = 可装入运行时)。

    在某个设备可以使用 MPIO 之前,必须修改对象数据管理器(ODM)中的设备驱动程序、方法和预定义属性来支持多条路径的检测、配置和管理。并行 SCSI 和光纤通道磁盘设备驱动程序及其设备方法支持 MPIO 磁盘设备。支持 iSCSI 磁盘设备作为 MPIO 设备。光纤通道磁带设备驱动程序和它的设备方法支持 MPIO 磁带设备。此外,还为 MPIO 修改了 ODM 中某些设备的预定义属性。

    AIX® PCM 由 PCM RTL 配置模块和 PCM KE 内核扩展组成。PCM RTL 是一个可装入运行时模块,该模块启用了设备方法来检测 PCM KE 所需的、附加的特定于 PCM KE 设备的属性或路径 ODM 属性。PCM RTL 是通过设备方法装入的。然后访问 PCM RTL 内的一个或多个例程以执行初始化或修改 PM KE 变量的特定操作。

    PCM KE 为支持 MPIO 接口的任何设备驱动程序提供路径控制管理功能。PCM KE 依靠设备配置来检测路径并将该信息通知到设备驱动程序。每个支持 MPIO 设备驱动程序从它的一个或多个直接上级向设备中添加路径。不同路径范围内的 I/O 的维护和调度是由 PCM KE 提供的,对于支持 MPIO 的设备驱动程序不可见。

    PCM KE 可以提供多个路由算法,这些算法可由用户选择。PCM KE 还帮助收集可用于为任何 I/O 请求确定和选择最佳路径的信息。PCM KE 可选择基于多种条件(包括负载均衡、连接速度、连接故障等等)的最佳路径。

    AIX 具有可用于进行以下操作的运行状况检查功能:

    • 检查路径并确定当前可用于发送 I/O 的路径
    • 启用先前由于临时路径故障(例如,除去连接到设备的电缆之后再将其重新连接时)而标记为失败的路径
    • 检查发生故障转移时应使用而当前未使用的路径(例如,当算法属性值为 failover 时,运行状况检查可测试备用路径)

    不是所有的磁盘设备和磁带设备都可以使用 AIX 缺省 PCM 来检测和配置的。AIX 缺省 PCM 由两个路径控制模块组成,一个用于管理磁盘设备,另一个用于管理磁带设备。如果未检测到您的设备,请向设备供应商核实以确定 PCM 是否可用于您的设备。

    • 管理支持 MPIO 的设备

      可以使用多路径 I/O (MPIO) 功可以把备用通道定义到用于故障转移的设备。

    • 配置 MPIO 设备

      配置支持 MPIO 的设备将使用与配置非 MPIO 设备相同的命令。

    • 受支持的多路径设备

      AIX 缺省 PCM 支持 devices.common.IBM.mpio.rte 文件集中定义的一组磁盘和磁带设备。

    • MPIO 设备属性

      以下属性只受多路径设备支持。可使用 SMIT 或命令(特别是 lsattr 和 chdev 命令)显示或更改属性。

    • 路径控制模块属性

      除了缺省 AIX 的缺省路径控制模块(PCM)外,设备供应商可能还提供特定于设备的 PCM。用户可更改属性的集合是由设备供应商定义的。特定于设备的 PCM 可以具有设备和路径属性。

    • SAN 复制属性

      必须安装 AIX 多路径 I/O (MPIO),并且设备必须正在使用 AIX 路径控制模块 (PCM)。这些属性对存储子系统提供的设置和功能具有依赖性。

    • 卸下通信适配器

      必须先取消配置该适配器,才能卸下或更换热插拔适配器。

    • 取消配置存储适配器

      在可以卸下或更换存储适配器之前,必须取消配置该适配器。

    • 取消配置异步适配器

      您可以取消配置异步适配器。

    • 诊断 I/O 设备

      您可以确定设备问题的原因。

    Windows的MPIO 的安装与使用

    1.在双活系统中,常常为客户端配置多路径,来保证业务可持续,那今天我们来聊聊windows自带的MPIO

    2.首先先教大家如何安装windows自带的MPIO

    (1)实验环境是windows2012 R2,其他版本大致一样,FC路径。首先打开服务器管理器,选择"添加角色和功能"

    (2)然后点击“下一步”

    (3)点击“下一步”

    (4)直接点击“下一步”

    (5)默认,点击“下一步”

    (6)这边是重点,勾选“多路径I/O”,点击下一步

    (7)勾选“如果需要,自动重新启动目标服务器”,当我们不确定某个操作后,是否需要重启,就勾选。当然安装mpio是需要重启的。然后点击安装

    (8)开始安装

    (10)安装成功,点击关闭。

    3.安装成功后,如何设置mpio,莫急,下面就是啦。

    (服务器管理-工具-mpio)

     

    (2)在MPIO属性中,可以添加存储阵列,有两种方式,一种是手动添加;另一种是时device ID(尽量使用这种)

    如下图,是手动添加,点击添加,输入供应商(8个字符)和产品ID(16个字符),如果不够,用空格补全。

    添加之后需要重启

    这是第二种,发现多路径,直接选择硬件,点击添加

    (3)在磁盘管理中,可以查看多路径是否绑好,右击,选择“属性”

    (4)查看路径是不是显示正常。

    4 下面聊一点高级的,关机MPIO的几种模式。

    (1)仅故障转移(failover only)

          这是最简单的一种模式,与游戏中的复活类似。一条路径挂了,切到另一条。它是自动切换,active/standby模式

    (2)协商会议(round robin)

            李彦宏的英文名字就是robin。这个模式就是负载均衡,每条路径都会写IO,不能浪费服务器性能,  active/active模式

    (3)带子集的协商会议(传说中alua),

            比协商会议更高级一点,alua是储存的三种工作模式中的一种,主要是存储控制那一条路径,而不是客户端。主要是提高存储的读写性能和可靠性。 active/active模式

           允许应用程序指定要以轮循机制方式使用的路径集以及备用路径集的负载平衡策略。DSM 使用来自主路径池的路径处理请求,只要其中至少有一个路径可用即可。仅当所有主路径发生故障时,DSM 才使用备用路径。例如,假设有 4 个路径:A、B、C 和 D,路径 A、B 和 C 被列为主路径,而 D 是备用路径。只要 A、B 和 C 中至少有一个可用,DSM 就会以轮循机制方式从中选择一个路径。如果所有三个路径都发生故障,则 DSM 就使用备用路径 D。如果路径 A、B 或 C 变为可用,DSM 将停止使用路径 D 并切换回使用 A、B 和 C 之中的可用路

    (4)最少队列深度(呃呃呃这个英文我就不清楚了)

     沿着当前未完成的 I/O 请求最少的路径发送 I/O 的负载平衡策略。例如,考虑有一个 I/O,该 I/O 发送到路径 1 上的 LUN 1,其他 I/O 发送到路径 1 上的 LUN 2。则路径 1 上累积未完成的 I/O 为 2,在路径 2 上它为 0。因此,任一 LUN 的下一个 I/O 将在路径 2 上处理。

    (5)加权路径(weighted path)

    沿着当前处理的数据块数最少的路径发送 I/O 的负载平衡策略。例如,如果有两个 I/O:一个是 10 个字节,而另一个是 20 个字节。这两个都在路径 1 上进行处理,并且都已完成路径 2。则路径 1 上累积的未完成 I/O 数量为 30 个字节。在路径 2 上为 0。因此下一个 I/O 将在路径 2 上处理。

    Windows Server 2008 中的新 MPIO 功能包含一个设备特定模块 (DSM),该模块用于处理支持非对称逻辑单元访问 (ALUA) 控制器模型(在 SPC-3 中定义)的存储阵列,以及遵循 Active/Active 控制器模型的存储阵列。

    包含的 DSM 的功能

    Microsoft DSM 提供以下负载平衡策略。请注意,负载平衡策略通常取决于连接到基于 Windows 的计算机的存储阵列的控制器模型(ALUA 或实际 Active/Active)。

    • 故障转移   不执行负载平衡。应用程序指定一个主路径和一组备用路径。主路径用于处理设备请求。如果主路径发生故障,使用其中一个备用路径。备用路径必须按优先顺序降序排列(最优先的路径排在第一位)。
       
    • 故障回复   故障回复是指只要首选路径起作用,就将 I/O 专用于首选路径的功能。如果首选路径发生故障,I/O 将被定向到备用路径,直到首选路径功能恢复为止,而当功能恢复时, I/O 会自动切换回首选路径。
       
    • 循环   DSM 以平衡的循环方式使用 I/O 的所有可用路径。
       
    • 带有路径子集的循环   应用程序指定一组以循环方式使用的路径和一组备用路径。DSM 使用来自主路径池的路径处理请求,只要其中至少有一个路径可用即可。仅当所有主路径发生故障时,DSM 才使用备用路径。备用路径必须按优先顺序降序排列(最优先的路径排在第一位)。如果一个或多个主路径变为可用,DSM 就按其优先顺序使用备用路径。例如,假设有 4 个路径:A、B、C 和 D,A、B 和 C 被列为主路径,而 D 是备用路径。只要 A、B 和 C 中至少有一个可用,DSM 就会以循环方式从中选择一个路径。

      如果所有三个路径都发生故障,则 DSM 就使用备用路径 D。如果 A、B 或 C 变为可用,DSM 将停止使用 D 并切换回使用 A、B 和 C 之中的可用路径。
       
    • 动态最小队列深度   DSM 将 I/O 路由到未完成的请求数最小的路径。
       
    • 加权路径   应用程序给每个路径分配权重;权重表示给定路径的相对优先级。数值越大,优先级越低。DSM 从可用路径中选择具有最小权重的路径。
       

    即使在计算机重新启动之后,Microsoft DSM 仍然会保留负载平衡设置。管理应用程序未设置策略时,DSM 使用的默认策略或者是轮循机制(存储控制器遵循实际 Active/Active 模型时使用),或者是简单故障转移(在使用支持 SPC-3 ALUA 模型的存储控制器时使用)。使用简单故障转移时,任何一个可用路径都能被用作主路径,而其余路径用作备用路径。

    添加和删除 MPIO 支持

    若要在运行 Windows Server 2008 的计算机上安装多路径 I/O,请完成下列步骤。

    安装多路径 I/O 的步骤

    1. 打开服务器管理器。

      要打开“服务器管理器”,请单击“开始”,指向“管理工具”,然后单击“服务器管理器”。

    2. 在“功能”区域中单击“添加功能”。

    3. 在添加功能向导的“选择功能”页中,选择“多路径 I/O”,然后单击“下一步”。

    4. 在“确认安装选择”页上,单击“安装”。

    5. 安装完成后,单击“关闭”。

    若要使用 服务器管理器 命令行在计算机上安装多路径 I/O,请完成下列步骤。

    使用命令行安装多路径 I/O 的步骤

    1. 使用提升权限打开“命令提示符”窗口。

      右键单击「开始」菜单中的“命令提示符”对象,然后单击“以管理员身份运行”。

    2. 键入下列命令并按 Enter。

      ServerManagerCmd.exe -install Multipath-IO

    3. 安装完成后,您可以通过输入下列命令并检查命令窗口中的查询结果来验证多路径 I/O 是否已经安装。多路径 I/O 应该显示在已安装程序包列表中。

      ServerManagerCmd.exe -query

    删除多路径 I/O

    要删除多路径 I/O,请完成下列步骤。

    删除多路径 I/O 的步骤

    1. 打开服务器管理器。

      要打开“服务器管理器”,请单击“开始”,指向“管理工具”,然后单击“服务器管理器”。

    2. 在“功能”区域中单击“删除功能”。

    3. 在添加功能向导的“选择功能”页中,选择“多路径 I/O”,然后单击“下一步”。

    4. 在“确认安装选择”页上,单击“安装”。

    5. 安装完成后,单击“关闭”。

    若要使用 服务器管理器 命令行删除多路径 I/O,请完成下列步骤。

    使用命令行删除多路径 I/O 的步骤

    1. 使用提升权限打开“命令提示符”窗口。

      右键单击「开始」菜单中的“命令提示符”对象,然后单击“以管理员身份运行”。

    2. 键入下列命令并按 Enter。

      ServerManagerCmd.exe -remove Multipath-IO

    3. 删除完成后,您可以通过输入下列命令并检查命令窗口中的查询结果来验证多路径 I/O 是否已经删除。多路径 I/O 不应出现在已安装程序包列表中。

      ServerManagerCmd.exe -query

    打开并配置多路径 I/O

    安装了多路径 I/O 后,您可以从控制面板中打开“MPIO 属性”对话框,也可以单击「开始」菜单上“管理工具”中的 MPIO 打开该对话框。

    配置和 DSM 安装

    可以使用“MPIO 属性”对话框或命令行界面配置通过 Microsoft MPIO 的其他连接。

    添加第三方 DSM

    许多遵循 Active/Active 模型且与 SPC-3 兼容的存储阵列也使用 MPIO 通用 DSM。有些存储阵列供应商也提供他们自己的 DSM 来与 Microsoft MPIO 体系结构交互。第三方 DSM 应该使用“MPIO 属性”对话框中的“DSM 安装”选项卡进行安装。

    “发现多路径”选项卡检查存在多个存储阵列路径的设备。一旦检查完成,“设备硬件 ID”字段将自动填充。

    如果不存在存储的多个路径,或者如果存储设备未连接,可以通过在“MPIO 设备”选项卡中提供信息,手动添加设备硬件 ID。

    使用 MPclaim 命令行工具

    可以使用 MPclaim 命令行工具管理多路径 I/O。

    note备注
    命令行是在运行 Windows Server 2008 的服务器核心安装的计算机上进行多路径 I/O 配置的唯一可用方法。

     

    MPclaim 的语法

    mpclaim restart_option install_switch device_switch device_hwid

    MPclaim 参数

    下表描述了可以用于 MPclaim 命令,通过命令行管理多路径 I/O 的命令参数。

     

    参数描述 

    Restart_option

    选项

    描述

    -r

    -r

    不提示的情况下自动重新启动

    -n

    -n

    取消重新启动请求。

    Install_switch

    选项

    描述

    -i

    -i

    安装 MPIO 并为存储设备添加多路径支持

    -u

    -u

    删除 MPIO 并停止对存储设备的支持

    device_switch

    选项

    描述

    -d <device_hwid>

    -d <device_hwid>

    指定需要 MPIO 支持的设备。设备 ID 用空格分隔。

    -a

    -a

    将 MPIO 支持应用到所有兼容设备。

    -c

    -c

    仅将 MPIO 支持应用

    展开全文
  • 今天我们不聊vSAN,来说说传统ESXi架构下关于多路径软件的事情。因为类似的问题最近问到了多次,所以我觉的应该有必要写个东西来记录下。 这部分内容比较多,我也有些理解不到位的地方,如果有疑问欢迎一起来探讨。...

    https://mp.weixin.qq.com/s/7GgHPbX0dkMGww3TkClYvw

    今天我们不聊vSAN,来说说传统ESXi架构下关于多路径软件的事情。因为类似的问题最近问到了多次,所以我觉的应该有必要写个东西来记录下。

        这部分内容比较多,我也有些理解不到位的地方,如果有疑问欢迎一起来探讨。

     

    这个文章分为几个部分,各位可以选择自己需要的内容:

     

    • 什么是PSA

    • 什么是NMP

    • 什么是SATP

    • 什么是PSP

    • NMP的I/O工作流

    • VMware支持的多路径策略

    • 什么是A/P A/A和ALUA

    • RR+ALUA配合使用

    • 发生路径切换的条件

     

    什么是PSA

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

       ESXi PSA架构图

        

        ESXi使用PSA(Pluggable Storage Architecture)来管理不同的多路径插件(MMP:multiple multipathing plug-ins)。PSA是一个开放的架构,因此第三方厂商可以开发不同的多路径管理软件(例如PowerPath)并且加入到这个框架里。作为ESXi的使用者,既可以使用第三方的的多路径软件,也可以使用VMware提供的多路径软件。

     

    什么是NMP

     

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

        ESXi自带的MMP叫做NMP(Native Multipathing Plug-In)。NMP本身是一个管理子插件的可扩展模块,用来协调和使用主机连接的存储设备以及不同的物理路径。

     

    NMP管理的子插件包括两个类型:

    • SATP:Storage Array Type Plug-Ins

    • PSP:Path Selection Plug-Ins

    注意:SATP和PSP既可以是VMware提供的,也可以是第三方提供的。

     

    什么是SATP

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

    SATP is used to manage the paths for a specific array type   

    • NMP决定对于存储使用哪种类型的SATP,并且使用SATP来管理该存储设备的物理路径。

    • NMP确保每一个存储设备都分配一个指定或者默认的SATP。

    • 每个SATP包含了对应存储的一系列特性,使得SATP可以对这个存储直接执行一些操作。

    • NMP可以同时管理和使用多个SATP。

     

    SATP的工作包括:

     

    • 检测物理链路状态

    • 汇报物理链路状态的变更

    • 执行存储故障切换时的必要操作,例如A/P存储(主备模式)发生故障时激活standby的路径。

     

    VMware包括的默认SATP有:

    • VMW_SATP_LOCAL

    • VMW_SATP_DEFAULT_AA

    • VMW_SATP_DEFAULT_AP

    • VMW_SATP_ALUA

     

    什么是PSP

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

    PSP is used to choose which path should be used for each storage device.

     

    PSP的工作包括:

    • PSP来负责选择可用的物理链路来进行数据的传输

    • NMP根据SATP分配这个存储设备一个PSP。

       

    执行下面命令列出主机上可用的SATP以及对应的默认PSP

    esxcli storage nmp satp list

     

    ESXi自带的PSP包括:

    • VMW_PSP_MRU

    • VMW_PSP_FIXED

    • VMW_PSP_RR

     

    下面是一个LUN的NMP命令输出:

    localcli_storage-nmp-device-list 命令输出

     

    NMP的I/O工作流

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

    1. NMP调用分配给这个存储设备的PSP

    2. PSP按照所选的多路径策略选择合适的路径。

    3. NMP通过PSP所选的路径发起IO请求。

    4. 如果IO执行完毕,则NMP标示为完成状态

    5. 如果IO没有执行成功,NMP会调用之前分配给存储设备的SATP

    6. SATP解读IO返回的报错,如果需要的话,激活其他的路径。

    7. PSP重新从活动的路径中选择合适的路径传输IO。

     

    简单来说:

    • SATP负责确定哪些I/O路径可供使用。

    • SATP负责监视更改和处理故障转移。

    • SATP用于确定哪些路径可用,

    • PSP选择要使用的可用路径。

     

    ESXi支持的多路径策略

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

    1. Fixed Path(FIXED)

    2. Most Recently Used (MRU)

    3. Round Robin (RR)

     

    Fixed Path:

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

        主机使用指定的活动路径(Preferred path)或者在启动的时候选择第一条可以工作的活动路径来发送IO指令。当指定的活动路径发生故障时,ESXi主机会切换到另外的可用路径。如果此时原来的活动路径恢复的话,ESXi 会切换回原来的路径。

    注意:If the host uses a default preferred path and the path's status turns to Dead, a new path is selected as preferred. However, if you explicitly designate the preferred path, it will remain preferred even when it becomes inaccessible.

    使用Fixed策略的场景

        主机默认使用右侧的交换机连接到存储的右侧控制器(左图),当这个控制器发生问题时,主机会切换到另外的路径(控制器)(中间图)。当控制器恢复正常后,主机会切换回原来的路径(右图)

     

    Most Recently Used

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

        MRU里没有(Preferred path)的设置。MRU和Fixed区别就是当故障恢复后,ESXi不会切换回原来的路径,而是继续使用当前的路径。

    使用MRU策略的场景:

        主机默认使用右侧的交换机连接到存储的右侧控制器(左图),当这个控制器发生问题时,主机会切换到另外的路径(控制器)(中间图)。当控制器恢复正常后,主机不会切换回原来的路径,继续使用当前正在使用的路径(右图)

     

    Round Robin

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

        当前RR已经是许多存储的默认存储策略。

        RR方式是根据算法自动把IO分布在所有的可用路径(A/P存储)或者所有路径(A/A存储)上。当一个路径上的达到指定的传输量后,切换到另外一条路径。主要包括:

    • IOPS限制:默认。到达1000个IOPS后切换到另外的路径

    • Bytes限制:指定达到多少Bytes传输量后切换到另外的路径。

    这两个限制都可以手工修改,具体参考KB:

    Adjusting Round Robin IOPS limit from default 1000 to 1 (2069356)

    使用RR策略的场景:

        还是上面的案例,主机到存储LUN有多条路径,RR轮循使用不同的路径达到负载均衡的效果。

     

    什么是A/A、A/P 和ALUA

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

    在上文说SATP时候,我们说到VMware自带的SATP包括下面四种:

    • VMW_SATP_LOCAL

    • VMW_SATP_DEFAULT_AA

    • VMW_SATP_DEFAULT_AP

    • VMW_SATP_ALUA

    其中

    AA表示Active-Active存储

    AP表示Active-Passtive存储

    上面两个都很好理解,那么ALUA表示什么呢?(Asymmetric Logical Unit Access)

        使用ALUA,主机可以同时通过多个控制器访问同一个LUN。例如一个存储有两个控制器(A和B)两个控制器对外都是Active的状态,但是一个LUN的owner只有一个控制器(例如控制器A),因此如果用户通过控制器A的话,可以直接访问到LUN;通过控制器B的话,则在存储内部进行传输,最终还是通过控制器A访问到LUN。那么直接通过控制器A访问的路径就叫做“优化路径”,通过控制器B上访问的路径就叫做“非优化路径”,这种模式就叫做非对称逻辑单元访问(ALUA)

     

    在上面的示例中,LUN的Ower是左侧的控制器

    结合示意图我们再说明下,在左图中,我们可以看到存储路径没有被优化:我们找到了一条通往LUN的完全可接受的路径,但当我们到达那里时,发现左侧存储控制器目前拥有这个LUN。此时,虽然右侧存储控制器仍然可以访问LUN,但必须经过左侧存储控制器过程,因此这条路径没有进行优化。ALUA确保尽可使用最优化的路径。

     

    RR+ALUA

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

        下面的图展示了RR和ALUA搭配使用的场景:

        左侧的存储控制器是LUN的Owner,我们有两条优化路径可以达到这个控制器,因此RR会轮循使用这两个路径来访问LUN。

     

    什么时候会进行路径切换?

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

        经常有人会问我为什么发生问题时候主机没有进行路径切换?借着今天的机会我也说明下吧。简单来说,ESXi主机只有在收到特定的SCSI Code时才会进行路径切换。

        我们都知道在主机发送IO指令到存储后,如果发生异常的话,HBA,存储等设备会返回特定的SCSI Code。例如:

    2017-07-20T22:28:58.155Z cpu1:33548)ScsiDeviceIO: 2652: Cmd(0x43b72ec112c0) 0x28, CmdSN 0x388202 from world 0 to dev "naa.5000039698194c41" failed H:0x0 D:0x2 P:0x0 Valid sense data: 0x3 0x11 0x1.

        根据SCSI Code,我们可以查询到故障的原因是什么。有大神开发了工具可以方便快速的decode:

    http://www.virten.net/vmware/esxi-scsi-sense-code-decoder/

     

        需要说明的是SCSI Code是一个国际行业的标准,并不是VMware自己的标准。具体信息可以参考下面的网站:

    http://www.t10.org/lists/1spc-lst.htm

     

        回到路径切换的话题上,ESXi只有在收到特定的SCSI Code时才会进行路径切换。例如:

    • H:0x1 D:0x0 P:0x0 Valid sense data: 0x0 0x0 0x0  DID_NO_CONNECT

    • H:0x0 D:0x2 P:0x0 Valid sense data: 0x3 0x4 0x3 - MEDIUM ERROR - LOGICAL UNIT NOT READY

        因此如果发生问题时候没有发生路径切换,则需要检查发生问题时返回的SCSI Code是什么。

     

    具体参考这两篇KB:

    SCSI events that can trigger ESX server to fail a LUN over to another path (1003433)

    Understanding SCSI host-side NMP errors/conditions in ESX/ESXi 4.x, ESXi 5.x, and 6.x (1029039)

     

    以上是这次的更新,欢迎大家一起讨论。

     

    参考文档:

    https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.storage.doc/GUID-9DED1F73-7375-4957-BF69-41B56C3E5224.html

    https://deinoscloud.wordpress.com/2011/02/28/vmware-psa-mpp-nmp-psp-mru-and-tutti-quanti/

    https://www.vmadmin.co.uk/resources/35-esxserver/364-managing-nmp-changing-the-default-psp-for-a-satp-change-from-fixed-to-round-robin

    https://theithollow.com/2012/03/08/path-selection-policy-with-alua/

    https://blog.fosketts.net/2011/06/06/vmware-esx-vsphere-satp-psp-support-matrix/

    https://kb.vmware.com/s/article/2069356

    https://www.virten.net/vmware/vmware-esxi-scsi-sense-code-decoder-v2/

    https://blogs.vmware.com/vsphere/2012/02/configuration-settings-for-alua-devices.html

    http://www.yellow-bricks.com/2009/09/29/whats-that-alua-exactly/

    https://virtualgeek.typepad.com/virtual_geek/2009/09/a-couple-important-alua-and-srm-notes.html

    展开全文
  • python创建文件夹多层路径

    万次阅读 2021-06-24 15:18:09
    # 创建文件夹 def createFile(file_path): if os.path.exists(file_path) is False: os.makedirs(file_path)
  • Aspect Pointcut 多路径配置

    千次阅读 2019-09-20 15:29:57
    配置如下: @Pointcut("execution(* com.zit.itmp.monitorinfo.service.*.save*(..))" + "||execution(* com.zit.itmp.monitorinfo.service.*.delete*(..))" + "||execution(* ...
  • 一种基于A* 算法的动态多路径规划算法 本文转自:http://www.chinaaet.com/article/3000017595 2016年微型机与应用第04期 刘斌,陈贤富,程政 (中国科学技术大学 信息科学技术学院,安徽 合肥 230027) 摘要: 车载...
  • CentOS 7多路径配置

    千次阅读 2020-03-26 18:46:56
    操作系统采用CentOS 7.6,多路径软件已经预装到操作系统 如系统未预装多路径,可参考下图安装 在/etc目录下生成配置文件 /usr/sbin/mpathconf --enable 启动多路径服务,service multipathd start ...
  • 1、安装多路径软件 yum install device-mapper-multipath 2、将多路径软件添加至内核模块中 modprobe dm-multipath modprobe dm-round-robin 3、检查内核添加情况 lsmod |grep multipath 4、启动multipathd...
  • 在分享数据中心存储双活系列文章中,参考文章“双活架构设计必读的10篇深度文章”,不止一次提到多路径ALUA模式,也有很多小伙伴要求我简单讲讲ALUA相关知识,虽然随着专业存储的市场下滑,专业存储市场份额也会渐渐...
  • 下载依赖包 yum install device-mapper ...将多路径软件添加至内核模块中 modprobe dm-multipath modprobe dm-round-robin 检查内核添加情况 lsmod |grep multipath 启动multipath服务 service multi...
  • Spark读取单路径及多路径下的文件

    千次阅读 2020-01-05 21:00:43
    Spark读取单路径及多路径下的文件 1.1 sparkContext方式读取文件 spark.sparkContext.textFile方法返回一个rdd。 1.1.1 单路径读取 val rdd=spark.sparkContext.textFile(path) 1.1.2 多路径读取 1) 方式01 val ...
  • 原文链接:http://zhumeng8337797.blog.163.com/blog/static/1007689142013416111534352/一、什么是多路径普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,或者由...
  • Linux环境挂载多路径后端到指定目录

    千次阅读 2018-07-27 20:24:26
    当环境配置了多路径,执行lsblk命令可以看到一个盘有两个对应的多路径文件,如何将多路径的盘挂载到指定目录 1.创建挂载目录  #mkdir disk_dir 2.查看当前多路径盘路径  #fdisk -l   可以看到/dev/mapper/...
  • Linux下多路径使用及大容量硬盘挂载

    千次阅读 2018-02-05 12:36:19
    一、应用环境及需求 ...为保证链路的稳定性及传输性能等,可以使用多路径技术;挂载的存储硬盘超过了2T,MBR分区格式不能支持,需要使用到GPT分区格式 因为CentOS 6.4中已经自带了HP存储的驱动,会自动识别出挂
  • windows自带mpio(多路径)详解

    万次阅读 2018-01-12 15:41:47
    1.在双活系统中,常常为客户端配置多路径,来保证业务可持续,那今天我们来聊聊windows自带的MPIO 2.首先先教大家如何安装windows自带的MPIO (1)实验环境是windows2012 R2,其他版本大致一样,FC路径。首先...
  • center os 7下多路径的磁盘挂载

    千次阅读 2019-07-22 13:47:23
    1.multipath –ll 确认多路径 2.fdisk –l 确认磁盘状况 挂载磁盘号 /dev/mapper/mpatha 3.fdisk /dev/mapper/mpatha 新建磁盘(挂载硬盘小于2T的情况) 4.ls –l /dev/mapper/ 查看新建立的磁盘 5....
  • 华为存储的多路径说明

    万次阅读 2016-05-18 16:26:12
    华为存储不需要在OS层面安装多路径软件,而是通过存储本身聚合后映射至服务器使用。 如下: [root@lkrac1 rules.d]# fdisk -l Disk /dev/sda: 1099.5 GB, 1099511627776 bytes 255 heads, 63 sectors/track, 133674 ...
  • 配置:Linux 的 Device Mapper 多路径

    千次阅读 2015-09-11 10:03:42
    MD3200 系列存储阵列使用 Linux 操作系统软件框架(名为 Device Mapper(DM))以在 Linux 主机服务器上启用多路径功能。DM 多路径功能由驱动程序和公用程序的组合提供。本章介绍如何使用这些公用程序在 Linux 系统...
  • --扫描路径的xml --&gt; &lt;property name="mapperLocations"&gt; &lt;array&gt; &lt;value&gt;classpath:com/tourInteraction/mapper/*.xml&lt;/value&gt;...
  • ALUA,AA,多路径

    千次阅读 2015-12-30 14:29:15
    先说一下多路径 主机上每个SCSI设备都具有一个SCSI地址,该地址由initiator ID(或称为host ID)、bus ID、target ID以及LUN(逻辑单元号)组成;在实际组网中,initiator ID一般对应主机HBA端口,target ID一般...
  • [Hadoop]MapReduce多路径输入与多个输入

    千次阅读 2017-01-11 14:33:06
    1. 多路径输入FileInputFormat是所有使用文件作为其数据源的 InputFormat 实现的基类,它的主要作用是指出作业的输入文件位置。因为作业的输入被设定为一组路径, 这对指定作业输入提供了很强的灵活性。...
  • 日立多路径软件(HDLM)查看多路径状态:dlnkmgr view -path RHEL自带多路径软件(Multipath)查看多路径状态:multipath -ll EMC多路径软件(PowerPath)查看多路径状态:powermt display dev=all 华为多路径...
  • 多路径(multipath) 介绍

    万次阅读 2012-08-31 10:12:44
    一、什么是多路径 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来连接,这样的话,...
  • Windows server 2012 iSCSI多路径管理

    万次阅读 2015-12-07 19:44:06
    ; font-family: arial; font-size: 14px; line-height: 19.04px;...说明:在其中一块网卡出现故障时,iSCSI多路径会自动转移,但转移期间磁盘会处于挂起状态,此时磁盘不会进行读写操作,整个挂起的时间大概几十秒。
  • 存储的控制器冗余与多路径

    千次阅读 2016-06-09 18:05:50
    各种OS早期是不提供多路径管理的,后来陆续都被加入了原生的多路径软件,比如Linux下的MPIO,AIX下的MPIO,Windows下的MPIO等等,这些OS自带的多路径软件只提供简单的功能,比如盘符消除,通过识别磁盘的wwn来发现...
  • 一、什么是多路径 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来连接,这样的话,...
  • multipath多路径服务不能正常启动

    千次阅读 2018-04-17 22:22:54
    今天在国产化服务器使用multipath服务启动异常,然后发现了解决方法并记录。 未加载多路径的模块,dm-multipath #modprobe dm-multipath
  • Windows Server 2008多路径 I/O 概述

    千次阅读 2014-03-31 17:59:52
    面向高可用性的多路径支持 Windows Server? 2008 包括许多将运行 Windows 服务器级操作系统的计算机与存储区域网络 (SAN) 设备连接起来的增强功能。 集成的多路径 I/O (MPIO) 支持是为基于 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,003,529
精华内容 1,201,411
关键字:

多路径