Features/UdisksImprovements

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(User Experience)
(some reshuffling)
 
(17 intermediate revisions by 3 users not shown)
Line 10: Line 10:
 
== 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 22: 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.
 +
 
 +
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.
 
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.
Line 64: 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 83: 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. -->
  
[[Image:gdu-multiple-servers.png|thumb|none|Connecting to a server]]
+
<gallery perrow="4">
 +
Image:gdu-multiple-servers.png|Connecting to a server
 +
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>
  
Screenshots of the new user interface with explanations can be found
+
More screenshots of the new user interface with explanations can be found
[http://blog.fubar.dk/?p=108 here]. The screenshots also show the dialog
+
[http://blog.fubar.dk/?p=108 here].
that is used to connect to a remote udisks service.
+
  
 
== Dependencies ==
 
== Dependencies ==
Line 105: 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 ==
Line 116: Line 150:
 
* 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:FeatureReadyForFesco]]
+
 
<!-- 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

Contents

[edit] Udisks Improvements

[edit] Summary

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

[edit] Owner

[edit] 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.

[edit] 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.

[edit] 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.


[edit] 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

[edit] 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)

[edit] User Experience

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

[edit] Dependencies

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

[edit] 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.

[edit] 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.


[edit] 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


[edit] 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.

[edit] Comments and Discussion