dm-raid45 - A Device-Mapper target for RAID4 and RAID5 mappings

Heinz Mauelshagen (Red Hat GmbH)

Playlists: 'linuxtag06' videos starting here / audio

Device-Mapper, the Linux 2.6 kernel generic device-mapping facility, is capable of mapping block devices in various ways (eg. linear, striped, mirrored). The mappings are implemented in runtime loadable plugins called mapping targets, which take a logical device address and sector and remap it to one or more underlying (logical) device(s). Targets can be implemented to support arbitrary software RAID solutions on Linux 2.6, such as RAID4 and RAID5. dm-raid45 is a new device-mapper target (i.e. a mapping plugin) to drive RAID (Redundant Array of independant disks) sets. RAID level 4 with a dedicated parity drive and RAID level 5 with rotating parity are both supported by this target. It is capable of doing background synchronization of sets utilizing a dirty-log, which keeps track of dirtied regions (i.e. those with writes in flight). At set activation, the dirty-log is questioned and resynchronization is started for any dirty regions one-by-one in order to regain the consistency of the RAID set i.e. after a system crash. The same mechanism is used to set a new RAID set up by dirtying all regions and activating the set, hence causing resynchronization of all regions of the new set. Full read/write access is possible to the whole RAID set during resynchronization. In case one disk fails within a set, the set will be degraded and access to all data is still possible. The defective drive can be replaced and dm-raid45 be configured to resynchronize the new drive. My talk will give a short device-mapper architecture/feature overview and elaborate on the dm-raid45 target feature set.

Über den Autor Heinz Mauelshagen: 1980 - 86 Studium Elektrotechnik FH Aachen 1986 - 90 Entwicklung verteilter Applikationen bei der DBP zur berechnung des ISDN Netzwerkes 1990 - 2000 UNIX-Systemmanagement von UNIX-Systemumgebungen unter SunOS, Solaris, HP-UX, Sinix, Windows NT und Linux in einem Entwicklungszentrum der T-Systems 1997 - Start LVM1 Entwicklung und Linux-Kernel-/Distributions-Integration (ab SuSE 6.3) 2000 - 2003 LVM Development Engineer bei Sistina; Start LVM2 Projekt 2004 - Consulting Development Engineer bei Red Hat