In this BSD Now episode, hosts Allan Jude and Kris Moore interview Xinuos CTO David Meyer regarding their recent adoption of FreeBSD. They also discuss BSD’s license model for businesses, as well as the benefits of contributing changes. Press play below to tune in:
This tutorial by tetragir.com will show you how to setup and use bhyve on FreeBSD. bhyve is a BSD hypervisor and virtual machine manager which relies on features such as Extended Page Tables and VirtIO network/storage drivers.
I wanted to write an article about bhyve for a long time now, and fortunately I recently had the time to do just that. Bhyve has the potential to became a very sophisticated, and advanced hypervisor.
I’m not sure since when, but bhyve now supports libvirt. That’s great news, given that libvirt is a universal tool which helps in managing VMs. There are quite a few hypervisors compatible with libvirt, for example KVM, Xen, Linux containers (LXC) and a bunch of others. On the other hand, there are only a few graphical fronteds compatible with it, for example Virtual Machine Manager (virt-manager), which is a general purpose VM management tool. This can be installed to a computer and the hypervisors can be managed from there. Virt-manager is generally good for a few hypervisors, with 10-20 VMs, but managing a cloud infrastructure is quite a challenge with it. There a few tools compatible with libvirt, which are targeted at clouds or greater deployment.
In this article, I will cover the Virtual Machine Manager (virt-manager). This tool allows for the basic management of VMs, such as installing, starting, deleting etc. The goal of this document is to introduce the installation and configuration of bhyve to a FreeBSD host, libvirt, and the virt-manager to a remote computer, then to explain how you can connect from the virt-manager to the remote host. This setup allows the management of VMs remotely. This article is customized for CentOS guest installation as a guest, however other Linux guests could be installed and used in a similar way.
As its current state, libvirt is not fully compatible with bhyve and therefore interacting with VMs with libvirt is not possbile. However, this article provides instructions for installing and managing VMs with bhyve itself.
2. Additional informations for this article
FreeBSD developers Christian Brueffer and Warren Block summarize their experiences at BSDCan 2015, which was held at the University of Ottawa in Ontario. The two were sponsored by the FreeBSD Foundation to attend developer summits and presentations, gathered by developers around the world. Head on over to the links to view the full reports.
All in all, the conference and the devsummit were a great success for me. I learned a lot, and it’s always astonishing how seeing the cool stuff other people have been working on motivates me to work on FreeBSD better myself. Thank you to the FreeBSD Foundation for making this trip possible!
BSDCan is not what most people expect. It is not a boring computer conference. Sure, there are presentations and talks and the standard conference stuff. But this is a place where BSD nerds are the norm, not the exception; where the other people there speak your language, share and understand your problems, and know that you understand theirs. It is a feeling of family, a chance to share and solve problems, and gather inspiration for the rest of the year.
This tutorial by user iceflatline shows us how to improve offsite backups by using ZFS replication features in FreeBSD.
Recently I decided to improve the reliability of my file system backups by using the data replication capabilities inherent in the FreeBSD Zettabyte File System (ZFS). ZFS provides a built-in serialization feature that can send a stream representation of a ZFS file system (Which ZFS refers to as a “dataset”) to standard output. Using this technique, it is possible to not only store the dataset(s) on another ZFS storage pool (zpool) connected to the local system, but also to send it over a network to another FreeBSD system. ZFS dataset snapshots serve as the basis for this replication, and the essential ZFS commands used for replicating the data are zfs send and zfs receive.
This post describes how I used this ZFS feature to perform replication of ZFS dataset snapshots from my home FreeBSD server to another FreeBSD machine located offsite. I’ll also discuss how I manage the quantity of snapshots stored locally and offsite, as well as a couple of options for recovering my files should it become necessary.
For purposes of example, I’ll refer to the FreeBSD system hosting the snapshots I want to send as “server”, and the offsite FreeBSD system that I will send snapshots to as “backup”. Unless otherwise noted, all steps were performed as the user root. However a non-root user, “iceflatline”, was created on both machines and is used for many of the commands. The versions for the software used in this post were as follows:
- FreeBSD 10.1-RELEASE
On server I had created a simple mirror vdev for my zpool consisting of (2) two terabyte disks. The mirror and the zpool were created using the following commands:
Adrian Chadd, known for his extensive WiFi work and research in FreeBSD, recounts his humble beginnings of FreeBSD from youth — starting with meeting Julian Elischer.
Here’s how I was introduced into this UNIX world, or “wait, WHO was your WHAT?”
So, here’s 11ish or so year old Adrian. It’s the early 90s. I was hiding in my bedroom, trying to make another crystal set out of random parts and scraping away the paint at my windowsill. In walks my Aunty, who introduces her new boyfriend.
“Hi, I’m Julian.” he said. That wasn’t all that interesting.
“Oh, are you making a crystal set?” .. ok, so that was interesting.
And, that was that. Suddenly, someone role-model-y shows up in my life out of the blue. There I was, an 11 year old who felt very mostly alone most of the time, and someone shows up who I can look up to and think I can relate to. So, I’m a sponge for everything he shows me. Whenever he comes over, he has some new story to tell, some new thing to show me. He would show me better ways of building transistor switch circuits when I was in the “make large arcs with car alternator” phase of my early teens. And, when I saved up and bought a PC, he started to show me programming.
Now, I was already programming. My parents had saved up and bought me an Amstrad CPC464. We had a second-hand commodore 64 for a short while, but that eventually somehow stopped working and I didn’t have the clue to fix it. But I was programming Locomotive BASIC and dabbling in Z80 assembly when I was 12, and had “upgraded” to Turbo Pascal 6 when I hit high school. (Yes, school taught Turbo Pascal at Grade 10 level, and I decided to learn it a bit earlier. That’s .. wow, that dates me.) I hadn’t yet really stumbled into C yet. I had heard about it, but I didn’t have anything that could write it.
This is a post of opportunity and not one of the regularly scheduled posts in my series on writing a debugger in C and Rust. In the course of working on the nix-rust crate I needed to get a Rust environment setup on FreeBSD and I thought I would document my experience here.
Rust on FreeBSD
Installing Rust itself on FreeBSD is easy. There is a binary package available so installation is as simple as:
# pkg install rust-1.1.0 Updating FreeBSD repository catalogue... FreeBSD repository is up-to-date. All repositories are up-to-date. The following 1 package(s) will be affected (of 0 checked): New packages to be INSTALLED: rust: 1.1.0 The process will require 172 MiB more space. 58 MiB to be downloaded. Proceed with this action? [y/N]: y Fetching rust-1.1.0.txz: 100% 58 MiB 3.0MB/s 00:20 Checking integrity... done (0 conflicting) [1/1] Installing rust-1.1.0... [1/1] Extracting rust-1.1.0: 100%
But, this rust doesn’t come with Cargo.
Cargo for FreeBSD
Mathieu Arnold from the Ports Management Team has announced that the 2015Q3 branch has rolled out. All following updates will be listed on there.
Hi, The 2015Q3 branch has been created. It means that the next update on the quarterly packages will be on the 2015Q3 branch A lot of things happened in the last three months: - pkg 1.5.4 - New USES: waf, gnustep, jpeg - Default version of Perl switched to 5.20 - Firefox 38.0.6 - Firefox-esr 31.7.0 - Chromium 43.0.2357.130 - Ruby 2.1.6 - Perl 5.22.0 Next quarterly package builds will start on tomorrow and should be available on your closest mirrors few days later.
In this BSD Now episode, hosts Kris Moore and Allan Jude interview Lee Sharp regarding the m0n0wall codebase, which has been renamed as SmallWall. They discuss the future of what it will bring to the BSD family. Press play below to tune in:
Docker containers have been very popular in recent years on Linux. Docker containers provide services which “wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.”
Put another way, if Linux containers are approximately equivalent to FreeBSD jails, then Docker is the Linux equivalent of FreeBSD’s Warden.
The Docker technology has become quite a buzz-word in Linux circles and quite useful for testing and deploying services and applications. We are happy to report that Docker has been ported to FreeBSD! Though not all of Docker’s features currently work, most of Docker’s functionality is in place. More information on the FreeBSD port of Docker and which features currently work can be found on the port’s GitHub page.
This short tutorial by the folks at osquery will show you how to get its port set up for FreeBSD.
osquery is an operating system instrumentation framework for OS X and Linux. The tools make low-level operating system analytics and monitoring both performant and intuitive.
osquery exposes an operating system as a high-performance relational database. This allows you to write SQL-based queries to explore operating system data. With osquery, SQL tables represent abstract concepts such as running processes, loaded kernel modules, open network connections, browser plugins, hardware events or file hashes.
The easiest way to install osquery on FreeBSD is via the ports tree. Check FreshPorts for the latest version information.
# from ports cd /usr/ports/sysutils/osquery && make install clean # from binary package pkg install osquery # using portmaster portmaster sysutils/osquery