Add support for LVM (and various other improvements) to the udisks and gnome-disk-utility stack

Add support for LVM (and various other improvements) to the udisks and gnome-disk-utility stack

−

== Owner ==

== Owner ==

* Name: [[User:davidz| David Zeuthen]]

* Name: [[User:davidz| David Zeuthen]]

* Email: davidz@redhat.com

* Email: davidz@redhat.com

−

== Current status ==

== Current status ==

* Targeted release: [[Releases/13 | Fedora 13 ]]

* Targeted release: [[Releases/13 | Fedora 13 ]]

−

* Last updated: 2010-01-12

+

* Last updated: 2010-02-16

−

* Percentage of completion: 50%

+

* Percentage of completion: 100%

The new user interface has been included in gnome-disk-utility 2.29.

The new user interface has been included in gnome-disk-utility 2.29.

−

The LVM and remote access support is about to land in rawhide.

+

The LVM and remote access support has been in rawhide for a while.

−

Support for multipath devices will come a little later.

+

The multipath support has landed in rawhide too.

−

== Detailed Description ==

== Detailed Description ==

Line 27:

Line 22:

The palimpsest user interface in Fedora 12 works great for single-user machines and laptops, but it has some scalability issues on systems with many disks and partitions. It also has no notion of enclosures, expanders and similar contraptions that you meet when dealing with external storage. These problems have been addresses with a new user interface in gnome-disk-utility 2.29. The user interface has been improved in several other aspects as well, such as friendlier representation of S.M.A.R.T. information, and a nice way to benchmark disk performance.

The palimpsest user interface in Fedora 12 works great for single-user machines and laptops, but it has some scalability issues on systems with many disks and partitions. It also has no notion of enclosures, expanders and similar contraptions that you meet when dealing with external storage. These problems have been addresses with a new user interface in gnome-disk-utility 2.29. The user interface has been improved in several other aspects as well, such as friendlier representation of S.M.A.R.T. information, and a nice way to benchmark disk performance.

−

The device-mapper stack was not properly integrated with udev in time for F12. This integration has happened in now, so udisks and palimpsest can support LVM and multipath devices.

+

The device-mapper stack was not properly integrated with udev in time for F12. This integration has happened in now, so udisks and palimpsest can support LVM and multipath devices. 'multipath' means that a storage device has multiple connections ('paths') to the computer. This can be done to increase performance or to improve fail-safety. Multipath configurations are most common with storage technologies such as iSCSI, fiber channel or SAS.

+

+

For LVM, palimpsest shows an icon for each VG in the "Storage Devices" tree-view, just like it already shows one for each MD RAID array. When a VG is selected, palimpsest lets you start/stop it and add/remove or migrate PVs. If the VG is running,

+

palimpsest shows a graphical representation of all logical volumes and the unused space, and lets you create, delete, format, mount, unmount and rename volumes.

−

Finally, while doing this work, David found time to implement a simple remote access facility for udisks, which allows a palimpsest application running on one machine to interact with the udisks daemon on another machine. The remote access is tunneled over ssh. The service is advertised via avahi, which allows palimpsest to show a nice browsable interface to connect to available udisks services.

+

For multipath devices, palimpsest shows both the multipath device as well as the individual 'paths' in its tree-view. When an individual path is selected, it warns you that this path is part of a multipath device. When palimpsest finds devices that appear to be paths to a multipath device (ie identical VPD) with no corresponding multipath device, it warns about possible system misconfiguration.

+

+

Finally, while doing this work, David found time to implement a simple remote access facility for udisks, which allows a palimpsest application running on one machine to interact with the udisks daemon on another machine. The remote access is tunnelled over ssh. The service is advertised via avahi, which allows palimpsest to show a nice browsable interface to connect to available udisks services.

== Benefit to Fedora ==

== Benefit to Fedora ==

Line 43:

Line 43:

* udev/device-mapper integration needs to happen (it already has)

* udev/device-mapper integration needs to happen (it already has)

* new udisks and gnome-disk-utility releases with the added features need to happen

* new udisks and gnome-disk-utility releases with the added features need to happen

−

== How To Test ==

== How To Test ==

Line 70:

Line 69:

# Verify that you can start/stop volume groups and mount/unmount/stop/format logical volumes

# Verify that you can start/stop volume groups and mount/unmount/stop/format logical volumes

−

Testing multipath support: TBD

+

Testing multipath support:

+

# Prerequisites:

+

#* A computer with multipath storage devices

+

#* udisks and gnome-disk-utility packages installed

+

# Run palimpsest.

+

# Find your multipath device and its individual paths in the device tree

+

# Verify that palimpsest tells you that the individual paths belong to a multipath device, and offers you to go there

+

# Destroy all multipath mappings, using 'multipath -F' in a terminal

+

# Notice that palimpsest warns you about a possible multipath misconfiguration

+

# Recreate the mappings, using 'multipath' in a terminal

+

# Notice that palimpsest picks up the configuration changes without a restart

Testing remote access:

Testing remote access:

Line 89:

Line 98:

<!-- If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice. -->

<!-- If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice. -->

−

Screenshots of the new user interface with explanations can be found

+

<gallery perrow="4">

−

[http://blog.fubar.dk/?p=108 here]. The screenshots also show the dialog

ship with the new user interface. If LVM and remote access land, but multipath support is delayed beyond feature freeze, we

ship with the new user interface. If LVM and remote access land, but multipath support is delayed beyond feature freeze, we

can ship without multipath support.

can ship without multipath support.

−

== Documentation ==

== Documentation ==

Line 111:

Line 127:

See http://git.gnome.org/browse/gnome-disk-utility/tree/src/gdu/gdu-ssh-bridge.c#n41 for a description of the technical details of the remote access protocol.

See http://git.gnome.org/browse/gnome-disk-utility/tree/src/gdu/gdu-ssh-bridge.c#n41 for a description of the technical details of the remote access protocol.

+

+

+

== Known limitations/future work ==

+

For the LVM support:

+

* There's currently no way to resize a LV

+

* There's currently no way to reduce a VG / move data off PVs

+

* We don't show the relationship between LVs and PVs. Ideally we'd show how extents from PVs are mapped to LVs

+

* We don't convey if a LV is striped or mirrored (or other topology)

+

* We don't convey if an operation is currently underway (say, pvmove)

+

* There is no way to actually create a VG (like e.g. "File->Create->RAID Array..." for MD RAID)

+

* Other advanced LVM features may be missing

+

== Release Notes ==

== Release Notes ==

<!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->

<!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->

<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->

<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->

to these features. It has also seen several other user interface improvements, and optionally allows remote access now.

to these features. It has also seen several other user interface improvements, and optionally allows remote access now.

−

== Comments and Discussion ==

== Comments and Discussion ==

* See [[Talk:Features/UdisksImprovements]] <!-- This adds a link to the "discussion" tab associated with your page. This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->

* See [[Talk:Features/UdisksImprovements]] <!-- This adds a link to the "discussion" tab associated with your page. This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->

−

+

[[Category:FeatureAcceptedF13]]

−

[[Category:FeatureReadyForWrangler]]

<!-- When your feature page is completed and ready for review -->

<!-- When your feature page is completed and ready for review -->

<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->

<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->

<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->

<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->

<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Owner

Current status

The new user interface has been included in gnome-disk-utility 2.29.
The LVM and remote access support has been in rawhide for a while.
The multipath support has landed in rawhide too.

Detailed Description

The palimpsest user interface in Fedora 12 works great for single-user machines and laptops, but it has some scalability issues on systems with many disks and partitions. It also has no notion of enclosures, expanders and similar contraptions that you meet when dealing with external storage. These problems have been addresses with a new user interface in gnome-disk-utility 2.29. The user interface has been improved in several other aspects as well, such as friendlier representation of S.M.A.R.T. information, and a nice way to benchmark disk performance.

The device-mapper stack was not properly integrated with udev in time for F12. This integration has happened in now, so udisks and palimpsest can support LVM and multipath devices. 'multipath' means that a storage device has multiple connections ('paths') to the computer. This can be done to increase performance or to improve fail-safety. Multipath configurations are most common with storage technologies such as iSCSI, fiber channel or SAS.

For LVM, palimpsest shows an icon for each VG in the "Storage Devices" tree-view, just like it already shows one for each MD RAID array. When a VG is selected, palimpsest lets you start/stop it and add/remove or migrate PVs. If the VG is running,
palimpsest shows a graphical representation of all logical volumes and the unused space, and lets you create, delete, format, mount, unmount and rename volumes.

For multipath devices, palimpsest shows both the multipath device as well as the individual 'paths' in its tree-view. When an individual path is selected, it warns you that this path is part of a multipath device. When palimpsest finds devices that appear to be paths to a multipath device (ie identical VPD) with no corresponding multipath device, it warns about possible system misconfiguration.

Finally, while doing this work, David found time to implement a simple remote access facility for udisks, which allows a palimpsest application running on one machine to interact with the udisks daemon on another machine. The remote access is tunnelled over ssh. The service is advertised via avahi, which allows palimpsest to show a nice browsable interface to connect to available udisks services.

Benefit to Fedora

Fedora gains a more uniform disk management solution that is well-integrated in the GNOME desktop. Considering that LVM is still
enabled by default in new installations, having well-integrated LVM support in the desktop seems like a big benefit.

Scope

udev/device-mapper integration needs to happen (it already has)

new udisks and gnome-disk-utility releases with the added features need to happen

How To Test

Testing LVM support:

Prerequisites:

A LVM-based installation

udisks and gnome-disk-utility packages installed

Run palimpsest, (in the menus as Applications → System Tools → Disk Utility

Verify that your volume groups appear in the list

Select a volume group

Verify that the graphic representation shows the logical volumes in the selected volume group

Verify that you can start/stop volume groups and mount/unmount/stop/format logical volumes

Testing multipath support:

Prerequisites:

A computer with multipath storage devices

udisks and gnome-disk-utility packages installed

Run palimpsest.

Find your multipath device and its individual paths in the device tree

Verify that palimpsest tells you that the individual paths belong to a multipath device, and offers you to go there

Destroy all multipath mappings, using 'multipath -F' in a terminal

Notice that palimpsest warns you about a possible multipath misconfiguration

Recreate the mappings, using 'multipath' in a terminal

Notice that palimpsest picks up the configuration changes without a restart

Testing remote access:

Prerequisites:

Two machines on same local network

avahi browsing working between the two machines (i.e. no firewalls)

udisks installed on both, palimpsest at least on one (the client)

ssh access between the two machines

Make sure both machines are running udisks

Run palimpsest on the client

Open the Connect to Server dialog, click on Browse...

Verify that the other machine (the server) appears in the list of servers

Select it

Verify that the disks of the server appear in the list, and that you can inspect their properties

Making changes (mounting/umounting/formatting, etc) should only work if you connected as root (i.e. entered 'root' as the user name in the Connect to Server dialog)

User Experience

Connecting to a server

Measuring disk performance

A default Fedora installation with LVM

Warning about misaligned partitions

A multipath device

An individual path

Misconfiguration warning

More screenshots of the new user interface with explanations can be found
here.

Dependencies

Contingency Plan

This feature is somewhat incremental. The new user interface has already landed. If LVM support is not ready in time, we can just
ship with the new user interface. If LVM and remote access land, but multipath support is delayed beyond feature freeze, we
can ship without multipath support.

Known limitations/future work

We don't show the relationship between LVs and PVs. Ideally we'd show how extents from PVs are mapped to LVs

We don't convey if a LV is striped or mirrored (or other topology)

We don't convey if an operation is currently underway (say, pvmove)

There is no way to actually create a VG (like e.g. "File->Create->RAID Array..." for MD RAID)

Other advanced LVM features may be missing

Release Notes

The udisks storage daemon supports LVM and multipath devices in Fedora 13. The palimpsest tool provides a graphical user interface
to these features. It has also seen several other user interface improvements, and optionally allows remote access now.