dissect.volume.raid.stream

Module Contents

Classes

Level

RAID level identifiers.

Layout

RAID layout identifiers.

LinearStream

Implements a stream on a linear RAID set.

Zone

RAID0Stream

Implements a stream on a RAID0 set.

RAID456Stream

Implements a stream on a RAID5 set.

RAID10Stream

Implements a stream on a RAID10 set.

class dissect.volume.raid.stream.Level

Bases: enum.IntEnum

RAID level identifiers.

LINEAR
RAID0 = 0
RAID1 = 1
RAID3 = 3
RAID4 = 4
RAID5 = 5
RAID6 = 6
RAID10 = 10
class dissect.volume.raid.stream.Layout

Bases: enum.IntEnum

RAID layout identifiers.

“Coincidentally” these align with Linux MD.

LEFT_ASYMMETRIC = 0
RIGHT_ASYMMETRIC = 1
LEFT_SYMMETRIC = 2
RIGHT_SYMMETRIC = 3
PARITY_0 = 4
PARITY_N = 5
ROTATING_ZERO_RESTART = 8
ROTATING_N_RESTART = 9
ROTATING_N_CONTINUE = 10
LEFT_ASYMMETRIC_6 = 16
RIGHT_ASYMMETRIC_6 = 17
LEFT_SYMMETRIC_6 = 18
RIGHT_SYMMETRIC_6 = 19
PARITY_0_6 = 20
PARITY_N_6
class dissect.volume.raid.stream.LinearStream(virtual_disk: dissect.volume.raid.raid.VirtualDisk)

Bases: dissect.util.stream.MappingStream

Implements a stream on a linear RAID set.

virtual_disk
disk_map: dissect.volume.raid.raid.DiskMap
offset = 0
class dissect.volume.raid.stream.Zone

Bases: NamedTuple

zone_end: int
dev_start: int
devices: dissect.volume.raid.raid.DiskMap
class dissect.volume.raid.stream.RAID0Stream(virtual_disk: dissect.volume.raid.raid.VirtualDisk)

Bases: dissect.util.stream.AlignedStream

Implements a stream on a RAID0 set.

virtual_disk
disk_map
rounded_sizes: dict[dissect.volume.raid.raid.PhysicalDisk, int]
stripe_size
num_strip_zones = 0
smallest = None
zones
cur_zone_end
class dissect.volume.raid.stream.RAID456Stream(virtual_disk: dissect.volume.raid.raid.VirtualDisk)

Bases: dissect.util.stream.AlignedStream

Implements a stream on a RAID5 set.

virtual_disk
level
algorithm
max_degraded
disk_map
class dissect.volume.raid.stream.RAID10Stream(virtual_disk: dissect.volume.raid.raid.VirtualDisk)

Bases: dissect.util.stream.AlignedStream

Implements a stream on a RAID10 set.

virtual_disk
raid_disks
disk_map
layout
near_copies
far_copies
far_offset
use_far_sets
last_far_set_start
last_far_set_size