storage revision 1.8 1 1.8 agc $NetBSD: storage,v 1.8 2009/11/17 21:09:54 agc Exp $
2 1.1 agc
3 1.1 agc NetBSD Storage Roadmap
4 1.1 agc ======================
5 1.1 agc
6 1.1 agc This is a small roadmap document, and deals with the storage and file
7 1.1 agc systems side of the operating system.
8 1.1 agc
9 1.3 agc The following elements and projects are pencilled in for 6.0, but
10 1.1 agc please do not rely on them being there.
11 1.1 agc
12 1.8 agc Features that will be in 6.0:
13 1.5 agc 2. logical volume management
14 1.5 agc 3. a native port of Sun's ZFS
15 1.8 agc 7. rump extensions
16 1.8 agc 10. RAIDframe parity map
17 1.8 agc
18 1.8 agc Features that are planned for 6.0:
19 1.8 agc 1. devfs
20 1.5 agc 4. ReFUSE-lowlevel
21 1.5 agc 5. web-based management tools for storage subsystems
22 1.5 agc 6. support for flash devices - NAND and MMC/SD
23 1.5 agc 8. virtualised disks in userland
24 1.5 agc 9. in-kernel iSCSI initiator
25 1.5 agc
26 1.5 agc We currently expect to branch 6.0 in the March 2010 timeframe, with a view
27 1.5 agc to a 6.0 release later in 2010.
28 1.1 agc
29 1.4 agc We'll continue to update this roadmap as features and dates get firmed up.
30 1.1 agc
31 1.1 agc Some explanations
32 1.1 agc =================
33 1.1 agc
34 1.5 agc 1. devfs
35 1.1 agc ---------
36 1.1 agc
37 1.1 agc Devfs will allow device special files (the files used to access
38 1.1 agc devices) to be created dynamically as and when they are attached to
39 1.1 agc the system. This will greatly reduce the number of files in a /dev
40 1.1 agc directory and removes the need to run the MAKEDEV script when support
41 1.1 agc for new devices is added to the NetBSD kernel. NetBSD's devfs
42 1.1 agc implementation will also allow multiple instances of the file system
43 1.1 agc to be mounted simultaneously, which is very useful for chroot jails.
44 1.5 agc Please contact core@ if you are interested in devfs development.
45 1.1 agc
46 1.1 agc Responsible: mjf
47 1.1 agc
48 1.5 agc 2. Logical Volume Management
49 1.5 agc ----------------------------
50 1.1 agc
51 1.1 agc Based on the Linux lvm2 and devmapper software, with a new kernel component
52 1.3 agc for NetBSD written. Merged in 5.99.5 sources, will be in 6.0.
53 1.1 agc
54 1.1 agc Responsible: haad, martin
55 1.1 agc
56 1.5 agc 3. Native port of Sun's ZFS
57 1.5 agc ---------------------------
58 1.5 agc
59 1.5 agc Two Summer of Code projects have been held, concentrating on the
60 1.5 agc provision of ZFS support for NetBSD. Mostly completed by haad, and
61 1.5 agc building on ver's work, this is the port of Sun's ZFS, with
62 1.5 agc modifications to make it compile on NetBSD by ad@, and based on the
63 1.5 agc Sun code for the block layer. Discussions are still taking place to
64 1.5 agc get the design right for support for the openat(2) system call family,
65 1.5 agc and the correct architecture for reclaiming vnodes.
66 1.1 agc
67 1.5 agc The ZFS source code has been committed to the repository.
68 1.1 agc
69 1.5 agc Responsible: haad, ad, ver
70 1.1 agc
71 1.5 agc 4. ReFUSE-lowlevel
72 1.5 agc ------------------
73 1.1 agc
74 1.1 agc FUSE has two interfaces, the normal high-level one, and a lower-level
75 1.1 agc interface which is closer to the way standard file systems operate. This
76 1.1 agc adds the low-level functionality in the same way that ReFUSE adds the
77 1.1 agc high-level functionality
78 1.1 agc
79 1.1 agc Responsible: pooka, agc
80 1.1 agc
81 1.5 agc 5. Web-based Management tools for Storage Subsystems
82 1.5 agc ----------------------------------------------------
83 1.1 agc
84 1.1 agc Standard tools for managing the storage subsystems that NetBSD provides,
85 1.1 agc using a standard web-server as the basic user interface on the storage
86 1.1 agc device, allowing remote management by a standard web browser.
87 1.1 agc
88 1.1 agc Responsible: agc
89 1.1 agc
90 1.5 agc 6. Support for flash devices - NAND and MMC/SD
91 1.5 agc ----------------------------------------------
92 1.5 agc
93 1.5 agc The NetBSD Foundation is interested in having a file system which is
94 1.5 agc optimised to work with today's flash devices, including SSDs both with
95 1.5 agc wear-levelling functionality and without, as well as support for NAND,
96 1.5 agc and MMC/SD devices. Please get in touch with core@ if you're interested
97 1.5 agc in helping out with this area of development.
98 1.5 agc
99 1.5 agc Responsible: TBD
100 1.5 agc
101 1.5 agc 7. RUMP Extensions
102 1.5 agc ------------------
103 1.5 agc
104 1.5 agc Rump support has been in NetBSD for 2 releases now, and continues to be
105 1.5 agc developed actively. Recent additions have included cgd support, and smbfs
106 1.5 agc client support.
107 1.5 agc
108 1.5 agc Responsible: pooka
109 1.5 agc
110 1.8 agc
111 1.5 agc 8. Virtualised disks in Userland
112 1.5 agc --------------------------------
113 1.5 agc
114 1.5 agc For better support of virtualization, a library which provides a consistent
115 1.5 agc view of virtualized disk images has been developed by jmcneill.
116 1.5 agc
117 1.5 agc Responsible: jmcneill
118 1.5 agc
119 1.8 agc
120 1.5 agc 9. In-kernel iSCSI Initiator
121 1.5 agc ----------------------------
122 1.5 agc
123 1.7 cegger NetBSD has had a userland implementation of an iSCSI initiator since
124 1.5 agc NetBSD 4.99.35, based on ReFUSE. There is a possibility that an
125 1.5 agc in-kernel initiator may be available - please contact core if you are
126 1.5 agc interested in this functionality.
127 1.5 agc
128 1.5 agc Responsible: core
129 1.5 agc
130 1.1 agc
131 1.8 agc 10. RAIDframe parity map
132 1.8 agc ------------------------
133 1.8 agc
134 1.8 agc Jed Davis successfully completed a Summer of Code project to implement
135 1.8 agc parity map zones for RAIDframe. Parity mapping drastically reduces
136 1.8 agc the amount of time spent rewriting parity after an unclean shutdown by
137 1.8 agc keeping better track of which regions might have had outstanding
138 1.8 agc writes. Enabled by default; can be disabled on a per-set basis, or
139 1.8 agc tuned, with the new raidctl(8) commands.
140 1.8 agc
141 1.8 agc Merged in 5.99.22 sources, and will be in 6.0. A separate set of
142 1.8 agc patches is available for NetBSD-5.
143 1.8 agc
144 1.8 agc Responsible: jld
145 1.8 agc
146 1.1 agc Alistair Crooks
147 1.8 agc Tue Nov 17 07:17:20 PST 2009
148