FreeBSD 9 Review by on the Linux Action Show (video)

Alan, Chris and Bryan talk about FreeBSD 9.0 on the Linux Action Show.

In my opinion, the hosts could be more focused, serious and professional, instead of joking around continually. Anyway, this is the link: FreeBSD 9.0 Review.

If you’re interested in the FreeBSD part, jump to 37:55.

Topics of the conversation:

  • UFS Softupdate Journaling
  • The FreeBSD Fast File System now supports softupdates journaling. It introduces a intent log into a softupdates-enabled file system which eliminates the need for background fsck(8) even on unclean shutdown
  • This new feature means that a fsck after an unexpected reboot is no longer required. In modern FreeBSD only a basic preen was required, and then a full fsck would take place on a snapshot of the file system, in the background after the system had finished rebooting. With the new softupdate journaling (basically an intent log), a full fsck is no longer required at all
  • Journaling support is enabled by default on all newly created file systems, and can be enabled on existing UFS2 partitions using tunefs(8)
  • Full TRIM support for SSDs
  • The FreeBSD Fast File System now supports the TRIM command when freeing data blocks. The TRIM-enable flag makes the file system send a delete request to the underlying device for each freed block
  • TRIM support can also be enabled during newfs(8) or on an existing file system with tunefs(8)
  • ZFS Upgraded to v28
  • ZFS v28 introduces support for data deduplication, triple parity RAIDZ (raidz3), snapshot holds, log device removal, zfs diff, zpool split, zpool import -F, and read-only zpool import
  • The zpool(8): utility now supports a zpool labelclear command. This allows to wipe the label data from a drive that is not active in a pool
  • HAST Improvements
  • The Highly Available Storage daemon now supports data checksumming (crc32 or sha256) and compression (zero hole or lzf) and improved security
  • Introduction of the GEOM RAID class graid(8)
  • Which supports:
    • RAID0
    • RAID1
    • RAID1E
    • RAID10
    • SINGLE
    • CONCAT
  • It also supports the on disk formats for:
    • Intel RAID BIOS
    • JMicron RAID BIOS
    • NVIDIA MediaShield RAID BIOS
    • Promise and AMD/ATI RAID BIOS
    • SiliconImage RAID BIOS
  • Additionally, geom_map(4) allows specific areas of a device to be mapped as separate devices, especially useful for embedded flash storage
  • GEOM also support the following classes: CACHE, ELI, JOURNAL, LABEL, MIRROR, MOUNTVER, MULTIPATH, NOP, PART, RAID3, SCHED, SHSEC, STRIPE and VIRSTOR
  • NFSv4 with ACLs
  • In addition to NFSv2 and v3,
  • New utmpx(3) user accounting system
  • 5 new TCP congestion control schems
  • The FreeBSD TCP/IP network stack now supports the mod_cc(9) pluggable congestion control framework. This allows TCP congestion control algorithms to be implemented as dynamically loadable kernel modules
  • The following kernel modules are available as of 9.0-RELEASE: cc_chd(4) for the CAIA-Hamilton-Delay algorithm, cc_cubic(4) for the CUBIC algorithm, cc_hd(4) for the Hamilton-Delay algorithm, cc_htcp(4) for the H-TCP algorithm, cc_newreno(4) for the NewReno algorithm, and cc_vegas(4) for the Vegas algorithm.
  • An h_ertt(4) (Enhanced Round Trip Time) module has been added, which allows per-connection, low noise estimates of the instantaneous RTT in the TCP/IP network stack.
  • New CAM based disk subsystem
  • The ATA/SATA disk subsystem has been replaced with a new cam(4)-based implementation. cam(4) stands for Common Access Method, which is an implementation of an API set originally for SCSI–2 and standardized as “SCSI–2 Common Access Method Transport and SCSI Interface Module”
  • The ada(4) driver now supports per-device write cache control. New sysctl(8) variables kern.cam.ada.write_cache and kern.cam.ada.N.write_cache settings of 1 enables and 0 disables the write cache, and –1 leaves the device default behavior. sysctl(8) variables can override the configuration in a per-device basis (the default value is –1, which means to use the global setting)
  • New Resource Accounting and Limiting APIs
  • RACCT is a new resource accounting API has been implemented. It can keep per-process, per-jail, and per-loginclass resource accounting information
  • The new resource-limiting API RCTL works in conjunction with the RACCT resource accounting implementation and takes user-configurable actions based on the set of rules it maintains and the current resource usage
  • Full USB3 support
  • OpenSSH upgraded to 5.8p2 with HPN for faster transfer speeds
  • OpenResolv to manage resolv.conf for multiple interfaces
  • Support for SHA–256 and SHA–512 cryptographic password hashing
  • sh updated
  • new arithmetic expression handling imported from dash (which is originally from NetBSD ash)
  • changes to the way builtin commands relate to PATH env
  • fixed various other bugs
  • Capsicum Capability Mode
  • New Sandboxing and compartmentalization framework from Cambridge University
  • Improved privilege separation in OpenSSH and DHClient
  • Replacement of various GPL tools and utilities with BSD licensed ones to avoid GPLv3
  • libreadline
  • grep
  • llvm/clang imported, will eventually replace gcc 4.2 (last GPL v2)
  • compiler-rt replaced libgcc

FreeBSD 9.0 Review

Thanks to David Rogers for making me aware of this review. Submit your news.

 

Integrating LLVM into FreeBSD (video)

Some of you may be aware of the LLVM Developer Meeting 2011 that took place in mid-November in San Jose, CA.

FreeBSD developer and FreeBSD Foundation member Brooks Davis was present and talked about about the path of getting LLVM/Clang integrated into FreeBSD base as the default compiler to replace the GPLv3-licensed GCC compiler.


“The FreeBSD Project has been actively working to incorporate tools from the LLVM project into our base system including clang, libc++, and possibly lldb. This talk will cover our efforts so far including our plans to ship FreeBSD 9.0 with clang in the base system. I will cover both our current work to replace GPL licensed components with BSD(ish) licensed components and future or experimental work to incorporate new technologies made possible by LLVM”

Watch the video: Integrating LLVM into FreeBSD

More information an how to build FreeBSD with clang/llvm can be found here: Building FreeBSD with clang/llvm.

About LLVM: The Low Level Virtual Machine (LLVM) is a compiler infrastructure written in C++ that is designed for compile-time, link-time, run-time, and “idle-time” optimization of programs written in arbitrary programming languages. Originally implemented for C/C++, the language-agnostic design (and the success) of LLVM has since spawned a wide variety of front ends, including Objective-C, Fortran, Ada, Haskell, Java bytecode, Python, Ruby, ActionScript, GLSL, Clang, and others. (source: wikipedia)

 

Making a software RAID1 under FreeNAS (video)

These two videos show how to set up a software RAID1 under FreeNAS.

If you’re wondering what RAID1 means, RAID1 uses mirroring to write data to for instance two drives. This means that when you write a file or save a video, the file is written to two disks. If one of the disks fails, you simply replace it and rebuild the mirror, i.e. one disk is an exact copy of they other. The tradeoff with this setup is cost. With RAID1, you purchase double the amount of storage space that your data requires.

Video 1


Video 2


MeetBSD 2010 videos available in HD on YouTube

The presentations from the recent MeetBSD 2010 (Cracow, Poland) conference are now available on the BSD Conferences Youtube Chanel. The following videos are all in HD quality and most are in English, though a few are in Polish.

  • Dru Lavigne – Update on BSD Certification
  • Hans Peter Selasky – The new USB stack in FreeBSD
  • Jakub Klama – FreeBSD on DaVinci DMSoC (polish)
  • Jan Srzednicki – What ideas can FreeBSD borrow from AIX?
  • Attilio Rao – The VFS/vnode interface in the FreeBSD kernel
  • Marko Zec – Network emulation using the virtualized network stack in FreeBSD
  • Pawe? Jakub Dawidek – HAST — Highly Available storage for FreeBSD (polish)
  • Pawe? Jakub Dawidek – HAST — Highly Available storage for FreeBSD (questions, polish)
  • Nikolay Aleksandrov – FreeBSD-based solution for Internet traffic management (S?awek ?ak – NoSQL)
  • Ramon Tancinco – meetBSD 2010 Welcome Intro
  • Martin Matuska – mfsBSD
  • Dmitri Epshtein – Advances in Embedded ARM processors, for performance driven applications
  • Warner Losh – Using FreeBSD in a Commercial Setting
  • (via)

    PC-SYSINSTALL – A new system installer backend for PC-BSD and FreeBSD

    This presentation was done by Kris Moore, founder of the PC-BSD Project at AsiaBSDCon 2010.

    Abstract: The sysinstall tool has been the default system installer for FreeBSD for more than a decade now. While is it has proven itself to be reliable and resilient over the years, it doesn’t support many of the new features that FreeBSD offers, as well as being un-intuitive for desktop users, who expect an easy to use graphical front-end to perform their installation. To solve these two problems the “pc-sysinstall” backend was created and now is in usage for PC-BSD 8.0. This new installer backend provides much of the same functionality as sysinstall, while offering many new features such as support for ZFS, Encryption, mirroring, scriptable installs and the ability to work with different front-ends, such as a QT based GUI. The backend also supports installing regular FreeBSD, which allows server administrators to quickly perform an installation using the new disk features it offers.


    AsiaBSDCon 2010 Videos

    Some AsiaBSDCon 2010 videos are available on ustream.com