NetBSD/doc/roadmaps/storage

148 lines
4.6 KiB
Plaintext

$NetBSD: storage,v 1.8 2009/11/17 21:09:54 agc Exp $
NetBSD Storage Roadmap
======================
This is a small roadmap document, and deals with the storage and file
systems side of the operating system.
The following elements and projects are pencilled in for 6.0, but
please do not rely on them being there.
Features that will be in 6.0:
2. logical volume management
3. a native port of Sun's ZFS
7. rump extensions
10. RAIDframe parity map
Features that are planned for 6.0:
1. devfs
4. ReFUSE-lowlevel
5. web-based management tools for storage subsystems
6. support for flash devices - NAND and MMC/SD
8. virtualised disks in userland
9. in-kernel iSCSI initiator
We currently expect to branch 6.0 in the March 2010 timeframe, with a view
to a 6.0 release later in 2010.
We'll continue to update this roadmap as features and dates get firmed up.
Some explanations
=================
1. devfs
---------
Devfs will allow device special files (the files used to access
devices) to be created dynamically as and when they are attached to
the system. This will greatly reduce the number of files in a /dev
directory and removes the need to run the MAKEDEV script when support
for new devices is added to the NetBSD kernel. NetBSD's devfs
implementation will also allow multiple instances of the file system
to be mounted simultaneously, which is very useful for chroot jails.
Please contact core@ if you are interested in devfs development.
Responsible: mjf
2. Logical Volume Management
----------------------------
Based on the Linux lvm2 and devmapper software, with a new kernel component
for NetBSD written. Merged in 5.99.5 sources, will be in 6.0.
Responsible: haad, martin
3. Native port of Sun's ZFS
---------------------------
Two Summer of Code projects have been held, concentrating on the
provision of ZFS support for NetBSD. Mostly completed by haad, and
building on ver's work, this is the port of Sun's ZFS, with
modifications to make it compile on NetBSD by ad@, and based on the
Sun code for the block layer. Discussions are still taking place to
get the design right for support for the openat(2) system call family,
and the correct architecture for reclaiming vnodes.
The ZFS source code has been committed to the repository.
Responsible: haad, ad, ver
4. ReFUSE-lowlevel
------------------
FUSE has two interfaces, the normal high-level one, and a lower-level
interface which is closer to the way standard file systems operate. This
adds the low-level functionality in the same way that ReFUSE adds the
high-level functionality
Responsible: pooka, agc
5. Web-based Management tools for Storage Subsystems
----------------------------------------------------
Standard tools for managing the storage subsystems that NetBSD provides,
using a standard web-server as the basic user interface on the storage
device, allowing remote management by a standard web browser.
Responsible: agc
6. Support for flash devices - NAND and MMC/SD
----------------------------------------------
The NetBSD Foundation is interested in having a file system which is
optimised to work with today's flash devices, including SSDs both with
wear-levelling functionality and without, as well as support for NAND,
and MMC/SD devices. Please get in touch with core@ if you're interested
in helping out with this area of development.
Responsible: TBD
7. RUMP Extensions
------------------
Rump support has been in NetBSD for 2 releases now, and continues to be
developed actively. Recent additions have included cgd support, and smbfs
client support.
Responsible: pooka
8. Virtualised disks in Userland
--------------------------------
For better support of virtualization, a library which provides a consistent
view of virtualized disk images has been developed by jmcneill.
Responsible: jmcneill
9. In-kernel iSCSI Initiator
----------------------------
NetBSD has had a userland implementation of an iSCSI initiator since
NetBSD 4.99.35, based on ReFUSE. There is a possibility that an
in-kernel initiator may be available - please contact core if you are
interested in this functionality.
Responsible: core
10. RAIDframe parity map
------------------------
Jed Davis successfully completed a Summer of Code project to implement
parity map zones for RAIDframe. Parity mapping drastically reduces
the amount of time spent rewriting parity after an unclean shutdown by
keeping better track of which regions might have had outstanding
writes. Enabled by default; can be disabled on a per-set basis, or
tuned, with the new raidctl(8) commands.
Merged in 5.99.22 sources, and will be in 6.0. A separate set of
patches is available for NetBSD-5.
Responsible: jld
Alistair Crooks
Tue Nov 17 07:17:20 PST 2009