storage revision 1.2
11.2Ssimonb$NetBSD: storage,v 1.2 2008/08/04 15:39:46 simonb Exp $ 21.1Sagc 31.1SagcNetBSD Storage Roadmap 41.1Sagc====================== 51.1Sagc 61.1SagcThis is a small roadmap document, and deals with the storage and file 71.1Sagcsystems side of the operating system. 81.1Sagc 91.1SagcNetBSD 5.0 will ship with the following storage elements in place: 101.1Sagc 111.1Sagc1. puffs/putter 121.1Sagc2. ReFUSE 131.1Sagc3. rump 141.1Sagc4. RAIDframe 151.1Sagc5. iSCSI target 161.1Sagc6. iSCSI initiator 171.1Sagc7. cgd 181.1Sagc8. fss 191.1Sagc 201.1SagcThe following elements and projects are pencilled in for 5.0, but 211.1Sagcplease do not rely on them being there. 221.1Sagc 231.1Sagc9. pud 241.1Sagc10. devfs 251.1Sagc11. journalling functionality for ffs 261.1Sagc12. logical volume management 271.1Sagc13. a native port of Sun's ZFS 281.1Sagc14. ReFUSE-lowlevel 291.1Sagc15. web-based management tools for storage subsystems 301.1Sagc16. support for flash devices - NAND and MMC/SD 311.1Sagc17. read/write support for UDF file systems 321.1Sagc 331.1SagcWe are working on the following elements, and expect them to be in 6.0: 341.1Sagc 351.1Sagc18. OSD (object storage device) 361.1Sagc19. basic FCIP support 371.1Sagc 381.1SagcWe expect to branch for the 5.0 release in April or May 2008, which would 391.1Sagcput a NetBSD 5.0 Release date in Q4 2008. An annual release cycle would 401.1Sagcthus mean that 6.0 would be branched in April or May 2009. 411.1Sagc 421.1SagcPictorially, this looks like: 431.1Sagc 441.1Sagc 2008 2009 451.1Sagc Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug 461.1Sagc|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===|===| 471.1Sagc 481.1Sagc | ------- 5.0 --------- | | ------- 6.0 491.1Sagc branch release branch 501.1Sagc 511.1Sagc 1-8 11,16 9,10,12,13,14,17 15 18 19 521.1Sagc 531.1SagcWe'll continue to update this roadmap as features and dates get firmed up. 541.1Sagc 551.1Sagc 561.1SagcSome explanations 571.1Sagc================= 581.1Sagc 591.1Sagc10. devfs 601.1Sagc--------- 611.1Sagc 621.1SagcDevfs will allow device special files (the files used to access 631.1Sagcdevices) to be created dynamically as and when they are attached to 641.1Sagcthe system. This will greatly reduce the number of files in a /dev 651.1Sagcdirectory and removes the need to run the MAKEDEV script when support 661.1Sagcfor new devices is added to the NetBSD kernel. NetBSD's devfs 671.1Sagcimplementation will also allow multiple instances of the file system 681.1Sagcto be mounted simultaneously, which is very useful for chroot jails. 691.1Sagc 701.1SagcResponsible: mjf 711.1Sagc 721.1Sagc11. Journalling Functionality for FFS 731.1Sagc------------------------------------- 741.1Sagc 751.1SagcContributed by Wasabi Systems, Inc, technical review on tech-kern 761.2Ssimonbin March 2008, merged to HEAD in July 2008, will be in NetBSD 5.0. 771.1Sagc 781.1Sagc12. Logical Volume Management 791.1Sagc----------------------------- 801.1Sagc 811.1SagcBased on the Linux lvm2 and devmapper software, with a new kernel component 821.1Sagcfor NetBSD written. 831.1Sagc 841.1SagcResponsible: haad, martin 851.1Sagc 861.1Sagc13. Native port of Sun's ZFS 871.1Sagc---------------------------- 881.1Sagc 891.1SagcMostly completed by ad@, this is the FreeBSD port of Sun's ZFS, with 901.1Sagcmodifications to make it compile on NetBSD 5.0 by ad@, and based on 911.1Sagcthe original Sun code for the block layer, rather than the GEOM-based 921.1Sagclayer. 931.1Sagc 941.1SagcResponsible: oster, agc 951.1Sagc 961.1Sagc14. ReFUSE-lowlevel 971.1Sagc------------------- 981.1Sagc 991.1SagcFUSE has two interfaces, the normal high-level one, and a lower-level 1001.1Sagcinterface which is closer to the way standard file systems operate. This 1011.1Sagcadds the low-level functionality in the same way that ReFUSE adds the 1021.1Sagchigh-level functionality 1031.1Sagc 1041.1SagcResponsible: pooka, agc 1051.1Sagc 1061.1Sagc15. Web-based Management tools for Storage Subsystems 1071.1Sagc----------------------------------------------------- 1081.1Sagc 1091.1SagcStandard tools for managing the storage subsystems that NetBSD provides, 1101.1Sagcusing a standard web-server as the basic user interface on the storage 1111.1Sagcdevice, allowing remote management by a standard web browser. 1121.1Sagc 1131.1SagcResponsible: agc 1141.1Sagc 1151.1Sagc16. OSD 1161.1Sagc------- 1171.1Sagc 1181.1SagcBased on the T10 specification, and the Intel reference code. An Object 1191.1SagcStorage Device, where some of the functionality of a file system is placed 1201.1Sagcin the storage device. 1211.1Sagc 1221.1SagcResponsible: agc 1231.1Sagc 1241.1Sagc 1251.1SagcAlistair Crooks 1261.1SagcSun Mar 2 23:31:03 GMT 2008 127