linux挂载多路径fc存储,CentOS 配置 FC 存储多路径

  • Post author:
  • Post category:linux


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)