Computer >> Computer tutorials >  >> System >> Linux

LXD (Linux container hypervisor)

LXD is an open source container management extension for Linux Containers (LXC). LXD both improves upon existing LXC features and provides new features and functionality to build and manage Linux containers.

LXD is a representational state transfer application programming interface (REST API) that communicates with LXC through the liblxc library. LXD also supplies a system daemon that applications can use to access LXC and has a template distribution system to enable faster container creation and operation.

Container users should understand that LXC is a Linux system container technology, which is, in some ways, similar to hypervisor-level virtualization, such as VMware ESXi, and, in other ways, similar to application containers, such as Docker.

Important features of LXD

LXD builds on LXC's basic feature set and enhances its capabilities. LXD's benefits include:

  • a powerful command-line interface (CLI);
  • high scalability;
  • improved security, as seen in unprivileged container settings and resource restrictions;
  • device pass-through capabilities for Universal Serial Bus (USB), network interface cards (NICs), disks, graphics processors and other hardware;
  • improved control over compute resources;
  • network and storage management capabilities, such as storage pooling;
  • snapshots of running containers; and
  • live migration of running containers between hosts.

LXD can also integrate with cloud platforms, such as OpenStack. For example, the Nova LXD project offers a plug-in for OpenStack Nova to integrate containers into OpenStack. Users can create virtual machines (VMs) or containers.

LXD (Linux container hypervisor)

Containers in LXD comprise many elements, including a file system named rootfs; a set of profiles and configuration options that includes the aforementioned resource specifications and limits; device references, such as disks and network interfaces; properties, such as a container's ephemeral or persistent state; and runtime details that are captured by snapshots.