~ubuntu-branches/ubuntu/raring/mdadm/raring

« back to all changes in this revision

Viewing changes to TODO

  • Committer: Package Import Robot
  • Author(s): Fabio M. Di Nitto
  • Date: 2004-10-01 06:23:38 UTC
  • Revision ID: package-import@ubuntu.com-20041001062338-qbvwn77thdz9fbwi
Tags: upstream-1.5.0
ImportĀ upstreamĀ versionĀ 1.5.0

Show diffs side-by-side

added added

removed removed

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