1 ========= 2 dm-switch 3 ========= 4 5 The device-mapper switch target creates a devi 6 arbitrary mapping of fixed-size regions of I/O 7 paths. The path used for any specific region 8 dynamically by sending the target a message. 9 10 It maps I/O to underlying block devices effici 11 number of fixed-sized address regions but ther 12 that would allow for a compact representation 13 dm-stripe. 14 15 Background 16 ---------- 17 18 Dell EqualLogic and some other iSCSI storage a 19 frameless architecture. In this architecture, 20 consists of a number of distinct storage array 21 independent controllers, disk storage and netw 22 is created it is spread across multiple member 23 spreading are hidden from initiators connected 24 The storage group exposes a single target disc 25 how many members are being used. When iSCSI s 26 session is connected to an eth port on a singl 27 can be sent on any iSCSI session, and if the b 28 stored on another member the I/O will be forwa 29 forwarding is invisible to the initiator. The 30 dynamic, and the blocks stored on disk may be 31 member as needed to balance the load. 32 33 This architecture simplifies the management an 34 the storage group and initiators. In a multip 35 is possible to set up multiple iSCSI sessions 36 interfaces on both the host and target to take 37 increased network bandwidth. An initiator cou 38 robin algorithm to send I/O across all paths a 39 members forward it as necessary, but there is 40 sending data directly to the correct member. 41 42 A device-mapper table already lets you map dif 43 device onto different targets. However in thi 44 spread with an address region size on the orde 45 means the resulting table could have more than 46 consume far too much memory. 47 48 Using this device-mapper switch target we can 49 device hierarchy: 50 51 Upper Tier - Determine which array member 52 Lower Tier - Load balance amongst paths to 53 54 The lower tier consists of a single dm multipa 55 Each of these multipath devices contains the s 56 the array member in one priority group, and le 57 selectors to load balance amongst these paths. 58 non-preferred priority group containing paths 59 failover reasons. 60 61 The upper tier consists of a single dm-switch 62 a bitmap to look up the location of the I/O an 63 lower tier device to route the I/O. By using 64 use 4 bits for each address range in a 16 memb 65 large for us). This is a much denser represen 66 b-tree can achieve. 67 68 Construction Parameters 69 ======================= 70 71 <num_paths> <region_size> <num_optional_ar 72 <num_paths> 73 The number of paths across which t 74 75 <region_size> 76 The number of 512-byte sectors in 77 to any of the available paths. 78 79 <num_optional_args> 80 The number of optional arguments. 81 are supported and so this must be 82 83 <dev_path> 84 The block device that represents a 85 86 <offset> 87 The offset of the start of data on 88 of 512-byte sectors). This number 89 forwarding the request to the spec 90 91 Messages 92 ======== 93 94 set_region_mappings <index>:<path_nr> [<index> 95 96 Modify the region table by specifying which re 97 which paths. 98 99 <index> 100 The region number (region size was specifi 101 If index is omitted, the next region (prev 102 Expressed in hexadecimal (WITHOUT any pref 103 104 <path_nr> 105 The path number in the range 0 ... (<num_p 106 Expressed in hexadecimal (WITHOUT any pref 107 108 R<n>,<m> 109 This parameter allows repetitive patterns 110 are hexadecimal numbers. The last <n> mapp 111 slots. 112 113 Status 114 ====== 115 116 No status line is reported. 117 118 Example 119 ======= 120 121 Assume that you have volumes vg1/switch0 vg1/s 122 the same size. 123 124 Create a switch device with 64kB region size:: 125 126 dmsetup create switch --table "0 `blockdev 127 switch 3 128 0 /dev/vg1/switch0 0 /dev 128 129 Set mappings for the first 7 entries to point 130 switch2, switch0, switch1, switch2, switch1:: 131 132 dmsetup message switch 0 set_region_mappin 133 134 Set repetitive mapping. This command:: 135 136 dmsetup message switch 0 set_region_mappin 137 138 is equivalent to:: 139 140 dmsetup message switch 0 set_region_mappin 141 :1 :2 :1 :2 :1 :2 :1 :2 :1 :2
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.