storage revision 1.2 1 1.2 simonb $NetBSD: storage,v 1.2 2008/08/04 15:39:46 simonb 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.1 agc NetBSD 5.0 will ship with the following storage elements in place:
10 1.1 agc
11 1.1 agc 1. puffs/putter
12 1.1 agc 2. ReFUSE
13 1.1 agc 3. rump
14 1.1 agc 4. RAIDframe
15 1.1 agc 5. iSCSI target
16 1.1 agc 6. iSCSI initiator
17 1.1 agc 7. cgd
18 1.1 agc 8. fss
19 1.1 agc
20 1.1 agc The following elements and projects are pencilled in for 5.0, but
21 1.1 agc please do not rely on them being there.
22 1.1 agc
23 1.1 agc 9. pud
24 1.1 agc 10. devfs
25 1.1 agc 11. journalling functionality for ffs
26 1.1 agc 12. logical volume management
27 1.1 agc 13. a native port of Sun's ZFS
28 1.1 agc 14. ReFUSE-lowlevel
29 1.1 agc 15. web-based management tools for storage subsystems
30 1.1 agc 16. support for flash devices - NAND and MMC/SD
31 1.1 agc 17. read/write support for UDF file systems
32 1.1 agc
33 1.1 agc We are working on the following elements, and expect them to be in 6.0:
34 1.1 agc
35 1.1 agc 18. OSD (object storage device)
36 1.1 agc 19. basic FCIP support
37 1.1 agc
38 1.1 agc We expect to branch for the 5.0 release in April or May 2008, which would
39 1.1 agc put a NetBSD 5.0 Release date in Q4 2008. An annual release cycle would
40 1.1 agc thus mean that 6.0 would be branched in April or May 2009.
41 1.1 agc
42 1.1 agc Pictorially, this looks like:
43 1.1 agc
44 1.1 agc 2008 2009
45 1.1 agc Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug
46 1.1 agc |===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|
47 1.1 agc
48 1.1 agc | ------- 5.0 --------- | | ------- 6.0
49 1.1 agc branch release branch
50 1.1 agc
51 1.1 agc 1-8 11,16 9,10,12,13,14,17 15 18 19
52 1.1 agc
53 1.1 agc We'll continue to update this roadmap as features and dates get firmed up.
54 1.1 agc
55 1.1 agc
56 1.1 agc Some explanations
57 1.1 agc =================
58 1.1 agc
59 1.1 agc 10. devfs
60 1.1 agc ---------
61 1.1 agc
62 1.1 agc Devfs will allow device special files (the files used to access
63 1.1 agc devices) to be created dynamically as and when they are attached to
64 1.1 agc the system. This will greatly reduce the number of files in a /dev
65 1.1 agc directory and removes the need to run the MAKEDEV script when support
66 1.1 agc for new devices is added to the NetBSD kernel. NetBSD's devfs
67 1.1 agc implementation will also allow multiple instances of the file system
68 1.1 agc to be mounted simultaneously, which is very useful for chroot jails.
69 1.1 agc
70 1.1 agc Responsible: mjf
71 1.1 agc
72 1.1 agc 11. Journalling Functionality for FFS
73 1.1 agc -------------------------------------
74 1.1 agc
75 1.1 agc Contributed by Wasabi Systems, Inc, technical review on tech-kern
76 1.2 simonb in March 2008, merged to HEAD in July 2008, will be in NetBSD 5.0.
77 1.1 agc
78 1.1 agc 12. Logical Volume Management
79 1.1 agc -----------------------------
80 1.1 agc
81 1.1 agc Based on the Linux lvm2 and devmapper software, with a new kernel component
82 1.1 agc for NetBSD written.
83 1.1 agc
84 1.1 agc Responsible: haad, martin
85 1.1 agc
86 1.1 agc 13. Native port of Sun's ZFS
87 1.1 agc ----------------------------
88 1.1 agc
89 1.1 agc Mostly completed by ad@, this is the FreeBSD port of Sun's ZFS, with
90 1.1 agc modifications to make it compile on NetBSD 5.0 by ad@, and based on
91 1.1 agc the original Sun code for the block layer, rather than the GEOM-based
92 1.1 agc layer.
93 1.1 agc
94 1.1 agc Responsible: oster, agc
95 1.1 agc
96 1.1 agc 14. ReFUSE-lowlevel
97 1.1 agc -------------------
98 1.1 agc
99 1.1 agc FUSE has two interfaces, the normal high-level one, and a lower-level
100 1.1 agc interface which is closer to the way standard file systems operate. This
101 1.1 agc adds the low-level functionality in the same way that ReFUSE adds the
102 1.1 agc high-level functionality
103 1.1 agc
104 1.1 agc Responsible: pooka, agc
105 1.1 agc
106 1.1 agc 15. Web-based Management tools for Storage Subsystems
107 1.1 agc -----------------------------------------------------
108 1.1 agc
109 1.1 agc Standard tools for managing the storage subsystems that NetBSD provides,
110 1.1 agc using a standard web-server as the basic user interface on the storage
111 1.1 agc device, allowing remote management by a standard web browser.
112 1.1 agc
113 1.1 agc Responsible: agc
114 1.1 agc
115 1.1 agc 16. OSD
116 1.1 agc -------
117 1.1 agc
118 1.1 agc Based on the T10 specification, and the Intel reference code. An Object
119 1.1 agc Storage Device, where some of the functionality of a file system is placed
120 1.1 agc in the storage device.
121 1.1 agc
122 1.1 agc Responsible: agc
123 1.1 agc
124 1.1 agc
125 1.1 agc Alistair Crooks
126 1.1 agc Sun Mar 2 23:31:03 GMT 2008
127