这篇文章主要是想要在两个磁盘上分别安装Autodl私有云,这样对每个磁盘的压力就没那么大了,不过如果想要开启磁盘配额,有个前置条件,先将Autodl的数据盘磁盘格式设置为ext4,参考:Autodl帮助文档
根据上面的帮助文档,我们得到了两个磁盘,/dev/sdb:/autodl1、/dev/sdc:/autodl2
别忘了配置自动挂载,先测试下:
|
1 2 3 4 5 6 |
sudo blkid sudo mkdir /autodl1 sudo mkdir /autodl2 sudo mount UUID="0b14a586-f0a4-40ea-9b88-f18d9f253f41" /autodl1 sudo mount UUID="9382a896-9573-46ca-b720-11e2a0e4637c" /autodl2 df -h |
没问题的话,就配置自动挂载:
|
1 2 |
sudo cp /etc/fstab /etc/fstab.bak sudo vim /etc/fstab |
输入:
|
1 2 |
UUID="0b14a586-f0a4-40ea-9b88-f18d9f253f41" /autodl1 ext4 defaults,prjquota,nofail,x-systemd.device-timeout=10 0 0 UUID="9382a896-9573-46ca-b720-11e2a0e4637c" /autodl2 ext4 defaults,prjquota,nofail,x-systemd.device-timeout=10 0 0 |
之后,先提前创建需要的目录:
|
1 2 3 4 |
mkdir /autodl1/lxd-autodl-docker-data mkdir /autodl1/lxd-autodl-docker-system mkdir /autodl2/lxd-autodl-docker-data mkdir /autodl2/lxd-autodl-docker-system |
1、安装LXD容器
|
1 2 3 4 5 6 |
sudo apt install snapd -y sudo snap install lxd --channel=5.21/stable # 如果提示:snap "lxd" is already installed, see 'snap help refresh',那就用下面的命令代替: snap refresh lxd --channel=5.21/stable sudo usermod -aG lxd $USER |
2、设置网卡为桥接
主要是创建br0网桥,安装依赖:
sudo apt install bridge-utils
以netplan模式举例,先备份:
|
1 2 |
cd /etc/netplan cp 00-installer-config.yaml 00-installer-config.yaml.bak |
然后,打开以下文件:
sudo vi /etc/netplan/00-installer-config.yaml
填入:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
network: version: 2 renderer: networkd ethernets: enp109s0: dhcp4: no bridges: br0: interfaces: [enp0s31f6] dhcp4: true parameters: stp: false forward-delay: 0 |
注意,这里的网卡enp0s31f6根据自己电脑的网卡名字确定,别选错了。
如果是两个网卡,也可以都一次性设置桥接:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
network: version: 2 renderer: networkd ethernets: enp0s31f6: dhcp4: no enp2s0: dhcp4: no bridges: br0: interfaces: [enp0s31f6] dhcp4: true parameters: stp: false forward-delay: 0 br1: interfaces: [enp2s0] dhcp4: true parameters: stp: false forward-delay: 0 |
之后,可以先利用sudo netplan generate命令,确认语法没问题,之后,如果是远程操作的话,我们可以先预定一个5分钟之后回滚网络的操作,这样防止操作之后无法连接网络。
|
1 |
sudo bash -c "sleep 300 && cp /etc/netplan/00-installer-config.yaml.bak /etc/netplan/00-installer-config.yaml && netplan apply" & |
之后,正式应用网络配置:
|
1 |
sudo netplan apply |
验证网络正常、SSH 连接未断开后,取消后台回滚任务:(如果 kill 失败,用 jobs 查看后台任务编号,或执行 pkill -f "sleep 300" 终止)
|
1 |
kill %1 |
查看网络:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
ip addr show br0 ip addr show br1 bridge link ========================== 17: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 46:1d:c1:d5:6a:de brd ff:ff:ff:ff:ff:ff inet 10.170.0.xxx/16 metric 100 brd 10.170.255.255 scope global dynamic br0 valid_lft 604350sec preferred_lft 604350sec inet6 fe80::441d:c1ff:fed5:6ade/64 scope link valid_lft forever preferred_lft forever 18: br1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 12:9b:a2:7a:ea:ea brd ff:ff:ff:ff:ff:ff 2: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 master br1 state disabled priority 32 cost 100 3: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 4 8: vethef0c3c5@if7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-38374b182a60 state forwarding priority 32 cost 2 16: veth7bd34c2@if15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-38374b182a60 state forwarding priority 32 cost 2 root@sdai140:~# |
3、创建容器
mkdir /lxd-system-disk-pool
先创建一个存储池:lxc storage create vpms-pool dir source=/lxd-system-disk-pool
然后进行LXD容器初始化:lxd init,按下面的选项即可:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
root@sdai140:~# lxd init Would you like to use LXD clustering? (yes/no) [default=no]: Do you want to configure a new storage pool? (yes/no) [default=yes]: no 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]: no Would you like to configure LXD to use an existing bridge or host interface? (yes/no) [default=no]: yes Name of the existing bridge or host interface: br0 Would you like the LXD server to be available over the network? (yes/no) [default=no]: yes Address to bind LXD to (not including port) [default=all]: Port to bind LXD to [default=8443]: 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]: yes config: core.https_address: '[::]:8443' networks: [] storage_pools: [] storage_volumes: [] profiles: - config: {} description: "" devices: eth0: name: eth0 nictype: bridged parent: br0 type: nic name: default projects: [] cluster: null |
lxc profile device add default root disk path=/ pool=vpms-pool
lxc launch ubuntu:24.04 autodl-140-1
这时有可能会出现无法获取IP的问题,按照下面这篇文章操作即可:
这样就创建了一个容器。接下来是第二个容器。
lxc launch ubuntu:24.04 autodl-140-2
准备
这样两个容器安装完成,之后是安装Autodl服务。
4、安装GPU驱动
先给GPU:
|
1 2 |
lxc config device add autodl-140-1 gpu gpu lxc config device add autodl-140-2 gpu gpu |
然后分配块设备:
|
1 2 |
lxc config device add autodl-140-1 sdb unix-block source=/dev/sdb path=/dev/sdb lxc config device add autodl-140-2 sdc unix-block source=/dev/sdc path=/dev/sdc |
之后分配共享目录:
|
1 2 |
lxc config device add autodl-140-1 sharedisk disk source=/autodl1 path=/disk lxc config device add autodl-140-2 sharedisk disk source=/autodl2 path=/disk |
设置容器为特权容器:
|
1 2 3 4 |
lxc config set autodl-140-1 security.nesting true lxc config set autodl-140-1 security.privileged true lxc config set autodl-140-2 security.nesting true lxc config set autodl-140-2 security.privileged true |
安装驱动,注意,这里的驱动要与宿主机的版本保持完全一致,提前将驱动程序放到共享目录中,这里用的是:NVIDIA-Linux-x86_64-580.105.08.run
注意:容器内安装显卡驱动跟宿主机是不一样的,需要加特定参数:
|
1 2 |
lxc exec autodl-140-1 bash ./NVIDIA-Linux-x86_64-580.105.08.run --no-kernel-module |
5、安装Autodl私有云
|
1 2 3 |
lxc exec autodl-140-1 bash mkdir /etc/privatecloud vi /etc/privatecloud/worker-agent.yaml |
打开https://private.autodl.com/manage/system/setting,找到“agent服务配置”,复制其中的worker agent配置,填入上面这个文件中。
然后:
|
1 2 3 4 |
sudo curl -L -o /usr/local/bin/pct https://autodl-cloud.oss-cn-beijing.aliyuncs.com/privatecloud/tools/pct_x86_64 sudo chmod +x /usr/local/bin/pct sudo pct install worker-agent --docker-root-dir /disk/lxd-autodl-docker-system sudo systemctl status worker-agent.service |
这样的话,就可以了,打开Autodl私有云后台,已经可以看到新的机器了。
顺便确认下配额是否开启:
|
1 2 |
apt install quota quotaon -Ppv /disk |





最新评论
同样
站长您好,亚马逊云咨询推广资源,望建立联系,可邮件,谢谢。
换友情链接吗?
看你的站做的挺不错的
恭喜!!太强了,硕博连读啊
雁过留毛,人过留名。
看不懂但大受震撼
每天都在战争,希望2026和平.