LXD 2.0系列之二:LXD安装和配置

本文讲的是LXD 2.0系列之二:LXD安装和配置,【编者的话】第三方调查报告显示LXD有潜质成为一款受欢迎的第三方容器管理工具。本文是LXD核心维护者、加拿大程序员Stéphane Graber有关LXD连载博文的第二篇。

[LXD 2.0系列开篇:是时候讨论LXD的一切了]
[LXD 2.0系列之一:LXD简介]
[LXD 2.0系列之二:LXD安装和配置]
[LXD 2.0系列之三:你的第一个LXD容器]
[LXD 2.0系列之四:资源管理]
[LXD 2.0系列之五:镜像管理]
[LXD 2.0系列之六:远程主机和容器迁移]
[LXD 2.0系列之七:LXD中的Docker]
[LXD 2.0系列之八:LXD中的LXD]
[LXD 2.0系列之九:在线迁移]
[LXD 2.0系列之十:LXD和Juju]
[LXD 2.0系列之十一:LXD和OpenStack]
[LXD 2.0系列之十二:调试和改进LXD]

LXD 2.0系列的第二篇博文,关于LXD的安装和配置。

如何下载LXD及安装

很多的办法可以得到最新的LXD。我们推荐使用最新的LXC和Linux内核,因为这可以使用到它所有的功能,当然我们也会尽可能地通过谨慎的降级来支持老的Linux发行版。

通过Ubuntu档案

LXD所有新的版本,在上游版本发布后的几分钟内,会上传和发布Ubuntu开发版本。其中有一个包会为Ubuntu用户记录关联包的来源。

如果你使用的是Ubuntu开发版本(16.04),那么你可以简单执行:

sudo apt install lxd

如果运行的是Ubuntu 14.04,我们有向后兼容的版本供你使用:

sudo apt -t trusty-backports install lxd

通过Ubuntu Core

Ubuntu Core稳定版的用户可以这么来安装LXD:

sudo snappy install lxd.stgraber

通过官方 Ubuntu PPA

Ubuntu其他发行版本的用户,比如Ubuntu 15.10,可以通过PPA(个人包档案)来找到LXD:

sudo apt-add-repository ppa:ubuntu-lxc/stable
sudo apt update
sudo apt dist-upgrade
sudo apt install lxd

通过Gentoo档案

Gentoo也维护着最新的LXD包,你可以这么来安装:

sudo emerge --ask lxd

通过源码

如果你过去编译过Go语言项目的话,从源码来编译LXD并不难。需要注意的是,你将会依赖LXC开发版本的头文件做这个事。为了让LXD在系统中跑起来,你的反应版也必须是最近的Linux内核(至少3.13),LXC(1.1.5或更高版本),LXCFS以及相应的shadow程序,来支持用户id或组id的分配。

源码编译LXD的最新说明,可以在上游的README中找到。

存储方式

LXD支持很多存储方式。在使用LXD之前,你最好了解一下你使用的存储方式有哪些,我们目前不支持将现有的容器或者镜像在多个存储方式中迁移。

这儿有一张有关不同存储方式的功能比较表。

ZFS

我们推荐使用ZFS,因为它能支持LXD为提供最新最稳定的容器服务所需的所有功能,为每个容器提供包括:磁盘配额,即时快照/回滚,经过优化的迁移(发和收),以及快速从镜像中创建容器。而且技术上,它比btrfs要更成熟。

LXD搭配ZFS使用,你的系统必须先支持ZFS。

如果使用的是Ubuntu 16.04,简单地,这么安装:

sudo apt install zfsutils-linux

Ubuntu 15.10,可以这么安装:

sudo apt install zfsutils-linux zfs-dkms

对于老版本,你可以通过zfsonlinux PPA:

sudo apt-add-repository ppa:zfs-native/stable
sudo apt update
sudo apt install ubuntu-zfs

配置LXD,简单地,执行:

sudo lxd init

这个程序会询问有关zfs配置的问题,根据的回应帮你做相应的配置。

btrfs

如果没有合适的ZFS,btrfs也可以提供差不多的功能,除了一点,它不能准确地报告容器中磁盘的使用情况(磁盘配额的功能就无法支持了)。btrfs也有一个自己的特色,支持嵌套,ZFS还没有这个功能。也就是说,如果你打算在LXD中使用LXD,btrfs值得考虑。

使用btrfs,LXD中不需要做任何配置,你只要确认/var/lib/lxd在btrfs文件系统中已经存在,LXD会自动使用。

LVM

如果ZFS和btrfs都不是你的选择的话,你仍然可以使用LVM来获得一些类似的功能。LXD需要LVM的这些功能:精简资源调配(thin provisioning),为每个镜像和容器创建逻辑分区,使用LVM快照。

使用LVM需配置LXD,创建一个LVM卷组:

lxc config set storage.lvm_vg_name "THE-NAME-OF-YOUR-VG"

默认地,LXD为所有的逻辑卷使用ext4作为默认的文件系统。当然你可以把它改成你想要的XFS:

lxc config set storage.lvm_fstype xfs

简单文件目录的形式

如果上述都不是你的选项,LXD仍然能工作,不过会缺失这些高级功能。会简单地为每个容器创建一个目录,将镜像的压缩文件解开,当需要对容器进行复制或快照时,就做一个全文件系统的复制。

这些高级功能中,除了磁盘配额外都会支持。不过,会很浪费磁盘空间,而且读写速度也会很慢。如果你没有其他的选择,它还是能工作,不过你最好真的考虑一下上述其他的方式。

更多的配置项

这儿有一份LXD守护进程完整的配置项列表。

网络配置

默认地,LXD不会监听网络。唯一和它通信的方法就是通过本地Unix套接字/var/lib/lxd/unix.socket。

如果想使它监听网络,有两种键值需要设置:

lxc config set core.https_address [::]
lxc config set core.trust_password some-secret-string

第一键值,将LXD绑定在::的IPv6地址上,即,本机所有地址。显然你可以将它换成一个IPv4或IPv6的地址,也可以增加你需要的TCP端口(默认是8443)。

第二个键值,设置了一个密码,用于远端客户端将它们自己加到LXD证书信任库中。当增加LXD主机时,会提示输入密码,如果密码符合,LXD守护进程将会存下客户端的证书,把它们列为可信任的,以后就不再需要密码了(当然也可密码也可修改和重置)。

你也 可以选择不设置密码,让每个客户端给你他们的证书文件client.crt(存于~/.config/lxc目录中),手动把每一个客户端加入到信任列表:

lxc config trust add client.crt

代理设置

大多数情况下,你将需要LXD从远端服务器取一些镜像。

如果你的环境中,必须通过一个HTTP(s)的代理才能访问外面的网络,你会想做一些设置,或者通过标准的代理环境变量,设置在LXD守护进程中。

lxc config set core.proxy_http http://squid01.internal:3128
lxc config set core.proxy_https http://squid01.internal:3128
lxc config set core.proxy_ignore_hosts image-server.local

有了这些,LXD的所有流量都会使用squid01.internal这个HTTP代理,除了访问image-server.local的服务器。

镜像管理

LXD支持动态镜像缓存。从一个远端的镜像创建容器时,它会下载这个镜像到本地,将它标记为缓存,并记录它的来源。如果一段时间没有被使用(默认是10天),缓存的镜像就会被自动删除。每几个小时(默认是6),LXD也会去查看是否有新的版本,然后更新本地的镜像缓存。

所有这些,都可这么来配置:

lxc config set images.remote_cache_expiry 5
lxc config set images.auto_update_interval 24
lxc config set images.auto_update_cached false

这样我们就可以修改所有这些的默认值,未被使用的缓存镜像最多存在5个小时,并且每24小时去检查镜像是否有更新,只有那些有(--auto-update)标记的镜像才会被LXD更新。

结论

现在,你应该有最新的LXD工作版本,就可以开始使用,或者等待下一个博客帖子里,我们将用LXD命令行工具创建我们第一个容器。

参考文献

如果你等不及未来的博文,就想尝试LXD,你可以在网上根据我们的指导,通过浏览器免费在线试用LXD

原文链接:LXD 2.0: Introduction to LXD [2/12](翻译:Henry Huang )

==================================================
译者介绍
Henry Huang,供职于AWS,曾负责集群运维的工作。

原文发布时间为:2016-03-21 

本文作者:henrysher

本文来自合作伙伴DockerOne,了解相关信息可以关注DockerOne。

原文标题:LXD 2.0系列之二:LXD安装和配置

时间: 2024-09-08 11:11:25

LXD 2.0系列之二:LXD安装和配置的相关文章

LXD 2.0系列之一:LXD简介

本文讲的是LXD 2.0系列之一:LXD简介,[编者的话]第三方调查报告显示LXD有潜质成为一款受欢迎的第三方容器管理工具.本文是LXD核心维护者.加拿大程序员Stéphane Graber有关LXD连载博文的第一篇. [LXD 2.0系列开篇:是时候讨论LXD的一切了][LXD 2.0系列之一:LXD简介][LXD 2.0系列之二:LXD安装和配置][LXD 2.0系列之三:你的第一个LXD容器][LXD 2.0系列之四:资源管理][LXD 2.0系列之五:镜像管理][LXD 2.0系列之六:

LXD 2.0 系列(二):安装与配置

安装篇 有很多种办法可以获得 LXD.我们推荐你配合最新版的 LXC 和 Linux 内核使用 LXD,这样就可以享受到它的全部特性.需要注意的是,我们现在也在慢慢的降低对旧版本 Linux 发布版的支持. Ubuntu 标准版 所有新发布的 LXD 都会在发布几分钟后上传到 Ubuntu 开发版的安装源里.这个安装包然后就会作为 Ubuntu 用户的其他安装包源的种子. 如果使用 Ubuntu 16.04,可以直接安装: sudo apt install lxd 如果运行的是 Ubuntu 1

一起学WINS系列(二)安装、配置

完整的WINS系统应该是WINS服务器和WINS客户端组成.本节就重点将这两部分基础性的安装和配置. 环境很简单,一台windows 2003用来安装WINS服务,XP SP3作客户端.之所以用这样的配置,主 要是因为这样的搭配具有普遍性,其次就是这两类系统的稳定性也相当不错.基本拓扑和配置如下图: 一.服务器安装 首先登陆到windows 2003,进入控制面板并打开[添加或删除程序],或者在运行中输入 appwiz.cpl回车,均可以进入以下界面:

LXD 2.0系列之开篇:是时候讨论LXD的一切了

本文讲的是LXD 2.0系列之开篇:是时候讨论LXD的一切了,[编者的话]第三方调查报告显示LXD有潜质成为一款受欢迎的第三方容器管理工具.本文是LXD核心维护者.加拿大程序员Stéphane Graber有关LXD连载博文的开篇. 我们一年半前开始这个项目,当越来越接近LXC,LXD和LXCFS 2.0的最终版本时,我想,是时候讨论一下LXD的一切. 这将是一个连载博文,和很多年前我写的"LXC 1.0我做了什么"系列类似,内容包括: [LXD 2.0系列开篇:是时候讨论LXD的一切

LXD 2.0系列之三:你的第一个LXD容器

本文讲的是LXD 2.0系列之三:你的第一个LXD容器,[编者的话]第三方调查报告显示LXD有潜质成为一款受欢迎的第三方容器管理工具.本文是LXD核心维护者.加拿大程序员Stéphane Graber有关LXD连载博文的第三篇. [LXD 2.0系列开篇:是时候讨论LXD的一切了][LXD 2.0系列之一:LXD简介][LXD 2.0系列之二:LXD安装和配置][LXD 2.0系列之三:你的第一个LXD容器][LXD 2.0系列之四:资源管理][LXD 2.0系列之五:镜像管理][LXD 2.0

LXD 2.0 系列(十二):调试,及给LXD做贡献

介绍 终于要结束了!这个大约一年前开始的这系列文章的最后一篇博文. LXD 入门 安装与配置 你的第一个 LXD 容器 资源控制 镜像管理 远程主机及容器迁移 LXD 中的 Docker LXD 中的 LXD 实时迁移 LXD 和 Juju LXD 和 OpenStack 调试,及给 LXD 做贡献 如果你从一开始就关注了这个系列,你应该已经使用了 LXD 相当长的时间了,并且非常熟悉它的日常操作和功能. 但如果出现问题怎么办?你可以做什么来自己跟踪问题?如果你不能,你应该记录什么信息,以便上游

LXD 2.0 系列(三):你的第一个 LXD 容器

这是 LXD 2.0 系列介绍文章的第三篇博客. LXD 入门 安装与配置 你的第一个 LXD 容器 资源控制 镜像管理 远程主机及容器迁移 LXD 中的 Docker LXD 中的 LXD 实时迁移 LXD 和 Juju LXD 和 OpenStack 调试,及给 LXD 做贡献 由于在管理 LXD 容器时涉及到大量的命令,所以这篇文章的篇幅是比较长的,如果你更喜欢使用同样的命令来快速的一步步实现整个过程,你可以尝试我们的在线示例! 创建并启动一个新的容器 正如我在先前的文章中提到的一样,LX

LXD 2.0 系列(四):资源控制

这是 LXD 2.0 系列介绍文章的第四篇. LXD 入门 安装与配置 你的第一个 LXD 容器 因为 LXD 容器管理有很多命令,因此这篇文章会很长. 如果你想要快速地浏览这些相同的命令,你可以尝试下我们的在线演示! 可用资源限制 LXD 提供了各种资源限制.其中一些与容器本身相关,如内存配额.CPU 限制和 I/O 优先级.而另外一些则与特定设备相关,如 I/O 带宽或磁盘用量限制. 与所有 LXD 配置一样,资源限制可以在容器运行时动态更改.某些可能无法启用,例如,如果设置的内存值小于当前

LXD 2.0 系列(九):实时迁移

这是 LXD 2.0 系列介绍文章的第九篇. LXD 入门 安装与配置 你的第一个 LXD 容器 资源控制 镜像管理 远程主机及容器迁移 LXD 中的 Docker LXD 中的 LXD 介绍 LXD 2.0 中的有一个尽管是实验性质的但非常令人兴奋的功能,那就是支持容器检查点和恢复. 简单地说,检查点/恢复意味着正在运行的容器状态可以被序列化到磁盘,要么可以作为同一主机上的有状态快照,要么放到另一主机上相当于实时迁移. 要求 要使用容器实时迁移和有状态快照,你需要以下条件: 一个非常新的 Li