5ceb32b995386019fe6cb4b46cd0ca154fb14efb
[multipath-tools/.git] / FAQ
1 More at http://christophe.varoqui.free.fr/wiki/wakka.php?wiki=FAQ
2
3 1. How to set up System-on-multipath ?
4 ======================================
5
6 prerequisite : udev and multipath-tools installed
7
8 here are the steps on a Debian SID system :
9
10 * add dm-mpath and dm-multipath to /etc/mkinitrd/modules
11 * copy $tools_dir/multipath/0[12]_* to /etc/mkinitrd/scripts
12 * define a friendly alias for your multipathed root disk
13   (in /etc/multipath.conf). Example : "system"
14 * enable busybox in /etc/mkinitrd/mkinitrd.conf and set ROOT
15   to any valid block-device (but not a /dev/dm-* one, due to
16   an mkintrd misbelief that all dm-* are managed by LVM2)
17 * run mkinitrd
18 * in /boot/grub/menu.lst, define the root= kernel parameter
19   Example : root=/dev/system1
20 * modify /etc/fstab to reference /dev/system* partitions
21
22 At reboot, you should see some info like :
23
24 path /dev/sda : multipath system
25 ...
26 gpt: 0 slices
27 dos: 5 slices
28 reduced size of partition #2 to 63
29 Added system1 : 0 70685937 linear /dev/system 63
30 Added system2 : 0 63 linear /dev/system 7068600
31 Added system5 : 0 995967 linear /dev/system 70686063
32 ...
33
34 2. How does it compare to commercial product XXX ?
35 ==================================================
36
37 Here are a few distinctive features :
38
39 * you can mix HBA models, even different vendors, different speed ...
40 * you can mix storage controllers on your SAN, and access them all, applying
41   different path grouping policy
42 * completely event-driven model : no administration burden if you accept the
43   default behaviours
44 * extensible : you can plug your own policies if the available ones don't fill
45   your needs
46 * supports root FS on multipathed SAN
47 * free, open-source software
48
49 3. LVM2 doesn't see my multipathed devices as PV, what's up ?
50 =============================================================
51
52 By default, lvm2 does not consider device-mapper block devices (such as a
53 dm-crypt device) for use as physical volumes.
54
55 In order to use a dm-crypt device as an lvm2 pv, add this line to the
56 devices block in /etc/lvm/lvm.conf:
57
58 types = [ "device-mapper", 16 ]
59
60 If /etc/lvm/lvm.conf does not exist, you can create one based on your 
61 current/default config like so:
62
63 lvm dumpconfig > /etc/lvm/lvm.conf
64
65 (tip from Christophe Saout)
66
67 4. I see a lot of "io_setup failed" message using the directio checker
68 ======================================================================
69
70 The directio path checker makes use of the asynchronous I/O API (aio) provided
71 by modern Linux systems. Asynchronous I/O allows an application to submit I/O
72 requests asynchronously and be notified later of their completion status. To
73 allow this, we must allocate an asynchronous I/O context (an object of type
74 aio_context_t) and this task is handled by the io_setup system call.
75
76 A system wide limit on the number of AIO contexts that may be active
77 simultaneously is imposed via the aio-max-nr sysctl parameter.
78
79 Once this limit has been reached further calls to io_setup will fail with the
80 error number EAGAIN leading to the "io_setup failed" messages seen for e.g. when
81 running "multipath -ll".
82
83 To avoid this problem the number of available aio contexts should be increased
84 by setting the aio-max-nr parameter. This can be set on a one-time basis via the
85 /proc file system, for e.g.:
86
87         # echo 131072 > /proc/sys/fs/aio-max-nr
88
89 Doubles the number of available contexts from the default value of 65536.
90
91 To make this setting persistent a line may be added to /etc/sysctl.conf:
92
93         fs.aio-max-nr = 131072
94
95 Consult appropriate application and operating system tuning recommendations for
96 guidance on appropriate values for this parameter.