kubeasz icon indicating copy to clipboard operation
kubeasz copied to clipboard

删除集群报"Device or resource busy"错误

Open uscwifi opened this issue 2 years ago • 3 comments

操作系统:ubuntu20.04 磁盘:/var/lib/etcd单独分区 操作命令

~# docker exec -it kubeasz bash
bash-4.4# ezctl destroy k8s-01

报错内容:

TASK [clean : remove files and dirs] ************************************************************************************************************************
failed: [172.19.41.10] (item=/var/lib/etcd) => {"ansible_loop_var": "item", "changed": false, "item": "/var/lib/etcd", "msg": "rmtree failed: [Errno 16] Device or resource busy: '/var/lib/etcd'"}
failed: [172.19.41.11] (item=/var/lib/etcd) => {"ansible_loop_var": "item", "changed": false, "item": "/var/lib/etcd", "msg": "rmtree failed: [Errno 16] Device or resource busy: '/var/lib/etcd'"}
failed: [172.19.41.12] (item=/var/lib/etcd) => {"ansible_loop_var": "item", "changed": false, "item": "/var/lib/etcd", "msg": "rmtree failed: [Errno 16] Device or resource busy: '/var/lib/etcd'"}

uscwifi avatar Jul 25 '22 02:07 uscwifi

这个错误应该是可以忽略的,我修改了下playbook文件,加了一行ignore_errors: true

bash-4.4# cat roles/clean/tasks/clean_etcd.yml
# to clean 'etcd' nodes
- block:
  - name: stop and disable etcd service
    service:
      name: etcd
      state: stopped
      enabled: no
    ignore_errors: true

  - name: remove files and dirs
    file: name={{ item }} state=absent
    with_items:
    - "/var/lib/etcd"
    - "/backup/k8s"
    - "/etc/systemd/system/etcd.service"
    ignore_errors: true
  when: "inventory_hostname in groups['etcd']"

uscwifi avatar Jul 25 '22 02:07 uscwifi

同样,如果/var/lib/kubelet单独分区也会有这个错误,应该忽略掉

uscwifi avatar Jul 25 '22 03:07 uscwifi

另外,移除docker后是不是应该加一个systemctl daemon-reload命令?不然systemctl status docker还有内容输出

uscwifi avatar Jul 25 '22 03:07 uscwifi

另外,移除docker后是不是应该加一个systemctl daemon-reload命令?不然systemctl status docker还有内容输出

删除集群后是建议重启机器的

gjmzj avatar Oct 31 '22 11:10 gjmzj