File: md_FAQ

package info (click to toggle)
mdutils 0.35-27
  • links: PTS
  • area: main
  • in suites: potato
  • size: 156 kB
  • ctags: 74
  • sloc: ansic: 593; makefile: 114; sh: 51
file content (170 lines) | stat: -rw-r--r-- 6,424 bytes parent folder | download | duplicates (3)
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


    This is version 0.31.0 of the MD list of frequently asked
    questions (FAQ).  This FAQ accompanies version 0.31 of the MD
    software and was last revised on August 29, 1995.

    MD is the Multi-Device disk driver for the Linux kernel.  This
    driver provides RAID support in software as well as a linear
    mode of joining 2 or more disks into a single logical device
    that can be formatted as a single file system.  MD was written
    by Marc Zyngier.  Marc can be reached at
    zyngier@amertume.ufr-info-p7.ibp.fr.

    The package for md is available at
    ftp://sweet-smoke.ufr-info-p7.ibp.fr/public/Linux.
    This directory is mirrored in the USA at
    ftp://linux.nrao.edu/pub/linux/packages/MD-driver.

    The mailing list for MD is linux-raid@vger.rutgers.edu.  Send
    a message to Majordomo@vger.rutgers.edu with a line in the
    body of the form "subscribe linux-raid", you can optionally
    add your email address to the line if that is not the same as
    your return email path.  The subject line will be ignored.

    [FAQ related issues should be sent to me]
    This FAQ is maintained by Constantine Rasmussen at
    cdr@star.net.  Please feel free to contact me about any
    mis-information, bad grammar or omissions.


    List of Questions

    1: Device mdadd was successful but all accesses fail.

    2: Df and /proc/mdstat don't show the same device size.

    3: Is MD RAID0 really slow?

    4: Why does the command "mdstop /dev/md0" say the device is busy?

    5: How does the chunk size influence the speed of my raid device?

    6: I always let the driver use the default chunk size.  In what
       situations is this less than optimal?

    7: Does the chunk size tuning parameter apply to linear mode?

    8: How does MD handles a situation where you have say a 50MB
       drive, a 100MB and a 150MB under RAID0?  After you put 150 MB
       on, the the 50MB drive would be full, the 100 would be half
       full, and so on, what does MD do?

    9: When I compile mdadd.c, the compiler find <linux/autoconf.h>


    Questions & Answers


    1: Device mdadd was successful but all accesses fail.

       When I access /dev/md0, the kernel spits out a lot of errors
       like 'md0: device not running, giving up !' and 'I/O error...'.
       I've successfully added my devices to the virtual device.

    A: To be usable, the device must be running.  Use mdrun -px
       /dev/md0 where x is l for linear, 0 for raid-0 or 1 for raid-1,
       or even better, create a mdtab and do a mdadd -ar.

    --

    2: Df and /proc/mdstat don't show the same device size.

       I've created a linear md-dev with 2 devices.  /proc/mdstat
       shows the total size of the device, but df only shows the size
       of the first physical device.

    A: You must mkfs your new md-dev before using it the first time,
       so the fs will cover the whole device.  For the ext2 filesystem
       use mke2fs instead of mkfs.  But you already knew that, right?

    --

    3: Is MD RAID0 really slow?

       I've created a raid0 device on /dev/sda2 and /dev/sda3.  The
       device is a lot slower than a single partition.  Is md a real
       dog?

    A: To have a raid0 device running a full speed, you must have
       partitions from physically different disks.  You can also tune
       the chunk size to find the best performance.

    --

    4: Why does the command "mdstop /dev/md0" say the device is busy?

    A: There's a process that keeps a file descriptor on /dev/md0, or
       /dev/md0 is still mounted.  Terminate the process or umount
       /dev/md0.  If its a swap partition, you'll have to run
       swap-off.  The rule of thumb is: if you can umount the device
       then you can run mdstop successfully.

    --

    5: How does the chunk size influence the speed of my raid device ?

    A: The chunk size is the amount of data contiguous on the virtual
       device that is also contiguous on the physical device.
       Depending on your workload, the best is to let the chunk size
       match the size of the requests that the kernel uses to write to
       the physical device.  This way two requests will probably be
       written to different disks and therefore be run at the same
       time.  This assumes a lot of testing with different chunk sizes
       to match the average request size, and to get the best
       performance.

    --

    6: I always let the driver use the default chunk size.  In what
       situations is this less than optimal?

    A: The default chunk size is rather good for swap, since it is the
       size of a page.  All other settings MUST be tested, since it
       depends on the size of the requests accessing the virtual
       device.

    --

    7: Does the chunk size tuning parameter apply to linear mode?

    A: Chunk size doesn't apply to linear mode.

    --

    8: How does MD handles a situation where you have say a 50MB
       drive, a 100MB and a 150MB under RAID0?  After you put 150 MB
       on, the the 50MB drive would be full, the 100 would be half
       full, and so on, what does MD do?

    A: Here's how md handles such a situation under raid0:

       Lets call D0 the 50MB disk, D1 the 100MB disk and D2 the 150MB
       disk.  When you start the device, the driver calculates 'strip
       zones'.  In this case, it finds 3 zones, defined like this:

       Z0 : (D0/D1/D2) size 150MB
       Z1 : (D1/D2) size 100MB
       Z2 : (D2) size 50MB

       You can see that the total size of the zones is the size of the
       virtual device, but, depending on the zone, the striping is
       different.  Z2 is rather inefficient, since there's only one
       disk.

       This adds overhead to the kernel only when you start the
       device, but from then on there is no additional cost.  The
       benefit of all this is that you can handle multiple disk sizes
       on the same virtual device.  A lot of commercial products
       cannot handle such a case, see HPUX SDS, for example.

    --

    9: When I compile mdadd.c, the compiler find <linux/autoconf.h>

    A: This file is created by the makefile in the kernel source
       directory, /usr/src/linux, when "make config" is run.  Before
       it can generate the correct autoconf.h file you must patch the
       kernel sources with the md patch file.

[sentinel line marking the end of the faq]