执行ansible-playbook deploy.yml命令时,报错You don't mount the file system of / with ext4 nodelalloc option

msg: %E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20200515164904 . See https://github.com/pingcap/docs/blob/master/how-to/deploy/orchestrated/ansible.md#step-8-mount-the-data-disk-ext4-filesystem-with-options-on-the-target-machines.

这个问题是因为部署的 TiKV 的数据文件的文件系统如果使用 ext4 ,那么在 precheck 时候需要确认是否包含 nodelalloc 的参数。
报错的文档连接应该是存在问题,感谢反馈,我们会及时修复。:pray:

那我该怎么处理这个问题呢? 其他几台机器都是同样的设置,没有出现这个问题。

按照官网文档部署的建议,创建 ext4 文件系统,同时在 /etc/fstab 设置 nodelalloc 参数,通过 mount -a 生效参数就可以通过检测了。

我试过了,mount -a 检查不出来问题,但是还没有 nodelalloc 这个参数。

[quote=“hhb618, post:5, topic:34396, full:true”]
我试过了,mount -a 检查不出来问题,但是还没有 nodelalloc 这个参数。
[/quote]

同样的主机和配置,一个成功了,一个失败了。

这个参数需要自己在 /etc/fstab 里面设置的, 请看一下官方文档中对于文件系统部署的参数设置。

我设置了,也mount -a 没什么问题,就是month -t ext4 的时候没有咱们那个。

如果确认参数 nodelalloc 已经配置生效,那么可以通过 ansible 工具重新收集对应的节点的 get_fact 信息,可能是 ansible 没有抓取到最新的配置信息

ansible tikv_servers -m setup 

如果还是不可以,那么建议尝试通过注释检测脚本方式,先跳过该检测。注释位置

https://github.com/pingcap/tidb-ansible/blob/d51726807e207c23d734c650b77dc1a3d28ddf1f/roles/tikv/tasks/check_filesystem.yml#L33-L60

跳过可以过那一条命令,后面启动的时候报这个错。

:broken_heart:

可以提供一下 ansible-playbook deploy.yml -vvvv 的输出日志提供一下,日志位置在 tidb-ansible/log/ansible.log

tiup-cluster-debug-2020-05-15-17-30-07.log (3.6 KB)

您提供的 log 是 TiUP 部署 debug 日志,如果不是这个问题相关的,麻烦请单独提一个新帖子。

其他4台式同样的设置,都没有问题。

  1. 其他几个安装成功吗? 当前还是部署阶段吧, 麻烦按照文档,配置参数,重新安装吧,可以覆盖安装的,多谢。

  1. 如果配置后,还是有错误,麻烦添加 -vvv 参数,反馈ansible.log日志

https://pingcap.com/docs-cn/stable/online-deployment-using-ansible/