]>
Commit | Line | Data |
---|---|---|
5787fa49 NB |
1 | * --assemble could have a --update option. |
2 | following word can be: | |
3 | sparc2.2 | |
4 | super-minor | |
5 | ||
6 | * mdadm /dev/md11, where md11 is raid0 can segfault, particularly when looking in the | |
7 | [UU_UUU] string ... which doesn't exist ! | |
8 | It should be more sensible. DONE | |
9 | ||
10 | Example: | |
11 | ||
12 | from Raimund Sacherer <raimund.sacherer@ngit.at> | |
13 | ||
14 | mke2fs -m0 -q /dev/ram1 300 | |
15 | mount -n -t ext2 /dev/ram1 /tmp | |
16 | echo DEVICE /dev/[sh]* >> /tmp/mdadm.conf | |
17 | mdadm -Esb /dev/[sh]* 2>/dev/null >> /tmp/mdadm.conf | |
18 | mdadm -ARsc /tmp/mdadm.conf | |
19 | umount /tmp | |
64c4757e | 20 | |
cd29a5c8 | 21 | |
e0d19036 | 22 | ?? Allow -S /dev/md? - current complains subsequent not a/d/r - DONE |
cd29a5c8 | 23 | |
56eb10c0 NB |
24 | * new "Query" mode to subsume --detail and --examine. |
25 | --query or -Q, takes a device and tells if it is an MD device, | |
e0d19036 NB |
26 | and also tells in a raid superblock is found. |
27 | DONE | |
56eb10c0 | 28 | |
e0d19036 | 29 | * write mdstat.c to parse /proc/mdstat file |
cd29a5c8 | 30 | Build list of arrays: name, rebuild-percent |
e0d19036 | 31 | DONE |
cd29a5c8 | 32 | |
e0d19036 NB |
33 | * parse /proc/partitions and map major/minor into /dev/* names, |
34 | and use that for default DEVICE list ???? | |
35 | ||
36 | * --detail --scan to read /proc/mdstat, and then iterate over these, | |
cd29a5c8 NB |
37 | but assume --brief. --verbose can override |
38 | check each subdevice to see if it is in conf_get_devs. | |
39 | Warn if not. | |
e0d19036 | 40 | DONE, but don't warn yet... |
cd29a5c8 NB |
41 | |
42 | * Support multipath ... maybe... | |
e0d19036 | 43 | maybe DONE |
cd29a5c8 NB |
44 | |
45 | * --follow to syslog | |
46 | ||
2d465520 | 47 | * --follow to move spares around DONE |
cd29a5c8 | 48 | |
2d465520 | 49 | * --follow to notice other events: DONE |
cd29a5c8 NB |
50 | rebuild started |
51 | spare activated | |
52 | spare removed | |
53 | spare added | |
54 | ||
55 | ------------------------------------ | |
9a9dab36 | 56 | - --examine --scan scans all drives and build an mdadm.conf file DONE |
cd29a5c8 | 57 | |
82b27616 NB |
58 | - check superblock checksum in examine DONE |
59 | - report "chunk" or "rounding" depending on raid level DONE | |
682c7051 NB |
60 | - report "linear" instead of "-1" for raid level DONE |
61 | - decode ayout depending on raid level DONE | |
cd29a5c8 | 62 | - --verbose and --force flags. DONE |
682c7051 | 63 | |
82b27616 | 64 | - set md_minor, *_disks for Create - DONE |
682c7051 NB |
65 | - for create raid5, how to choose between |
66 | all working, but not insync | |
cd29a5c8 NB |
67 | one missing, one spare, insync DONE (--force) |
68 | - and for raid1 - some failed drives... (missing) | |
52826846 | 69 | |
82b27616 NB |
70 | - when RUN_ARRAY, make sure *_disks counts are right |
71 | ||
72 | - get --detail to extract extra stuff from superblock, | |
73 | like uuid DONE | |
cd29a5c8 | 74 | - --detail --brief to give a config file line DONE |
82b27616 NB |
75 | - parse config file. DONE |
76 | - test... | |
77 | ||
78 | - when --assemble --scan, if an underlying device is an md device, | |
79 | then try to assemble that device first. | |
0db17fcb NB |
80 | |
81 | ||
9a9dab36 | 82 | - mdadm -S /dev/md0 /dev/md1 gives internal error FIXED |
52826846 | 83 | |
9a9dab36 | 84 | - mdadm --detail --scan print summary of what it can find? |
52826846 NB |
85 | |
86 | ||
87 | --------- | |
88 | Assemble doesn't add spares. - DONE | |
89 | Create to allow "missing" name for devices. | |
90 | Create to accept "--force" for do exactly what is requested | |
91 | - get Assemble to upgrade devices if force flag. | |
92 | ARRAY lines in config file to have super_minor=n | |
93 | ARRAY lines in config file to have device=pattern, and only accept | |
94 | those devices | |
95 | If UUID given, insist on that | |
96 | If not, but super_minor given, require all found with that minor | |
97 | to have same uuid | |
98 | If only device given, all valid supers on those devices must have | |
99 | same uuid | |
100 | allow /dev/mdX as first argument before any options | |
101 | Possible --dry-run option for create and assemble--force | |
102 | ||
103 | Assemble to check that all devices mentioned in superblock | |
104 | are present. | |
105 | ||
106 | New mode: --Monitor (or --Follow) | |
107 | Periodically check status of all arrays (listed in config file). | |
108 | Log every event and apparent cause - or differences | |
109 | Email and alert - or run a program - for important events | |
110 | Move spares around if necessary. | |
111 | ||
112 | An Array line can have a spare-group= field that indicates that | |
113 | the array shares spares with other arrays with the same | |
114 | spare-group name. | |
115 | If an array has a failed and no spares, then check all other | |
116 | arrays in the spare group. If one has no failures and a spare, | |
117 | then consider that spare. | |
118 | Choose the smallest considered spare that is large enough. | |
119 | If there is one, then hot-remove it from it's home, and | |
120 | hot-add it to the array in question. | |
121 | ||
122 | --mail-to address | |
123 | --alert-handler program | |
124 | ||
125 | Will also extract information from /proc/mdstat if present, | |
126 | and consider 20% marks in rebuild as events. | |
127 | ||
128 | Events are: | |
129 | drive fails - causes mail to be sent | |
130 | rebuild started | |
131 | spare activated | |
132 | spare removed | |
cd29a5c8 | 133 | spare added |