静看光阴荏苒
不管不顾不问不说也不念

甲骨文ARM机安装LXD开小鸡

众所周知,甲骨文的ARM机有24G内存,这么大内存不如生点小鸡玩。而且甲骨文重装系统什么的比较麻烦,开小鸡可以用来随便折腾,不怕把宿主机搞坏了。

本来打算在上面折腾下kvm套娃的,后来发现母鸡没开嵌套虚拟化,那就没戏了。只能玩玩容器虚拟化了。

不过说实话,这个LXD用起来还真挺舒服的,后面详细说说。这里先把配置步骤记录一下。

咱用的系统是Debian10,如果你用的是别的系统,可以先按这篇文章重装一个:https://lala.im/7905.html

装snapd,然后用snap安装lxd:

apt -y update
apt -y install snapd
snap install lxd

注:安装完之后退出终端,重新登录一次。

执行下面的命令初始化:

lxd init

整个流程如下,除了存储后端的配置选择dir,其他的全部回车保持默认即可:

Would you like to use LXD clustering? (yes/no) [default=no]:
Do you want to configure a new storage pool? (yes/no) [default=yes]:
Name of the new storage pool [default=default]:
Name of the storage backend to use (ceph, btrfs, dir, lvm) [default=btrfs]: dir
Would you like to connect to a MAAS server? (yes/no) [default=no]:
Would you like to create a new local network bridge? (yes/no) [default=yes]:
What should the new bridge be called? [default=lxdbr0]:
What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]:
What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]:
Would you like the LXD server to be available over the network? (yes/no) [default=no]:
Would you like stale cached images to be updated automatically? (yes/no) [default=yes]
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:

[重要]如果你的机器上安装了docker,docker往iptables里面自动添加的规则会导致lxd的容器没网,执行下面的命令修复:

iptables -A FORWARD -o lxdbr0 -j ACCEPT
iptables -A FORWARD -i lxdbr0 -j ACCEPT

如果要删除上面的规则:

iptables -D FORWARD -o lxdbr0 -j ACCEPT
iptables -D FORWARD -i lxdbr0 -j ACCEPT

现在就可以开一台小鸡了,首先查找你需要的系统镜像,这里我以opensuse为例:

lxc image list images: | grep opensuse

选择一个镜像创建小鸡,格式如下:

lxc launch images:[发行版]/[版本号]/[架构] [实例名]

比如说开一个opensuse15.2:

lxc launch images:opensuse/15.2/arm64 opensuse

进入你的小鸡:

lxc exec opensuse bash

简单测试一下网络:

下面是一些常用的管理命令:

lxc list # 列出所有小鸡的运行状态
lxc storage list # 列出存储信息
lxc start opensuse # 启动
lxc stop opensuse # 停止
lxc restart opensuse # 重启
lxc delete opensuse # 删除

你也可以限制小鸡的cpu和内存使用:

lxc config set opensuse limits.cpu=2 # 限制cpu
lxc config set opensuse limits.memory=512MB # 限制内存
lxc config unset opensuse limits.cpu # 解除cpu限制
lxc config unset opensuse limits.memory # 解除内存限制

这里介绍一个lxd非常牛逼的功能,它可以把小鸡内的服务直接暴露出来。例如我在opensuse小鸡内先起一个nginx:

zypper in nginx
systemctl start nginx

然后在宿主机上执行如下命令,添加一个名为nginx的proxy设备:

lxc config device add opensuse nginx proxy listen=tcp:0.0.0.0:55555 connect=tcp:127.0.0.1:80

检查宿主机的55555端口:

curl -I localhost:55555

可以看到nginx服务的回显:

HTTP/1.1 403 Forbidden
Server: nginx/1.16.1
Date: Thu, 03 Jun 2021 12:20:31 GMT
Content-Type: text/html
Content-Length: 153
Connection: keep-alive

列出你给当前小鸡添加的设备:

lxc config device list opensuse

如果要删除刚才添加的proxy设备:

lxc config device remove opensuse nginx

文章最后,说说为啥我说lxd其实很好用。首先是安装用snap很简单,配置起来基本也是一路回车即可。。。

而且官方还提供了大量的系统镜像,几乎涵盖所有的linux发行版。。可以说你想用哪个,拉一个镜像下来启动就行了。并且还支持快照,可以随时给机器打快照。。

从lxd4.0开始其实还支持真正意义上的小鸡:虚拟机。基于kvm的。不过由于甲骨文的母鸡没嵌套我就没折腾了。

赞(4)
未经允许不得转载:荒岛 » 甲骨文ARM机安装LXD开小鸡
分享到: 更多 (0)

评论 11

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    lala,聊天室换域名了没?上不去喽 :???:

    BobMaster4个月前 (06-05) Firefox 89.0 Firefox 89.0 GNU/Linux x64 GNU/Linux x64回复
    • 首页好像没有进入的入口了。

      hofaeair4个月前 (06-05) Firefox 91.0 Firefox 91.0 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 以前右边栏有个绿色的入口

      hofaeair4个月前 (06-05) Firefox 91.0 Firefox 91.0 Windows 10 x64 Edition Windows 10 x64 Edition回复
      • 现在也有的,连接的是旧域名,我待会改过来。如果你浏览器没显示的话,估计是被广告拦截的插件屏蔽了。。。

        LALA4个月前 (06-05) Google Chrome 86.0.4240.198 Google Chrome 86.0.4240.198 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 今天刚换。。新的域名是:chat.233.fi

      LALA4个月前 (06-05) Google Chrome 86.0.4240.198 Google Chrome 86.0.4240.198 Windows 10 x64 Edition Windows 10 x64 Edition回复
  2. #2

    大佬大佬,能不能帮忙出一个甲骨文ARM架构,ubuntu系统装远程桌面的教程?感谢。怎么安装都装不了,看大佬有没有办法指导下,谢谢。

    小佬4个月前 (06-07) Google Chrome 90.0.4430.93 Google Chrome 90.0.4430.93 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 我现在开的arm机没有用ubuntu系统的,我不可能删了重新开吧。。而且现在也开不出来新机了。。

      LALA4个月前 (06-08) Google Chrome 86.0.4240.198 Google Chrome 86.0.4240.198 Windows 10 x64 Edition Windows 10 x64 Edition回复
  3. #3

    执行 snap install lxd就报错了:
    error: cannot perform the following tasks:
    – Mount snap “lxd” (20642) (snap “lxd” assumes unsupported features: snapd2.39 (try to update snapd and refresh the core snap))

    thanla4个月前 (06-11) Google Chrome 90.0.4430.212 Google Chrome 90.0.4430.212 Mac OS X  10.15.7 Mac OS X 10.15.7回复
    • 执行下面的命令后再装一次lxd应该就可以了:
      snap install core
      snap refresh core

      LALA4个月前 (06-11) Google Chrome 86.0.4240.198 Google Chrome 86.0.4240.198 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 我也是这样,华为云之前圈的钱 提不出来 今天买了台学生机,发现是arm的 想起这篇教程,最后报错和你的一样 :evil:

      Aaron4个月前 (06-11) Google Chrome 91.0.4472.77 Google Chrome 91.0.4472.77 Mac OS X  10.15.7 Mac OS X 10.15.7回复
  4. #4

    大佬,啥时候用lxd4.0搞NAT vm?

    loeveo3个月前 (06-17) UC Browser 13.4.1.1121 UC Browser 13.4.1.1121 Android 10 Android 10回复

分享创造快乐

广告合作资源投稿