1 主机多路径配置 (挂载磁盘阵列)

rpm –qa|grep multipath 
rpm -ivh 包名
yum install device-mapper-multipath
systemctl enable multipathd.service 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@localhost multipath]# systemctl cat  multipathd.service
# /usr/lib/systemd/system/multipathd.service
[Unit]
Description=Device-Mapper Multipath Device Controller
Wants=blk-availability.service
Before=iscsi.service iscsid.service lvm2-activation-early.service
After=syslog.target systemd-udev-trigger.service
ConditionPathExists=/etc/multipath.conf
ConditionKernelCommandLine=!nompath
DefaultDependencies=no
Conflicts=shutdown.target

[Service]
Type=forking
PIDFile=/run/multipathd/multipathd.pid
ExecStartPre=/sbin/modprobe dm-multipath
ExecStartPre=-/sbin/multipath -A
ExecStart=/sbin/multipathd
ExecReload=/sbin/multipathd reconfigure
#ExecStop=/path/to/scrip delete-me if not necessary

[Install]
WantedBy=sysinit.target

sudo yum install iscsi-initiator-utils lvm2 rsyslog systemd open-iscsi
systemctl start iscsi iscsid lvm2-activation-early rsyslog systemd-udev-trigger
systemctl enable iscsi iscsid lvm2-activation-early rsyslog systemd-udev-trigger

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
[root@node3 data]# more /etc/multipath.conf
# This is a basic configuration file with some examples, for device mapper
# multipath.
#
# For a complete list of the default configuration values, run either
# multipath -t
# or
# multipathd show config
#
# For a list of configuration options with descriptions, see the multipath.conf
# man page

## By default, devices with vendor = "IBM" and product = "S/390.*" are
## blacklisted. To enable mulitpathing on these devies, uncomment the
## following lines.
#blacklist_exceptions {
# device {
# vendor "IBM"
# product "S/390.*"
# }
#}

## Use user friendly names, instead of using WWIDs as names.
defaults {
user_friendly_names yes
find_multipaths yes
}
##
## Here is an example of how to configure some standard options.
##
#
#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
#}
##
## The wwid line in the following blacklist section is shown as an example
## of how to blacklist devices by wwid. The 2 devnode lines are the
## compiled in default blacklist. If you want to blacklist entire types
## of devices, such as all scsi devices, you should use a devnode line.
## However, if you want to blacklist specific devices, you should use
## a wwid line. Since there is no guarantee that a specific device will
## not change names on reboot (from /dev/sda to /dev/sdb for example)
## devnode lines are not recommended for blacklisting specific devices.
##
#blacklist {
# wwid 26353900f02796769
# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
# devnode "^hd[a-z]"
#}
#multipaths {
# multipath {
# wwid 3600508b4000156d700012000000b0000
# alias yellow
# path_grouping_policy multibus
# path_selector "round-robin 0"
# failback manual
# rr_weight priorities
# no_path_retry 5
# }
# multipath {
# wwid 1DEC_____321816758474
# alias red
# }
#}
#devices {
# device {
# vendor "COMPAQ "
# product "HSV110 (C)COMPAQ"
# path_grouping_policy multibus
# path_checker readsector0
# path_selector "round-robin 0"
# hardware_handler "0"
# failback 15
# rr_weight priorities
# no_path_retry queue
# }
# device {
# vendor "COMPAQ "
# product "MSA1000 "
# path_grouping_policy multibus
# }
#}
devices {
device {
vendor "HUAWEI"
product "S5500T"
path_grouping_policy group_by_prio
prio alua
path_selector "round-robin 0"
path_checker tur
failback immediate
dev_loss_tmo 30
fast_io_fail_tmo 5
}
}
blacklist {
}

# end

强制刷新(Flush)当前所有多路径设备映射

1
multipath -F

重启多路径守护进程

1
2
systemctl restart multipathd.service
systemctl status multipathd.service

显示多路径调试信息: multipath -v3
列出所有多路径设备拓扑: multipath -ll

2 分区

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
[root@localhost ~]# parted /dev/mapper/mpatha
GNU Parted 3.1
使用 /dev/mapper/mpatha
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
警告: The existing disk label on /dev/mapper/mpatha will be destroyed and all data on this disk will be lost. Do you want to continue?
是/Yes/否/No? y
(parted) mkpart primary 0 -1
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? I
(parted) quit
信息: You may need to update /etc/fstab.

[root@localhost ~]# blkid
/dev/mapper/mpatha1: UUID="21236ff3-073d-4cef-8eb0-0389794be0c9" TYPE="xfs" PARTLABEL="primary" PARTUUID="9305b722-73df-4f41-8393-3d892d727c7c"

# 2 /etc/fstab
# 3 Created by anaconda on Mon Jun 19 14:22:30 2023
# 4 #
# 5 Accessible filesystems, by reference, are maintained under '/dev/disk'
# 6 See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
# 7 #
UUID=75359154-2b3a-46ee-abed-5b7a183d802d / xfs defaults 0 0
UUID=55f1713a-7a78-4d95-bff7-8c6e7da633ba /boot xfs defaults 0 0
UUID=4256-E488 /boot/efi vfat umask=0077,shortname=winnt 0 0
UUID=d3e394f9-532c-4a5d-89a3-c670f897f3fd /home xfs defaults 0 0
UUID=79928852-2e1a-46c4-82d2-41896a1add1c /data xfs defaults 0 0
UUID=3a32c76f-d986-4764-8f16-2ac92f3e127b swap swap defaults 0 0

[root@localhost ~]# mount -a

3 查看

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 557G 0 disk
├─sda1 8:1 0 2G 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 150G 0 part /
├─sda4 8:4 0 16G 0 part [SWAP]
└─sda5 8:5 0 388G 0 part /home
sdb 8:16 0 4T 0 disk
└─mpatha 253:0 0 4T 0 mpath
└─mpatha1 253:1 0 4T 0 part /data
sdc 8:32 0 4T 0 disk
└─mpatha 253:0 0 4T 0 mpath
└─mpatha1 253:1 0 4T 0 part /data
sr0 11:0 1 1024M 0 rom