FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian User

 
 
LinkBack Thread Tools
 
Old 02-09-2009, 12:17 PM
Jacek Danecki
 
Default mdadm 3.0 in anaconda for F11

Hi,

I'd like to start discussion about changes needed in anaconda
to support newer version of mdadm tool (v3.0). This version
contains support for external metadata formats like IMSM or DDF.

Version 3.0 introduces the container which is a collection of disks with
the same metadata. Before creating array, the container must be created.

# mdadm -CR /dev/md/imsm -e imsm -n 2 /dev/sdb /dev/sdc
# mdadm -CR /dev/md/raid1 -a mdp -l 1 -n 2 /dev/sdb /dev/sdc

For each container mdadm will start a program mdmon which will monitor
the array.

After stopping the array, container must be stopped.

# mdadm -S /dev/md/raid1
# mdadm -S /dev/md/imsm

To activate created before array, we can run:

# mdadm -E --scan > /tmp/mdadm.conf
# mdadm -Asc /tmp/mdadm.conf

Below are my first comments on information, I've found on page
http://fedoraproject.org/wiki/Anaconda/StorageRewrite.

> > We are using raid.py module which is a mdadm tool wrapper
> > (via isys.py module).

Besides these two files, there is the file fsset.py which is used to
create raid devices.

> > It provides this functionality:
> > - get available raid levels (using /proc/mdstat)

In version 3.0 we have container in /proc/mdstat, so function
getRaidLevels() should be rewritten.

# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdb[1] sdc[0]
156288640 blocks super external:/md127/0 [2/2] [UU]
[====>................] resync = 24.6% (38464064/156288640)
finish=32.6min speed=60096K/sec

md127 : inactive sdc[1](S) sdb[0](S)
4514 blocks super external:imsm

unused devices: <none>

> > - provide raid levels properties (min members, max spares)

Possible changes in makeDevice().

> > - enumerate raid components (using partedUtils)

Possible changes in scanForRaid(drives).

> > Using these mdadm calls:
> > - mdadm --examine (Misc mode of mdadm)

Function: _getRaidInfo()
mdadm returns level as string: "raid1" instead of number: 1

> > - mdadm --stop (Misc mode)

Function: raidstop()
Stopping of the container should be added.

> > - mdadm --detail --scan (Misc mode)

Method: RAIDDevice.mdadmConf()
mdadm returns 2 lines, one for array and second for container.

> > - mdadm --create (Create mode)
Method: RAIDDevice.setupDevice()
Creating container should be added.

> > - mdadm --assemble (Assemble mode)

Function: raidstart()
Assembling of container should be added.

As temporary development solution can we create new class RAIDImsmDevice
based on class RAIDDevice? The class RAIDDevice we will leave unchanged.

> > There is no mdraid library.
> > I asked Doug Ledford (owner of mdadm package) about his view which
> > is:
> > - there are no plans to write complete md library which could
> > be shared by mdadm and python bindings

I've found out on irc today that some functions from files (isis.py,
fsset.py, raid.py) which execute mdadm can be moved to another modules.
Are there, at this moment, only plans about move these functions, or is
there any new code I can start investigate?

Regads,
Jacek


_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 

Thread Tools




All times are GMT. The time now is 10:44 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org