-
Notifications
You must be signed in to change notification settings - Fork 3
/
TODO
249 lines (159 loc) · 7.3 KB
/
TODO
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
- rename package to gpfs-goodies
(debian compliant)
- for SMcli capable storage, use "SMcli -d -w" to capture the info, then
use "SMcli -w $WWID" to invoke the commands. If multiple controllers
with the same name, append a number to the end of them:
[root@x36n01 ~]# SMcli -d -w
DCS3860 600a09800056e8d9000000005375f2aa dcs3860.a dcs3860.b 172.16.0.19 172.16.0.18
DCS3860 600a09800056e9180000000053ad6572 dcs3860.a
Tahoe 600a09800056e8d90000000053ad64cd dcs3860.a dcs3860.b
-> Names like so:
dcs3860_1 -> 600a09800056e8d9000000005375f2aa
dcs3860_2 -> 600a09800056e9180000000053ad6572
- consider adding libnet-mac-vendor-perl to look up mac address for
storage to map into method (SMCli, etc.)
- add ping test to each --deploy server as part of the options
validation at the beginning
- add test for multipathd and multipath on each --deploy server as part
of options validation at beginning
- consider how name is derived from non-SMClient devices. Example:
Trying 10.73.1.23...
Connected to flashctl1-a.
Escape character is '^]'.
flashctl1-a login: admin
Password:
IBM - Intelligent Cluster
FlashSystem-820 Management Interface
Firmware Version: 6.3.1
Storage Capacity: 9.37 TiB
Management Controller: mc-1
Eth0 IP Address: 10.73.1.23
Hostname: flashctl1-a
Chassis Serial: T-XSXS
- Add bit to Makefile that creates GPFS_Goodies web page:
echo "Section Header info"
./multipath.conf-creator --help >> webpage
echo "Section Header info"
./tune --help >> webpage
etc...
- Do Videos:
Part 1: Introduction to GPFS Goodies
Part 2: Auto-configuring Linux Kernel Multipath
Part 3: Hot Adding and Removing SCSI Subsystem Devices
Part 4: Auto-tuning your Block Devices
- Break out multipath.conf file chunks by device type
/etc/gpfs_goodies/multipath.conf_source_files/
- Add a "--scheduler [cfq|noop|deadline|as]" option to
tune_block_device_settings...
- Comments from Scott Denham:
In the longer run, I'd like to see it be more "Linux-like" in storing
the specific parameter values in /etc/sysconfig/<device type> or the
like, and to be able to dynamically expand / contract which
/sys/block/<dev>/ paramters are tuned, as opposed to storing the values
directly in the scripts. This would allow updating without
re-customizing, and puts the tunables in a logical place instead of
buried inside /etc/udev/rules.
I like your idea about probing the local Ethernet for candidates for
management interfaces for storage devices. The possible concerns here
would be time, should this be a system with a large, flat Layer2
management net, or reachability should the storage devices actually be
on a separate, routeable subnet from the GPFS system where gpfs_goodies
is being run. Perhaps a simple old-xCAT style "tab" with IP:DEVICE TYPE
as a complement to the discovery logic?
- Incorporate "Net::SSH::Expect" into this code. It does not appear to
be commonly available in either Debian or Red Hat based distros.
http://search.cpan.org/~bnegrao/Net-SSH-Expect-1.09/lib/Net/SSH/Expect.pod
- Which of these should we use in a multi-node GPFS environment?
no_path_retry 15
or
no_path_retry fail
- In the nsddevices file, is this statement true?
#
# dmm vs. generic is used by GPFS to prioritize internal order of
# searching through available disks, then later GPFS discards other
# disk device names that it finds that match as the same NSD device
# by a different path. For this reason, dmm vs. generic is an
# important distinction if you are not explicitly producing the
# entire and exclusive set of disks that GPFS should use, as output
# from this script (nsddevices) _and_ exiting this script with a
# "return 0". -Brian Finley
#
--
- Add "HOWTO Convert from LSI RDAC to Linux Multipath with GPFS Goodies"
- create a new tool
- tune_mmrestripefs_bandwidth
- This tool gives you a way to specify the rate at which your
data migration operation proceeds. For example, you can use
it to achieve a slow migration over an extended time frame
to avoid impacting performance for production operations.
When used without this tool, mmrestripefs will consume all the
bandwidth it can to complete it's operation as fast as
possible, limited only by the performance of the participating
nodes' network connectivity and/or the storage server disk
performance. This can result in noticably lower performance
of the file system for users and/or other applications.
- Uses iptables to impose a bandwidth limit on rate of re-stripe
activity.
- Could use maxMBpS instead of iptables...
OPTIONS:
-h
-v
--MBps NUMBER
Limit the bandwidth to a maximum of this many megabytes
per second.
--Nodes NODE1[,NODE2,...]
The list of nodes that will be used for this operation.
If multiple nodes are included in this list, the
bandwidth specified via the "--MBps" option will be
divided equally among them, so that the aggregate
bandwidth stays within that limit.
--mmrestripefs-options "OPTION1[,OPTION2,...]"
A list options, within quotation marks, that should be
passed to the mmrestripefs command. The -N option can
be excluded and will be ignored if it is included.
Example:
--mmrestripefs-options "fs1 -m"
- prio_callout vs. prio
- Add "man gpfs_goodies"
- sort multipath.conf LUN entires same way as test_block_devices
- use SMcli to determine alua vs. rdac
- provide warning if not recommended setting by controller type
- add option "--sm-password PASSWORD"
Blacklist
LSSCSI output for devices to blacklist:
[0:2:0:0] disk IBM ServeRAID M5015 2.12 /dev/sda
[4:0:0:0] cd/dvd HL-DT-ST DVDRAM GT30N IS09 /dev/sr0
devnode "^usbsd*"
device {
vendor "ServeRA"
product *
}
device {
vendor "LSILOGIC"
product "Logical Volume"
}
device {
vendor "IBM-ESXS"
product *
}
device {
vendor "ServeRA"
product "8k-l Mirror"
}
device {
vendor "IBM"
product "VirtualDisk"
LSSCSI output for devices to handle:
[3:0:0:0] disk IBM 1813 FAStT 0786 /dev/sdb
[3:0:0:1] disk IBM 1813 FAStT 0786 /dev/sdc
[3:0:0:2] disk IBM 1813 FAStT 0786 /dev/sdd
FAQ
Where do I need to run multipath.conf-creator?
A. Any node that can use SMclient to connect to the storage
subsystems.
Where do I need to copy the multipath.conf files?
A. All storage nodes.
CONTRIBUTORS
Ray Paden
Scott Denham
Jarrod Johnson