Need advice about which tool to choose?Ask the StackShare community!

LXD

105
194
+ 1
68
VirtualBox

30.3K
24.8K
+ 1
1.1K
Add tool

LXD vs VirtualBox: What are the differences?

Introduction

LXD and VirtualBox are both virtualization technologies that allow users to create and manage virtual machines. However, there are key differences between the two that set them apart.

  1. Containerization vs. Hypervisor: LXD is a containerization technology that uses Linux Containers (LXC) to create lightweight and isolated environments. On the other hand, VirtualBox is a hypervisor-based virtualization solution that emulates complete hardware to run virtual machines.

  2. Operating System Compatibility: LXD requires the host system to be running a Linux kernel, as it relies on Linux Containers. It can run different distributions of Linux, but it may not support other operating systems such as Windows. VirtualBox, on the other hand, is compatible with a wide range of operating systems, including various versions of Linux, Windows, macOS, and Solaris.

  3. Resource Utilization: LXD offers better resource utilization compared to VirtualBox. As LXD uses containerization, it shares the host system's kernel and resources with the containers, resulting in lower overhead. VirtualBox, being a hypervisor, requires separate virtual machine instances with their own operating systems, taking up more resources.

  4. Networking: LXD provides a more advanced networking setup compared to VirtualBox. It supports advanced networking features, such as bridging, VLANs, and network namespaces. VirtualBox, while offering basic networking configurations, may not have the same level of flexibility and control as LXD.

  5. Performance: LXD generally offers better performance than VirtualBox, especially when it comes to I/O-intensive workloads. LXD containers can achieve near-native performance as they share the host system's kernel. VirtualBox, on the other hand, has a layer of virtualization between the guest and host operating systems, which may introduce some performance overhead.

  6. Use Case: LXD is primarily designed for running Linux-based applications and services in production environments. It provides a lightweight and scalable solution for deploying and managing containers. VirtualBox, on the other hand, is more suited for desktop and development use cases, allowing users to run various operating systems and applications for testing and development purposes.

In summary, LXD and VirtualBox differ in their underlying technologies, operating system compatibility, resource utilization, networking capabilities, performance, and use cases.

Decisions about LXD and VirtualBox
Florian Sager
IT DevOp at Agitos GmbH · | 3 upvotes · 407.2K views
Chose
LXDLXD
over
DockerDocker

lxd/lxc and Docker aren't congruent so this comparison needs a more detailed look; but in short I can say: the lxd-integrated administration of storage including zfs with its snapshot capabilities as well as the system container (multi-process) approach of lxc vs. the limited single-process container approach of Docker is the main reason I chose lxd over Docker.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of LXD
Pros of VirtualBox
  • 10
    More simple
  • 8
    Open Source
  • 8
    API
  • 8
    Best
  • 7
    Cluster
  • 5
    Multiprocess isolation (not single)
  • 5
    Fast
  • 5
    I like the goal of the LXD and found it to work great
  • 4
    Full OS isolation
  • 3
    Container
  • 3
    More stateful than docker
  • 2
    Systemctl compatibility
  • 358
    Free
  • 231
    Easy
  • 169
    Default for vagrant
  • 110
    Fast
  • 73
    Starts quickly
  • 45
    Open-source
  • 42
    Running in background
  • 41
    Simple, yet comprehensive
  • 27
    Default for boot2docker
  • 22
    Extensive customization
  • 3
    Free to use
  • 2
    Mouse integration
  • 2
    Easy tool
  • 2
    Cross-platform

Sign up to add or upvote prosMake informed product decisions

What is LXD?

LXD isn't a rewrite of LXC, in fact it's building on top of LXC to provide a new, better user experience. Under the hood, LXD uses LXC through liblxc and its Go binding to create and manage the containers. It's basically an alternative to LXC's tools and distribution template system with the added features that come from being controllable over the network.

What is VirtualBox?

VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product for enterprise customers, it is also the only professional solution that is freely available as Open Source Software under the terms of the GNU General Public License (GPL) version 2.

Need advice about which tool to choose?Ask the StackShare community!

What companies use LXD?
What companies use VirtualBox?
See which teams inside your own company are using LXD or VirtualBox.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with LXD?
What tools integrate with VirtualBox?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to LXD and VirtualBox?
Docker
The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application — from legacy to what comes next — and securely run them anywhere
LXC
LXC is a userspace interface for the Linux kernel containment features. Through a powerful API and simple tools, it lets Linux users easily create and manage system or application containers.
KVM
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V).
Kubernetes
Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.
containerd
An industry-standard container runtime with an emphasis on simplicity, robustness, and portability
See all alternatives