From Fedora Project Wiki
(some reshuffling)
 
(27 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Udisks Improvements =
= Udisks Improvements =


== Summary ==
== Summary ==
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.  


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 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 ==
== 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 60: Line 59:
-->
-->


TBD
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 ==
== User Experience ==
<!-- 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
Image:gdu-multiple-servers.png|Connecting to a server
that is used to connect to a remote udisks service.
Image:benchmark2.png|Measuring disk performance
Image:lvm2-default-fedora-install.png|A default Fedora installation with LVM
Image:gdu-alignment-offset-warning.png|Warning about misaligned partitions
Image:multipath-support1.png|A multipath device
Image:multipath-support2.png|An individual path
Image:multipath-support3.png|Misconfiguration warning
</gallery>
 
More screenshots of the new user interface with explanations can be found
[http://blog.fubar.dk/?p=108 here].


== Dependencies ==
== Dependencies ==
Line 74: Line 115:


None, beyond udev/device-mapper integration, which has already landed.
None, beyond udev/device-mapper integration, which has already landed.


== Contingency Plan ==
== Contingency Plan ==
Line 82: Line 122:
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 88: 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. -->


The udisks storage daemon supports LVM and multipath devices in Fedora 13. The palimpsest tool provides a graphical user interface  
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.
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/YourFeatureName]]  <!-- 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:FeaturePageIncomplete]]
[[Category:FeatureAcceptedF13]]
<!-- 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 -->

Latest revision as of 21:27, 16 February 2010

Udisks Improvements

Summary

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

Owner

Current status

  • Targeted release: Fedora 13
  • Last updated: 2010-02-16
  • Percentage of completion: 100%

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:

  1. Prerequisites:
    • A LVM-based installation
    • udisks and gnome-disk-utility packages installed
  2. Run palimpsest, (in the menus as Applications → System Tools → Disk Utility
  3. Verify that your volume groups appear in the list
  4. Select a volume group
  5. Verify that the graphic representation shows the logical volumes in the selected volume group
  6. Verify that you can start/stop volume groups and mount/unmount/stop/format logical volumes

Testing multipath support:

  1. Prerequisites:
    • A computer with multipath storage devices
    • udisks and gnome-disk-utility packages installed
  2. Run palimpsest.
  3. Find your multipath device and its individual paths in the device tree
  4. Verify that palimpsest tells you that the individual paths belong to a multipath device, and offers you to go there
  5. Destroy all multipath mappings, using 'multipath -F' in a terminal
  6. Notice that palimpsest warns you about a possible multipath misconfiguration
  7. Recreate the mappings, using 'multipath' in a terminal
  8. Notice that palimpsest picks up the configuration changes without a restart

Testing remote access:

  1. 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
  2. Make sure both machines are running udisks
  3. Run palimpsest on the client
  4. Open the Connect to Server dialog, click on Browse...
  5. Verify that the other machine (the server) appears in the list of servers
  6. Select it
  7. Verify that the disks of the server appear in the list, and that you can inspect their properties
  8. 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

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

Dependencies

None, beyond udev/device-mapper integration, which has already landed.

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.

Documentation

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

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.

Comments and Discussion