Featured image of post uos支持noncloud

uos支持noncloud

kvm

问题

我的虚拟机都是基于qcow2模版,然后创建的时候脚本会根据虚拟机的相关配置生成一个seed.img,创建虚拟机的时候把这个seed挂载到虚拟机里面,但是我发现UOS20上面有问题,cloud-int怎么都不修改配置,准确说是没有读取到配置。

UOS(统信服务器版)的一项特性:默认 datasource_list 不包含 NoCloud

确认一下:

1
grep -R datasource_list /etc/cloud/

你很可能会看到(我就是下面这样):

1
2
/etc/cloud/cloud.cfg:# If you use datasource_list array, keep array items in a single line.
/etc/cloud/cloud.cfg:datasource_list: [ AliYun ]

或者:

datasource_list: []

于是 cloud-init 识别到 seed.img 也不会使用。

解决办法

在虚拟机模版上,启用 NoCloud datasource

新建:

1
/etc/cloud/cloud.cfg.d/90-enable-nocloud.cfg

内容:

1
datasource_list: [ NoCloud, ConfigDrive ]

保存后执行:

1
2
3
cloud-init clean --logs
rm -rf /var/lib/cloud/*
reboot

重启后再执行:

1
cloud-id

你应该看到:

1
nocloud

就可以了。