multipath 多路径冗余multipath多路径冗余I/O(Multipath I/O)是指服务器通过多条物理路径连接到块存储设备。多路径冗余I/O也可以实现I/O的负载均衡,提高系统性能,但主要还是一种容错机制。

服务器和存储通过SAN光纤环境连接光纤交换机,服务器到存储的间的连接可以有 “1条或多条SAN光纤线缆,通过多对多的连接模式形成存储多路径,主机到存储之间的IO由多条路径可以选择

multipath 多路径解决问题

每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?

其中一条路径坏掉了,如何处理?

在操作系统的角度来看,每条路径,操作系统会认为是一个实际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已,这样是在使用的时候,就给用户带来了困惑。

多路径软件就是为了解决上面的问题应运而生的。多路径的主要功能就是和存储设备一起配合实现如下功能:

I/O流量分配:

多路径冗余、

磁盘的虚拟化

multipath 多路径软件的组成

multipath 多路径的软件包列表:

device-mapper-multipath-0.4.9-87.el6.x86_64

device-mapper-event-libs-1.02.95-2.el6.x86_64

device-mapper-persistent-data-0.3.2-1.el6.x86_64

device-mapper-multipath-libs-0.4.9-87.el6.x86_64

device-mapper-1.02.95-2.el6.x86_64

device-mapper-event-1.02.95-2.el6.x86_64

device-mapper-libs-1.02.95-2.el6.x86_64

依赖包列表

libaio-0.8.8-7.1el6x86_64.rpm

libaio-0.3.107-10.e16.x86_64.rpm

libaio-devel-0.3.107-10.e16.x86_64.rpm

device-mapper-multipath

提供multipathd和multipath等工具和 multipath.conf 等配置文件。这些工具通过 device mapper 的ioctr的接口创建和配置multipath设备(调用device-mapper的用户空间库。创建的多路径设备会在/dev/mapper中。

device-mapper

device-mapper包括两大部分:

内核部分:

内核部分由 device-mapper 核心(multipath.ko)和一些 target drive(dm-multipath.ko)构成。

dm-mod.ko 是实现 multipath 的基础,dm-multipath 其实是 dm 的一个target驱动。

核心完成设备的映射,而target根据映射关系和自身特点具体处理从mappered device 下来的i/o。同时,在核心部分,提供了一个接口,用户通过ioctr可和内核部分通信,以指导内核驱动的行为,比如如何创建mappered device,这些device的属性等。

用户空间部分:

包括 device-mapper 这个包。其中包括 dmsetup 工具和一些帮助创建和配置 mappered device 的库。这些库主要抽象,封装了与 ioctr 通信的接口,以便方便创建和配置 mappered device。

device-mapper-multipath 的程序中就需要调用这些库;

scsi_id scsi 唯一标识符

其包含在 udev 程序包中,可以在multipath.conf中配置该程序来获取scsi设备的序号。

通过序号,便可以判断多个路径对应了同一设备。这个是多路径实现的关键。

scsi_id 是通过 sg 驱动,向设备发送 EVPD page80 或 page83 的 inquery 命令来查询 scsi 设备的标识。但一些设备并不支持 EVPD 的inquery命令,所以他们无法被用来生成 multipath 设备。

但可以改写 scsi_id,为不能提供 scsi 设备标识的设备虚拟一个标识符,并输出到标准输出。

multipath 程序在创建 multipath 设备时,会调用 scsi_id,从其标准输出中获得该设备的 scsi id。

在改写时,需要修改 scsi_id 程序的返回值为0。因为在 multipath 程序中,会检查该直来确定 scsi id 是否已经成功得到。

wwid

在Linux系统中,如果添加了新的SCSI磁盘或者映射SAN存储LUN操作,重启操作系统之后会出现磁盘标识符(sd*)错乱的情况。

根据SCSI标准,每个SCSI磁盘都有一个WWID,类似于网卡的MAC地址,要求是独一无二。通过WWID标示SCSI磁盘就可以保证磁盘路径永久不变,Linux系统上/dev/disk/by-id目录包含每个SCSI磁盘WWID访问路径。

例如之前添加的SAN存储LUN的磁盘标识符为/dev/sdd,重启之后发现变成/dev/sdh,特别是oracle RAC环境下我们是不希望出现这样的情况的。 解决这个问题之前,需要先搞清楚Linux系统中的wwid和uuid号。

实例配置 multipath 多路径冗余

获取 FC光纤 接口的 WWN 号并记录

获取 FC 光纤存储的 WWN 号告知存储管理员,然后存储管理员将划分好的 LUN 映射给 指定的 WWN 号 FC 光纤接口

Shell

ls -l /sys/class/fc_host/ # 列出主机上已经启用的 FC 光纤接口

total 0

lrwxrwxrwx. 1 root root 0 May 11 00:07 host7 -> ../../devices/pci0000:80/0000:80:02.0/0000:81:00.0/host7/fc_host/host7 # 主机口7

lrwxrwxrwx. 1 root root 0 May 11 00:07 host8 -> ../../devices/pci0000:c0/0000:c0:03.0/0000:c2:00.0/host8/fc_host/host8 # 主机口8

cat /sys/class/fc_host/host7/port_name # 查看主机光纤 7 口的 WWN 号

0x21000024ff153440 # 光纤 7 口的 WWN 号

cat /sys/class/fc_host/host8/port_name # 查看主机光纤 8 口的 WWN 号

0x21000024ff15343b # 光纤 8 口的 WWN 号

1

2

3

4

5

6

7

8

9

10

11

12

ls-l/sys/class/fc_host/# 列出主机上已经启用的 FC 光纤接口

total0

lrwxrwxrwx.1rootroot0May1100:07host7->../../devices/pci0000:80/0000:80:02.0/0000:81:00.0/host7/fc_host/host7# 主机口7

lrwxrwxrwx.1rootroot0May1100:07host8->../../devices/pci0000:c0/0000:c0:03.0/0000:c2:00.0/host8/fc_host/host8# 主机口8

cat/sys/class/fc_host/host7/port_name# 查看主机光纤 7 口的 WWN 号

0x21000024ff153440# 光纤 7 口的 WWN 号

cat/sys/class/fc_host/host8/port_name# 查看主机光纤 8 口的 WWN 号

0x21000024ff15343b# 光纤 8 口的 WWN 号

获取 存储分配磁盘wwid

根据SCSI标准,每个SCSI磁盘都有一个WWID,类似于网卡的MAC地址,要求是独一无二。

通过WWID标示SCSI磁盘就可以保证磁盘路径永久不变,Linux系统上/dev/disk/by-id目录包含每个SCSI磁盘WWID访问路径。

Shell

# 查看指定磁盘的 wwid 号

# ls -al ll /dev/disk/by-id/ 列出所有已经挂载的 wwid

# scsi_id ----whitelist /dev/sdb 列出 已挂载和未挂载 的指定磁盘设备的 wwid 号

# 或者 scsi_id -u -g /dev/sdd 列出 已挂载和未挂载 的指定磁盘设备的 wwid 号

scsi_id -u -g /dev/sdd # 列出 sdb 磁盘设备的 wwid 号

3600d02310005f8e5779138af484652fe

scsi_id -u -g /dev/sdc # 列出 sdc 磁盘设备的 wwid 号

3600d02310005f8e5779138af484652fe

scsi_id -u -g /dev/sdd # 列出 sdd 磁盘设备的 wwid 号

3600d02310005f8e5779138af484652fe

scsi_id -u -g /dev/sde # 列出 sde 磁盘设备的 wwid 号

3600d02310005f8e5779138af484652fe

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

# 查看指定磁盘的 wwid 号

# ls -al ll /dev/disk/by-id/ 列出所有已经挂载的 wwid

# scsi_id ----whitelist /dev/sdb 列出 已挂载和未挂载 的指定磁盘设备的 wwid 号

# 或者 scsi_id -u -g /dev/sdd 列出 已挂载和未挂载 的指定磁盘设备的 wwid 号

scsi_id-u-g/dev/sdd# 列出 sdb 磁盘设备的 wwid 号

3600d02310005f8e5779138af484652fe

scsi_id-u-g/dev/sdc# 列出 sdc 磁盘设备的 wwid 号

3600d02310005f8e5779138af484652fe

scsi_id-u-g/dev/sdd# 列出 sdd 磁盘设备的 wwid 号

3600d02310005f8e5779138af484652fe

scsi_id-u-g/dev/sde# 列出 sde 磁盘设备的 wwid 号

3600d02310005f8e5779138af484652fe

安装 multipath 相关软件包

Shell

# 挂载 CentOS 安装光盘

mkdir /mnt/cdrom # 在 /mnt 路径下创建 cdrom 目录,用于挂载CentOS的安装光盘

mount /dev/sr0 /mnt/cdrom/ # 将 CentOS 安装光盘挂载到 /mnt/cdrom 目录下

cd /mnt/cdrom/Packages/ # 进入 Packages 数据包目录中

rpm -ivh libaio-0.8.8-7.1el6x86_64.rpm libaio-0.3.107-10.e16.x86_64.rpm libaio-devel-0.3.107-10.e16.x86_64.rpm # 安装相关依赖包

rpm -ivh device-mapper-multipath-0.4.9-87.el6.x86_64 device-mapper-event-libs-1.02.95-2.el6.x86_64 # 安装multipath 多路径冗余软件包

rpm -ivh device-mapper-persistent-data-0.3.2-1.el6.x86_64 device-mapper-multipath-libs-0.4.9-87.el6.x86_64 # 安装multipath 多路径冗余软件包

rpm -ivh device-mapper-1.02.95-2.el6.x86_64 device-mapper-event-1.02.95-2.el6.x86_64 # 安装multipath 多路径冗余软件包

rpm -ivh device-mapper-libs-1.02.95-2.el6.x86_64 # 安装 multipath 多路径冗余软件包

reboot # 软件包安装完成后,重启服务器

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

# 挂载 CentOS 安装光盘

mkdir/mnt/cdrom# 在 /mnt 路径下创建 cdrom 目录,用于挂载CentOS的安装光盘

mount/dev/sr0/mnt/cdrom/# 将 CentOS 安装光盘挂载到 /mnt/cdrom 目录下

cd/mnt/cdrom/Packages/# 进入 Packages 数据包目录中

rpm-ivhlibaio-0.8.8-7.1el6x86_64.rpmlibaio-0.3.107-10.e16.x86_64.rpmlibaio-devel-0.3.107-10.e16.x86_64.rpm# 安装相关依赖包

rpm-ivhdevice-mapper-multipath-0.4.9-87.el6.x86_64device-mapper-event-libs-1.02.95-2.el6.x86_64# 安装multipath 多路径冗余软件包

rpm-ivhdevice-mapper-persistent-data-0.3.2-1.el6.x86_64device-mapper-multipath-libs-0.4.9-87.el6.x86_64# 安装multipath 多路径冗余软件包

rpm-ivhdevice-mapper-1.02.95-2.el6.x86_64device-mapper-event-1.02.95-2.el6.x86_64# 安装multipath 多路径冗余软件包

rpm-ivhdevice-mapper-libs-1.02.95-2.el6.x86_64# 安装 multipath 多路径冗余软件包

reboot# 软件包安装完成后,重启服务器

将多路径软件 multipath 添加至内核模块中

Shell

# 将多路径软件添加至内核模块中

modprobe dm-multipath # dm-multipath 添加至内核模块

modprobe dm-round-robin # dm-round-robin 添加至内核模块

# 检查内核添加情况

lsmod |grep multipath #--查看内核加载multipath信息

dm_multipath 17916 2 dm_round_robin

dm_mod 99200 21 dm_multipath,dm_mirror,dm_log

# 将多路径软件 multipath 设置为开机自启动

chkconfig --level 2345 multipathd on # 2345 级启动 multipathd 或者

systemctl enable multipathd # multipath 设置为开机自启动

service multipathd restart # 重启 multipath 服务 或者

systemctl restart multipathd # 重启 multipath 服务

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

# 将多路径软件添加至内核模块中

modprobedm-multipath# dm-multipath 添加至内核模块

modprobedm-round-robin# dm-round-robin 添加至内核模块

# 检查内核添加情况

lsmod|grepmultipath#--查看内核加载multipath信息

dm_multipath179162dm_round_robin

dm_mod9920021dm_multipath,dm_mirror,dm_log

# 将多路径软件 multipath 设置为开机自启动

chkconfig--level2345multipathdon# 2345 级启动 multipathd 或者

systemctlenablemultipathd# multipath 设置为开机自启动

servicemultipathdrestart# 重启 multipath 服务 或者

systemctlrestartmultipathd# 重启 multipath 服务

生成多路径软件 multipath 的配置文件 multipath.conf

编辑/etc/multipath.conf。默认情况下, /etc/multipath.conf 配置文件不存在,需要使用 multipath 命令生成 multipath.conf 配置文件

Shell

# 1. 生成多路径软件 multipaths 的 配置文件 multipath.conf

cd /sbin # 进入 /sbin 目录

./mpathconf --enable --find_multipaths y --with_module y --with_chkconfig y

# 1. mpathconf 命令生成配置文件,并删除配置文件中的 黑名单列表,在配置中添加默认的配置,安装多路径模块,将 multipaths 服务设为开启自启动

1

2

3

4

5

6

7

# 1. 生成多路径软件 multipaths 的 配置文件 multipath.conf

cd/sbin# 进入 /sbin 目录

./mpathconf--enable--find_multipathsy--with_moduley--with_chkconfigy

# 1. mpathconf 命令生成配置文件,并删除配置文件中的 黑名单列表,在配置中添加默认的配置,安装多路径模块,将 multipaths 服务设为开启自启动

编辑多路径配置文件 multipath.conf

Shell

# 2. 编辑多路径配置文件 multipath.conf

vim /etc/multipath.conf # 编辑配置文件

# 文件末尾 插入如下信息

# 黑名单列表,将所有的 本地磁盘或者 RADI 磁盘放入黑名单列表,排除这些指定的磁盘.

blacklist {

wwid SPM8060-_1_487934AD # 黑名单设备的 wwid 号

devnode "^sda" # 黑名单设备名称

# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"

devnode "^hd[a-z]"

}

# 单个磁盘的相关属性

multipaths {

multipath {

wwid 3600d02310005f8e5779138af484652fe # FC wwid 号

alias FC_LUN001 # 存储别名

path_grouping_policy multibus # 路径策略,multibus failover,前者做负载均衡,后者是主备方式

# path_checker readsector0 # 默认路径检查:读取设备的第一扇区

path_selector "round-robin 0" # 路径选择:轮循

failback manual # 管理路径故障恢复的方法:手动

rr_weight priorities # 路径优先级:优先

no_path_retry 5 # 队列重复值:默认为0

}

}

# 存储设备的相关属性

devices {

device {

vendor "INSPUR" # 存储厂商

product "AS5500" # 产品名称

path_grouping_policy multibus # 路径策略:负载均衡

getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" # 调出 /dev/ 下的所有设备的 唯一标识符

path_checker readsector0 # 默认路径检查:读取设备的第一扇区

path_selector "round-robin 0" # 路径选择:轮循

hardware_handler "0"

failback 15

rr_weight priorities

no_path_retry queue

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

# 2. 编辑多路径配置文件 multipath.conf

vim/etc/multipath.conf# 编辑配置文件

# 文件末尾 插入如下信息

# 黑名单列表,将所有的 本地磁盘或者 RADI 磁盘放入黑名单列表,排除这些指定的磁盘.

blacklist{

wwidSPM8060-_1_487934AD# 黑名单设备的 wwid 号

devnode"^sda"# 黑名单设备名称

#      devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"

devnode"^hd[a-z]"

}

# 单个磁盘的相关属性

multipaths{

multipath{

wwid3600d02310005f8e5779138af484652fe# FC wwid 号

aliasFC_LUN001# 存储别名

path_grouping_policymultibus# 路径策略,multibus failover,前者做负载均衡,后者是主备方式

#              path_checker            readsector0 # 默认路径检查:读取设备的第一扇区

path_selector"round-robin 0"# 路径选择:轮循

failbackmanual# 管理路径故障恢复的方法:手动

rr_weightpriorities# 路径优先级:优先

no_path_retry5# 队列重复值:默认为0

}

}

# 存储设备的相关属性

devices{

device{

vendor"INSPUR"# 存储厂商

product"AS5500"# 产品名称

path_grouping_policymultibus# 路径策略:负载均衡

getuid_callout"/lib/udev/scsi_id --whitelisted --device=/dev/%n"# 调出 /dev/ 下的所有设备的 唯一标识符

path_checkerreadsector0# 默认路径检查:读取设备的第一扇区

path_selector"round-robin 0"# 路径选择:轮循

hardware_handler"0"

failback15

rr_weightpriorities

no_path_retryqueue

}

}

格式化路径

Shell

multipath -v2 # 格式化路径,检测路径,合并路径

service multipathd reload # 重新载入 multipathd 服务的配置 或者

systemctl multipathd reload # 重新载入 multipathd 服务的配置

service multipathd restart # 重启 multipath 服务 或者

systemctl restart multipathd # 重启 multipath 服务

reboot # 重启系统

multipath -ll | more # 查看、检查多路径信息

FC_LUN001 (3600d02310005f8e5779138af484652fe) dm-2 Inspur,AS Manager 5500

size=10T features='1 queue_if_no_path' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=0 status=active

|- 7:0:0:0 sdb 8:16 active undef running

|- 8:0:0:0 sdd 8:48 active undef running

|- 7:0:1:0 sdc 8:32 active undef running

`- 8:0:1:0 sde 8:64 active undef running

# 可以看到 四条 FC 路径已经上线

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

multipath-v2# 格式化路径,检测路径,合并路径

servicemultipathdreload# 重新载入 multipathd 服务的配置 或者

systemctlmultipathdreload# 重新载入 multipathd 服务的配置

servicemultipathdrestart# 重启 multipath 服务 或者

systemctlrestartmultipathd# 重启 multipath 服务

reboot# 重启系统

multipath-ll|more#  查看、检查多路径信息

FC_LUN001(3600d02310005f8e5779138af484652fe)dm-2Inspur,ASManager5500

size=10Tfeatures='1 queue_if_no_path'hwhandler='0'wp=rw

`-+-policy='round-robin 0'prio=0status=active

|-7:0:0:0sdb8:16activeundefrunning

|-8:0:0:0sdd8:48activeundefrunning

|-7:0:1:0sdc8:32activeundefrunning

`-8:0:1:0sde8:64activeundefrunning

# 可以看到 四条 FC 路径已经上线

实例配置 FC 存储划分

FC 路径多路径上线,并配置完成后,需要为指定的 磁盘(LUN) 做磁盘初始化,并创建 pv、vg、lv、相关卷组。

MBR 分区表不支持,大于 2TB 的磁盘

大于 2TB 的磁盘 建议采用 XFS 系统,而非 ext4 文件系统。

划分 磁盘(LUN)

Shell

parted /dev/mapper/FC_LUN001 # 格式化 FC_LUN001 磁盘

GNU Parted 2.1

use /dev/FC_LUN001

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted)mklabel gpt # 在当前 FC_LUN001存储建立GPT分区表

Warning: The existing disk label on /dev/FC_LUN001 will be destroyed and all data on this disk will be lost. Do you want to continue?

Yes/No? Yes

(parted)mkpart primary "Linux system" xfs 0 -1

# 将磁盘划分为主分区、 分区名称为 Linux system、 分区文件系统为 XFS、 0 -1表示将整个磁盘作为一个分区

Warning: You requested a partition from 0.00B to 11000GB.

The closest location we can manage is 17.4kB to 11000GB.

Is this still acceptable to you?

Yes/No? Yes

(parted)print #--查看当前分区情况

Model: OPNFILER VIRTUAL-DISK (scsi)

Disk /dev/FC_LUN001: 11000GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Number Start End Size File system Name Flags

1 0.00B 11.0TB 11.0TB xfs Linux system

(parted)quit # 保存并退出 parted 程序

Info: You may need to update /etc/fstab.

# 重启操作系统。

reboot

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

parted/dev/mapper/FC_LUN001# 格式化 FC_LUN001 磁盘

GNUParted2.1

use/dev/FC_LUN001

WelcometoGNUParted!Type'help'toviewalistofcommands.

(parted)mklabelgpt# 在当前 FC_LUN001存储建立GPT分区表

Warning:Theexistingdisklabelon/dev/FC_LUN001willbedestroyedandalldataonthisdiskwillbelost.Doyouwanttocontinue?

Yes/No?Yes

(parted)mkpartprimary"Linux system"xfs0-1

# 将磁盘划分为主分区、 分区名称为 Linux system、 分区文件系统为 XFS、 0 -1表示将整个磁盘作为一个分区

Warning:Yourequestedapartitionfrom0.00Bto11000GB.

Theclosestlocationwecanmanageis17.4kBto11000GB.

Isthisstillacceptabletoyou?

Yes/No?Yes

(parted)print#--查看当前分区情况

Model:OPNFILERVIRTUAL-DISK(scsi)

Disk/dev/FC_LUN001:11000GB

Sectorsize(logical/physical):512B/512B

PartitionTable:gpt

NumberStartEndSizeFilesystemNameFlags

10.00B11.0TB11.0TBxfsLinuxsystem

(parted)quit# 保存并退出 parted 程序

Info:Youmayneedtoupdate/etc/fstab.

# 重启操作系统。

reboot

创建 vg 逻辑卷组

Shell

parted -l |grep FC_LUN001 # 查看指定的磁盘(LUN)是否已经上线

Error: /dev/mapper/FC_LUN001p1: unrecognised disk label

Disk /dev/mapper/FC_LUN001: 11.0TB

# 或者

fdisk -l |grep FC_LUN001 # 查看指定的磁盘(LUN)是否已经上线

Disk /dev/mapper/FC_LUN001: 10995.1 GB, 10995116277760 bytes

/dev/mapper/FC_LUN001p1 1 267350 2147483647+ ee GPT

Disk /dev/mapper/FC_LUN001p1: 10995.1 GB, 10995116243456 bytes

pvcreate /dev/mapper/FC_LUN001p1 # 将指定的磁盘分区 FC_LUN001p1 初始化为 PV 物理卷

vgcreate FC_VG01 /dev/mapper/FC_LUN001p1

# 创建一个vg卷组为 FC_VGData 的卷组,并将 FC_LUN001p1 PV物理卷加入 FC_VGData 卷组中

lvcreate -L +10T -n FC_LV_Lun001 FC_VG01 # 在VG卷组 FC_VG01 中,创建一个大小为 10TB 的逻辑卷,逻辑卷的名称为 FC_LV_LUN001

# 下面这条命令非必要,可以忽略

lvcreate -l 100%free -n FC_LV_LUN001 FC_VG01 # 将逻辑卷改为 100% 的空间

vgs | grep FC_VG01 # 查看 VG 逻辑卷卷组

VG #PV #LV #SN Attr VSize VFree

FC_VG01 1 1 0 wz--n- 10.00t 0

pvs | grep FC_LUN # 查看 PV 物理卷

PV VG Fmt Attr PSize PFree

/dev/mapper/FC_LUN001p1p1 FC_VG01 lvm2 a-- 10.00t 0

lvs | grep FC_LV_LUN # 查看 LV 逻辑卷

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

FC_LV_LUN001 FC_VG01 -wi-ao---- 10.00t

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

parted-l|grepFC_LUN001# 查看指定的磁盘(LUN)是否已经上线

Error:/dev/mapper/FC_LUN001p1:unrecogniseddisklabel

Disk/dev/mapper/FC_LUN001:11.0TB

# 或者

fdisk-l|grepFC_LUN001# 查看指定的磁盘(LUN)是否已经上线

Disk/dev/mapper/FC_LUN001:10995.1GB,10995116277760bytes

/dev/mapper/FC_LUN001p112673502147483647+eeGPT

Disk/dev/mapper/FC_LUN001p1:10995.1GB,10995116243456bytes

pvcreate/dev/mapper/FC_LUN001p1# 将指定的磁盘分区 FC_LUN001p1 初始化为 PV 物理卷

vgcreateFC_VG01/dev/mapper/FC_LUN001p1

# 创建一个vg卷组为 FC_VGData 的卷组,并将 FC_LUN001p1 PV物理卷加入 FC_VGData 卷组中

lvcreate-L+10T-nFC_LV_Lun001FC_VG01# 在VG卷组 FC_VG01 中,创建一个大小为 10TB 的逻辑卷,逻辑卷的名称为 FC_LV_LUN001

# 下面这条命令非必要,可以忽略

lvcreate-l100%free-nFC_LV_LUN001FC_VG01# 将逻辑卷改为 100% 的空间

vgs|grepFC_VG01# 查看 VG 逻辑卷卷组

VG#PV #LV #SN Attr   VSize  VFree

FC_VG01110wz--n-10.00t0

pvs|grepFC_LUN# 查看 PV 物理卷

PVVGFmtAttrPSizePFree

/dev/mapper/FC_LUN001p1p1FC_VG01lvm2a--10.00t0

lvs|grepFC_LV_LUN# 查看 LV 逻辑卷

LVVGAttrLSizePoolOriginData%Meta%MoveLogCpy%SyncConvert

FC_LV_LUN001FC_VG01-wi-ao----10.00t

安装 XFS 格式化工具

对于,大于 2TB 的磁盘建议使用 Red Hat(红帽) 的 XFS 文件系统

Shell

# 挂载 CentOS 安装光盘,并通过 yum 安装 mkfs.xfs

mount /dev/sr0 /mnt/cdrom/ # 将 CentOS 安装光盘挂载到 /mnt/cdrom 目录下

cd /etc/yum.repos.d/ # 进入 yum 源目录中

mkdir yum_back # 在 yum 源目录中创建一个 备份文件夹

mv * ./yum_back/ # 将 yum 中所有的文件移动至备份文件夹 yum_back 中

vim ./Local.repo # 创建一个本地的 yum 源配置文件

# 并输入如下内容,并保存

[Local]

name=Local

baseurl=file:///mnt/cdrom

endbled=1

gpgcheck=0

yum clean all # 清空 yum 缓存配置,使新的 yum 生效

yum install xfsprogs xfsdump # 安装 mkfs.xfs 文件系统格式工具

mkfs.xfs /dev/mapper/FC_VG01-FC_LV_LUN001 # 将 FC_VG01-FC_LV_LUN001 格式化为 XFS 文件系统

blkid |grep FC_LV_LUN # 可以看到 FC_VG01-FC_LV_LUN001 块设备已经被认出

/dev/mapper/FC_VG01-FC_LV_LUN001: UUID="615472f3-9878-4829-abb4-6eff27d09042" TYPE="xfs"

mount /dev/mapper/FC_VG01-FC_LV_LUN001 /FC/Data # 将指定的磁盘分区挂载到 /FC/Data 路径下

vim /etc/fstab # 编辑 fstab 开机自动挂载

# 并在 文件最后行中输入下如下内容,并保存退出

/dev/mapper/FC_VG01-FC_LV_LUN001 /FC/Data xfs defaults 0 0

reboot # 重启服务器

mount |grep FC_VG01 # 重启后,可以看到 FC_VG01-FC_LV_LUN001 已经自动挂载

/dev/mapper/FC_VG01-FC_LV_LUN001 on /FC/Data type xfs (rw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

# 挂载 CentOS 安装光盘,并通过 yum 安装 mkfs.xfs

mount/dev/sr0/mnt/cdrom/# 将 CentOS 安装光盘挂载到 /mnt/cdrom 目录下

cd/etc/yum.repos.d/# 进入 yum 源目录中

mkdiryum_back# 在 yum 源目录中创建一个 备份文件夹

mv*./yum_back/# 将 yum 中所有的文件移动至备份文件夹 yum_back 中

vim./Local.repo# 创建一个本地的 yum 源配置文件

# 并输入如下内容,并保存

[Local]

name=Local

baseurl=file:///mnt/cdrom

endbled=1

gpgcheck=0

yumcleanall# 清空 yum 缓存配置,使新的 yum 生效

yuminstallxfsprogsxfsdump# 安装 mkfs.xfs 文件系统格式工具

mkfs.xfs/dev/mapper/FC_VG01-FC_LV_LUN001# 将 FC_VG01-FC_LV_LUN001 格式化为 XFS 文件系统

blkid|grepFC_LV_LUN# 可以看到 FC_VG01-FC_LV_LUN001 块设备已经被认出

/dev/mapper/FC_VG01-FC_LV_LUN001:UUID="615472f3-9878-4829-abb4-6eff27d09042"TYPE="xfs"

mount/dev/mapper/FC_VG01-FC_LV_LUN001/FC/Data# 将指定的磁盘分区挂载到 /FC/Data 路径下

vim/etc/fstab# 编辑 fstab 开机自动挂载

# 并在 文件最后行中输入下如下内容,并保存退出

/dev/mapper/FC_VG01-FC_LV_LUN001/FC/Dataxfsdefaults00

reboot# 重启服务器

mount|grepFC_VG01# 重启后,可以看到 FC_VG01-FC_LV_LUN001 已经自动挂载

/dev/mapper/FC_VG01-FC_LV_LUN001on/FC/Datatypexfs(rw)

linux挂载多路径fc存储,CentOS 配置 FC 存储多路径相关推荐

  1. centos 配置SAN存储--IPSAN

    简单的介绍一下SAN (存储区域网络 storage area network and SAN protocols ,简称SAN),它是一种高速网络实现计算机与存储系统之间的数据传输.常见的分类是FC ...

  2. Linux上的node站点之centos配置nodejs运行环境笔记

    centos配置nodejs运行环境 原来的项目放在windowsserver上了,现在换个系统要重新配置下. 先看看是不是安装python rpm -qa|grep python 一般租的云服务器会 ...

  3. java连接sqlite数据库 相对路径怎么写_配置sqlite的相对路径

    一般在使用sqlite的时候都是配置url为绝对路径,但是今天在测试代码的时候想到如果将 项目不到tomcat上之后,db文件总不能一直配置成绝对路径,肯定是项目中的某个位置, 因此对jdbc配置文件 ...

  4. linux 挂载exfat u盘 yum,centos挂载exfat u盘

    1. 前言 ExFAT(Extended File Allocation Table扩展文件分配表)是一种针对SD卡和USB闪存驱动器(U盘)等闪存设备进行优化的Microsoft专有文件系统. 它旨 ...

  5. linux如何查看本地yum源地址,CentOS配置本地yum源

    在网上找了很多为CentOS 6配置本地YUM源的方法,其中有很多是与网络相关的,我只想配个自己用的,结果就发现这个方法比较简单实用,就转过来了. 环境:CentOS 6.0 默认的yum是以网络来安 ...

  6. linux 挂载ISO文件以及yum源配置

    经常使用redhat的文件下载东西,用光盘挂载太麻烦,就直接把iso文件拷贝进虚拟机,直接用文件挂载. 1,如果是临时挂在,mount -loop  /*.iso /dirfile .必须有一个-lo ...

  7. java log4j 路径配置_log4j配置文件中路径配置一般有三种方法:

    log4j配置文件中路径配置一般有三种方法: (1)绝对路径法:直接配置为系统觉得路径: (2)相对路径法: log4j.appender.logfile.File=../logs/app.log,将 ...

  8. Centos 8.1存储多路径配置

    系统环境 centos 8.1 服务器环境 戴尔R740服务器 2张12GB sas HBA卡 存储环境 DELL ME4084存储 阵列环境 5个RAID6 每个raid6由16个8TB硬盘组成 硬 ...

  9. linux上配置存储硬盘,Linux 挂载iscsi储存磁盘设备

    Linux 挂载iscsi存储磁盘设备 1,check网络 [root@localhost ~]# ping -I eth0 11.110.10.138 PING 11.110.10.138 (11. ...

最新文章

  1. Qt多线程示例--并发数据处理
  2. openshift_在OpenShift上扩展Java EE微服务
  3. 天龙八部服务器都需要那种系统,天龙八部排行榜系统怎么看 排行榜系统分类介绍...
  4. 如何解决安卓项目在Android Studio无法打开
  5. catia怎么将特征参数化_浅谈Catia VBA与参数化建模的结合
  6. Javase MINA框架
  7. EasyPoi如何使用注解导出,并且添加自增序号?
  8. OCR为你定义驾驶证识别(驾照识别)技术
  9. 在VMware Workstation中创建一个虚拟软盘,并在Windows XP上使用
  10. 海康威视网络摄像机远程监控配置(DDNS)
  11. HTML函数多个条件并列,countifs多个并列条件(countifs同一列2个条件
  12. 第四章 软件总体设计
  13. 插入缺失InDel insertion deletion
  14. UG二次开发GRIP创建注释
  15. matlab中plot矢量长度,关于plot函数矢量长度弹错的问题
  16. 地理距离测算(方法免费共享,经纬度、省份、地级市、港口间距离)
  17. 一天发十万封邮件方法_给老外发邮件,要注意这17点!
  18. 高中信息技术python及答案_高中信息技术《Python语言》模块试卷.docx
  19. 【数据结构】带头结点的单链表
  20. GDCM:SCU验证的测试程序

热门文章

  1. 目标检测-RCNN家族
  2. 邮箱都有哪些,哪一个邮箱比较好,邮箱品牌哪个好用
  3. 网络设备的基本链接和调试
  4. 微信小程序制作(Vant Weapp)
  5. PHP中PSR-[0-4]规范(转)
  6. 软件行业和饭店惊人的相似
  7. centos怎么查看端口是否开放
  8. Linux下搭建云服务器(三) —— Mysql安装
  9. 巨杉数据库荣获新睿之星,赋能大湾区技术与产业升级
  10. 一步步学习微软InfoPath2010和SP2010--第十章节--与SharePoint Designer工作流的InfoPath集成(6)--关键点