惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
V
Visual Studio Blog
Martin Fowler
Martin Fowler
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 叶小钗
I
InfoQ
B
Blog RSS Feed
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
IT之家
IT之家
P
Proofpoint News Feed
WordPress大学
WordPress大学
小众软件
小众软件
B
Blog
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
量子位
Hugging Face - Blog
Hugging Face - Blog
月光博客
月光博客

博客园 - 尹正杰

Categraf使用指南 window系统部署Claude Code实战 N9E集群部署 Ubuntu 24.04 LTS部署Codex实战 aiops运维平台从0到1部署实战 aiops平台环境部署 TKE集群LoadBalancer映射案例 k8s集群为每个节点分配不通的ippool实战 ansible剧本实现一键升级K8S集群的NVIDIA GPU驱动 vmagent采集etcd数据并写入victoriametrics集群 VictoriaMetrics集群部署实战 Squid正向代理实战 kubespray生产故障案例之kubelet启动参数案例 filebeat指定名称空间采集pod数据 Calico自定义Ipool实战 ansible剧本实现kibana的部署和卸载 ansible剧本应用案例集合2 Ansible急速入门实战篇 ansible快速入门篇 k8s集群管理 kubesray实战 kubespray实战案例 kubespray管理k8s的worker集群扩缩容 kubespray快速部署k8s集群实战 Kubeasz使用吐槽博客专题 Kubeasz基于ezctl实现etcd集群的管理实战 Kubeasz基于ezctl实现k8s集群一键升级 Calico启用纯BGP模式+RR实战案例 Calico 底层原理及IPIP(依赖BGP协议))和vxlan(不依赖BGP)工作模式切换 kubeasz基于ezctl实现k8s集群的扩容和缩容
ansible剧本实现磁盘格式化
尹正杰 · 2026-06-22 · via 博客园 - 尹正杰

                                              作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.直接格式化单块nvme磁盘并配置开机自动挂载

1.现有环境说明

(venv) root@JasonYin2020:~/nx_ops/ops-playbook# ansible -i  /root/nx_ops/kubespray-release-2.29/inventory/yinzhengjie-k8s/inventory.ini efk -m shell -a 'lsblk'
efk-1 | CHANGED | rc=0 >>
NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda       8:0    0 446.6G  0 disk 
├─sda1    8:1    0     1G  0 part /boot/efi
└─sda2    8:2    0 445.6G  0 part /
nvme0n1 259:0    0    14T  0 disk 
efk-2 | CHANGED | rc=0 >>
NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda       8:0    0 446.6G  0 disk 
├─sda1    8:1    0     1G  0 part /boot/efi
└─sda2    8:2    0 445.6G  0 part /
nvme0n1 259:0    0    14T  0 disk 
efk-3 | CHANGED | rc=0 >>
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 446.6G  0 disk 
├─sda1        8:1    0     1G  0 part /boot/efi
└─sda2        8:2    0 445.6G  0 part /
nvme0n1     259:0    0    14T  0 disk 
├─nvme0n1p1 259:1    0     1G  0 part 
└─nvme0n1p2 259:2    0 445.6G  0 part 
(venv) root@JasonYin2020:~/nx_ops/ops-playbook# 

2.编写剧本

(venv) root@JasonYin2020:~/nx_ops/ops-playbook#  cat format_nvme_data.yml 
- name: 批量格式化nvme0n1为ext4并挂载至/data
  hosts: efk
  gather_facts: true
  become: true
  vars:
    dev_name: "/dev/nvme0n1"
    mount_path: "/data"
    fstab_file: "/etc/fstab"
  vars_prompt:
    - name: confirm_wipe
      prompt: "警告:执行后会清空所有节点 {{ dev_name }} 全部数据,确认执行请输入 YES"
      private: false

  tasks:
    - name: 校验确认输入,防止误操作
      fail:
        msg: "输入非 YES,终止任务"
      when: confirm_wipe != "YES"

    - name: 1. 检查目标NVMe磁盘是否存在
      shell: lsblk {{ dev_name }}
      register: nvme_check
      failed_when: nvme_check.rc != 0
      changed_when: false

    - name: 2. 卸载nvme0n1下所有分区(防止占用无法擦除)
      shell: |
        for part in $(lsblk -no NAME {{ dev_name }} | grep nvme0n1p); do
          umount /dev/$part 2>/dev/null || true
        done
      register: umount_part
      changed_when: true

    - name: 3. 清除nvme0n1分区表与文件系统签名
      shell: |
        wipefs -a {{ dev_name }}
        parted -s {{ dev_name }} mklabel gpt
      register: wipe_disk
      changed_when: true

    - name: 4. 整块nvme0n1格式化为ext4
      filesystem:
        dev: "{{ dev_name }}"
        fstype: ext4
        force: true
      register: format_result

    - name: 5. 创建/data挂载目录
      file:
        path: "{{ mount_path }}"
        state: directory
        mode: '0755'

    - name: 6. 获取磁盘UUID用于fstab持久挂载
      shell: blkid -s UUID -o value {{ dev_name }}
      register: disk_uuid
      changed_when: false

    - name: 7. 写入/etc/fstab开机自动挂载
      mount:
        path: "{{ mount_path }}"
        src: "UUID={{ disk_uuid.stdout }}"
        fstype: ext4
        opts: defaults,noatime
        state: present

    - name: 8. 实时挂载/data(无需重启)
      mount:
        path: "{{ mount_path }}"
        src: "{{ dev_name }}"
        fstype: ext4
        opts: defaults,noatime
        state: mounted

    - name: 9. 校验挂载结果
      shell: df -h {{ mount_path }}
      register: df_info
      changed_when: false

    - name: 输出挂载信息
      debug:
        msg: "{{ df_info.stdout_lines }}"
(venv) root@JasonYin2020:~/nx_ops/ops-playbook# 

3.执行剧本并测试验证

  1.执行剧本
(venv) root@JasonYin2020:~/nx_ops/ops-playbook# ansible-playbook -i /root/nx_ops/kubespray-release-2.29/inventory/yinzhengjie-k8s/inventory.ini format_nvme_data.yml
警告:执行后会清空所有节点 /dev/nvme0n1 全部数据,确认执行请输入 YES: YES

PLAY [批量格式化nvme0n1为ext4并挂载至/data] **********************************************************************************************************

TASK [Gathering Facts] *******************************************************************************************************************************
ok: [efk-1]
ok: [efk-3]
ok: [efk-2]

TASK [校验确认输入,防止误操作] **********************************************************************************************************************
skipping: [efk-1]
skipping: [efk-2]
skipping: [efk-3]

TASK [1. 检查目标NVMe磁盘是否存在] *******************************************************************************************************************
ok: [efk-2]
ok: [efk-1]
ok: [efk-3]

TASK [2. 卸载nvme0n1下所有分区(防止占用无法擦除)] **************************************************************************************************
changed: [efk-2]
changed: [efk-1]
changed: [efk-3]

TASK [3. 清除nvme0n1分区表与文件系统签名] ************************************************************************************************************
changed: [efk-2]
changed: [efk-1]
changed: [efk-3]

TASK [4. 整块nvme0n1格式化为ext4] ********************************************************************************************************************
changed: [efk-2]
changed: [efk-3]
changed: [efk-1]

TASK [5. 创建/data挂载目录] **************************************************************************************************************************
changed: [efk-1]
changed: [efk-2]
changed: [efk-3]

TASK [6. 获取磁盘UUID用于fstab持久挂载] **************************************************************************************************************
ok: [efk-1]
ok: [efk-2]
ok: [efk-3]

TASK [7. 写入/etc/fstab开机自动挂载] *****************************************************************************************************************
changed: [efk-1]
changed: [efk-2]
changed: [efk-3]

TASK [8. 实时挂载/data(无需重启)] ******************************************************************************************************************
changed: [efk-1]
changed: [efk-2]
changed: [efk-3]

TASK [9. 校验挂载结果] *******************************************************************************************************************************
ok: [efk-1]
ok: [efk-2]
ok: [efk-3]

TASK [输出挂载信息] **********************************************************************************************************************************
ok: [efk-1] => {
    "msg": [
        "Filesystem      Size  Used Avail Use% Mounted on",
        "/dev/nvme0n1     14T   28K   14T   1% /data"
    ]
}
ok: [efk-2] => {
    "msg": [
        "Filesystem      Size  Used Avail Use% Mounted on",
        "/dev/nvme0n1     14T   28K   14T   1% /data"
    ]
}
ok: [efk-3] => {
    "msg": [
        "Filesystem      Size  Used Avail Use% Mounted on",
        "/dev/nvme0n1     14T   28K   14T   1% /data"
    ]
}

PLAY RECAP *******************************************************************************************************************************************
efk-1                      : ok=11   changed=6    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   
efk-2                      : ok=11   changed=6    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   
efk-3                      : ok=11   changed=6    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   

(venv) root@JasonYin2020:~/nx_ops/ops-playbook#


  2.测试验证
(venv) root@JasonYin2020:~/nx_ops/ops-playbook# ansible -i  /root/nx_ops/kubespray-release-2.29/inventory/yinzhengjie-k8s/inventory.ini efk -m shell -a 'df -h | grep data'
efk-1 | CHANGED | rc=0 >>
/dev/nvme0n1     14T   28K   14T   1% /data
efk-3 | CHANGED | rc=0 >>
/dev/nvme0n1     14T   28K   14T   1% /data
efk-2 | CHANGED | rc=0 >>
/dev/nvme0n1     14T   28K   14T   1% /data
(venv) root@JasonYin2020:~/nx_ops/ops-playbook#

二.将单块磁盘基于lvm管理创建单个挂载点并配置开机自动挂载

1.编写剧本

(venv) root@JasonYin2020:~/nx_ops/ops-playbook# cat single-lvm_k8s_storage.yml 
- name: K8s节点sda盘LVM分区与目录挂载部署
  osts: gpu
  become: true
  gather_facts: false
  vars:
    data_disk: /dev/nvme0n1
    vg_name: vg-model

  tasks:
    - name: 清空磁盘分区表(仅全新裸盘执行,谨慎!)
      command: wipefs -a {{ data_disk }}
      when: not ansible_check_mode

    - name: 创建PV(不存在才执行)
      command: pvcreate {{ data_disk }}
      register: pv_create_res
      failed_when: pv_create_res.rc not in [0,5]
      changed_when: pv_create_res.rc == 0

    - name: 创建VG卷组(不存在才执行)
      command: vgcreate {{ vg_name }} {{ data_disk }}
      register: vg_create_res
      failed_when: vg_create_res.rc not in [0,4]
      changed_when: vg_create_res.rc == 0

    - name: 创建逻辑卷 lv-model,使用所有的卷组。
      command: lvcreate -l 100%FREE -n lv-model {{ vg_name }}
      register: lv_kubelet_res
      failed_when: lv_kubelet_res.rc not in [0,5]
      changed_when: lv_kubelet_res.rc == 0


    - name: 格式化所有逻辑卷为ext4
      filesystem:
        dev: /dev/{{ vg_name }}/{{ item }}
        fstype: ext4
        force: true
      loop:
        - lv-model

    - name: 创建挂载目录
      file:
        path: "{{ item }}"
        state: directory
        mode: '0755'
      loop:
        - /model-csi-cache

    - name: 写入/etc/fstab永久挂载
      mount:
        path: "{{ item.path }}"
        src: /dev/{{ vg_name }}/{{ item.lv }}
        fstype: ext4
        opts: defaults
        state: mounted
      loop:
        - { lv: lv-model, path: /model-csi-cache }

(venv) root@JasonYin2020:~/nx_ops/ops-playbook#

2.测试验证

(venv) root@JasonYin2020:~/nx_ops/ops-playbook# ansible-playbook -i /root/nx_ops/kubespray-release-2.29/inventory/yinzhengjie-k8s/inventory.ini single-lvm_k8s_storage.yml 

三.将单块磁盘基于lvm管理创建多个挂载点并配置开机自动挂载

1.环境准备

(venv) root@JasonYin2020:~/nx_ops/ops-playbook# ansible -i  /root/nx_ops/kubespray-release-2.29/inventory/yinzhengjie-k8s/inventory.ini gpu -m shell -a 'lsblk | grep nvme'
GPU-POD01-06 | CHANGED | rc=0 >>
nvme0n1     259:0    0 894.3G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0     4G  0 part /boot
└─nvme0n1p3 259:3    0 889.8G  0 part /
nvme1n1     259:4    0     7T  0 disk 
nvme2n1     259:5    0     7T  0 disk 
nvme3n1     259:6    0     7T  0 disk 
nvme4n1     259:7    0     7T  0 disk 
GPU-POD01-09 | CHANGED | rc=0 >>
nvme1n1     259:0    0 894.3G  0 disk 
├─nvme1n1p1 259:1    0   512M  0 part /boot/efi
├─nvme1n1p2 259:2    0     4G  0 part /boot
└─nvme1n1p3 259:3    0 889.8G  0 part /
nvme2n1     259:4    0     7T  0 disk 
nvme4n1     259:5    0     7T  0 disk 
nvme3n1     259:6    0     7T  0 disk 
nvme0n1     259:7    0     7T  0 disk 
GPU-POD01-05 | CHANGED | rc=0 >>
nvme0n1     259:0    0 894.3G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0     4G  0 part /boot
└─nvme0n1p3 259:3    0 889.8G  0 part /
nvme3n1     259:4    0     7T  0 disk 
nvme2n1     259:5    0     7T  0 disk 
nvme1n1     259:6    0     7T  0 disk 
nvme4n1     259:7    0     7T  0 disk 
GPU-POD01-07 | CHANGED | rc=0 >>
nvme0n1     259:0    0 894.3G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0     4G  0 part /boot
└─nvme0n1p3 259:3    0 889.8G  0 part /
nvme1n1     259:4    0     7T  0 disk 
nvme2n1     259:5    0     7T  0 disk 
nvme4n1     259:6    0     7T  0 disk 
nvme3n1     259:7    0     7T  0 disk 
GPU-POD01-08 | CHANGED | rc=0 >>
nvme0n1     259:0    0 894.3G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0     4G  0 part /boot
└─nvme0n1p3 259:3    0 889.8G  0 part /
nvme4n1     259:4    0     7T  0 disk 
nvme3n1     259:5    0     7T  0 disk 
nvme1n1     259:6    0     7T  0 disk 
nvme2n1     259:7    0     7T  0 disk 
GPU-POD01-10 | CHANGED | rc=0 >>
nvme0n1     259:0    0 894.3G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0     4G  0 part /boot
└─nvme0n1p3 259:3    0 889.8G  0 part /
nvme1n1     259:4    0     7T  0 disk 
nvme3n1     259:5    0     7T  0 disk 
nvme2n1     259:6    0     7T  0 disk 
nvme4n1     259:7    0     7T  0 disk 
GPU-POD01-11 | CHANGED | rc=0 >>
nvme0n1     259:0    0 894.3G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0     4G  0 part /boot
└─nvme0n1p3 259:3    0 889.8G  0 part /
nvme1n1     259:4    0     7T  0 disk 
nvme4n1     259:5    0     7T  0 disk 
nvme2n1     259:6    0     7T  0 disk 
nvme3n1     259:7    0     7T  0 disk 
GPU-POD01-14 | CHANGED | rc=0 >>
nvme0n1     259:0    0 894.3G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0     4G  0 part /boot
└─nvme0n1p3 259:3    0 889.8G  0 part /
nvme1n1     259:4    0     7T  0 disk 
nvme3n1     259:5    0     7T  0 disk 
nvme2n1     259:6    0     7T  0 disk 
nvme4n1     259:7    0     7T  0 disk 
GPU-POD01-13 | CHANGED | rc=0 >>
nvme2n1     259:0    0 894.3G  0 disk 
├─nvme2n1p1 259:1    0   512M  0 part /boot/efi
├─nvme2n1p2 259:2    0     4G  0 part /boot
└─nvme2n1p3 259:3    0 889.8G  0 part /
nvme0n1     259:4    0     7T  0 disk 
nvme1n1     259:5    0     7T  0 disk 
nvme4n1     259:6    0     7T  0 disk 
nvme3n1     259:7    0     7T  0 disk 
GPU-POD01-12 | CHANGED | rc=0 >>
nvme0n1     259:0    0 894.3G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0     4G  0 part /boot
└─nvme0n1p3 259:3    0 889.8G  0 part /
nvme1n1     259:4    0     7T  0 disk 
nvme3n1     259:5    0     7T  0 disk 
nvme4n1     259:6    0     7T  0 disk 
nvme2n1     259:7    0     7T  0 disk 
GPU-POD01-15 | CHANGED | rc=0 >>
nvme0n1     259:0    0 894.3G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0     4G  0 part /boot
└─nvme0n1p3 259:3    0 889.8G  0 part /
nvme4n1     259:4    0     7T  0 disk 
nvme1n1     259:5    0     7T  0 disk 
nvme2n1     259:6    0     7T  0 disk 
nvme3n1     259:7    0     7T  0 disk 
GPU-POD01-64 | CHANGED | rc=0 >>
nvme0n1     259:0    0 894.3G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0     4G  0 part /boot
└─nvme0n1p3 259:3    0 889.8G  0 part /
nvme1n1     259:4    0     7T  0 disk 
nvme4n1     259:5    0     7T  0 disk 
nvme2n1     259:6    0     7T  0 disk 
nvme3n1     259:7    0     7T  0 disk 
GPU-POD01-62 | CHANGED | rc=0 >>
nvme0n1     259:0    0 894.3G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0     4G  0 part /boot
└─nvme0n1p3 259:3    0 889.8G  0 part /
nvme1n1     259:4    0     7T  0 disk 
nvme3n1     259:5    0     7T  0 disk 
nvme4n1     259:6    0     7T  0 disk 
nvme2n1     259:7    0     7T  0 disk 
GPU-POD01-63 | CHANGED | rc=0 >>
nvme4n1     259:0    0 894.3G  0 disk 
├─nvme4n1p1 259:1    0   512M  0 part /boot/efi
├─nvme4n1p2 259:2    0     4G  0 part /boot
└─nvme4n1p3 259:3    0 889.8G  0 part /
nvme1n1     259:4    0     7T  0 disk 
nvme0n1     259:5    0     7T  0 disk 
nvme2n1     259:6    0     7T  0 disk 
nvme3n1     259:7    0     7T  0 disk 
(venv) root@JasonYin2020:~/nx_ops/ops-playbook#

2.编写剧本

(venv) root@CPU-G01-Mon-19:~/nx_ops/ops-playbook# cat  lvm_k8s_storage.yml 
- name: K8s节点sda盘LVM分区与目录挂载部署
  hosts: gpu
  become: true
  gather_facts: false
  vars:
    data_disk: /dev/nvme1n1
    vg_name: vg-data
    lv_kubelet_size: 1T
    lv_containerd_size: 2T
    lv_data_size: 2T

  tasks:
    - name: 清空磁盘分区表(仅全新裸盘执行,谨慎!)
      command: wipefs -a {{ data_disk }}
      when: not ansible_check_mode

    - name: 创建PV(不存在才执行)
      command: pvcreate {{ data_disk }}
      register: pv_create_res
      failed_when: pv_create_res.rc not in [0,5]
      changed_when: pv_create_res.rc == 0

    - name: 创建VG卷组(不存在才执行)
      command: vgcreate {{ vg_name }} {{ data_disk }}
      register: vg_create_res
      failed_when: vg_create_res.rc not in [0,4]
      changed_when: vg_create_res.rc == 0

    - name: 创建逻辑卷 lv-kubelet
      command: lvcreate -n lv-kubelet -L {{ lv_kubelet_size }} {{ vg_name }}
      register: lv_kubelet_res
      failed_when: lv_kubelet_res.rc not in [0,5]
      changed_when: lv_kubelet_res.rc == 0

    - name: 创建逻辑卷 lv-containerd
      command: lvcreate -n lv-containerd -L {{ lv_containerd_size }} {{ vg_name }}
      register: lv_containerd_res
      failed_when: lv_containerd_res.rc not in [0,5]
      changed_when: lv_containerd_res.rc == 0

    - name: 创建逻辑卷 lv-data
      command: lvcreate -n lv-data -L {{ lv_data_size }} {{ vg_name }}
      register: lv_data_res
      failed_when: lv_data_res.rc not in [0,5]
      changed_when: lv_data_res.rc == 0

    - name: 格式化所有逻辑卷为ext4
      filesystem:
        dev: /dev/{{ vg_name }}/{{ item }}
        fstype: ext4
        force: true
      loop:
        - lv-kubelet
        - lv-containerd
        - lv-data

    - name: 创建挂载目录
      file:
        path: "{{ item }}"
        state: directory
        mode: '0755'
      loop:
        - /var/lib/kubelet
        - /var/lib/containerd
        - /data

    - name: 写入/etc/fstab永久挂载
      mount:
        path: "{{ item.path }}"
        src: /dev/{{ vg_name }}/{{ item.lv }}
        fstype: ext4
        opts: defaults
        state: mounted
      loop:
        - { lv: lv-kubelet, path: /var/lib/kubelet }
        - { lv: lv-containerd, path: /var/lib/containerd }
        - { lv: lv-data, path: /data }

(venv) root@CPU-G01-Mon-19:~/nx_ops/ops-playbook# 

3.测试验证

  1.执行剧本
(venv) root@JasonYin2020:~/nx_ops/ops-playbook# ansible-playbook -i  /root/nx_ops/kubespray-release-2.29/inventory/yinzhengjie-k8s/inventory.ini lvm_k8s_storage.yml

温馨提示:
  我上面的环境,GPU-POD01-09节点执行会报错,因为其nvme1n1被根分区占用,无法格式化使用,因此需要修改剧本,该对应的主机单独再执行一次即可。



  2.测试验证
(venv) root@JasonYin2020:~/nx_ops/ops-playbook#ansible -i  /root/nx_ops/kubespray-release-2.29/inventory/yinzhengjie-k8s/inventory.ini gpu -m shell -a 'df -h | grep data'
GPU-POD01-09 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
GPU-POD01-06 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
GPU-POD01-05 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
GPU-POD01-08 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
GPU-POD01-07 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
GPU-POD01-10 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
GPU-POD01-15 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
GPU-POD01-62 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
GPU-POD01-11 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
GPU-POD01-12 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
GPU-POD01-13 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
GPU-POD01-14 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
GPU-POD01-63 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
GPU-POD01-64 | CHANGED | rc=0 >>
/dev/mapper/vg--data-lv--kubelet    1007G   28K  956G   1% /var/lib/kubelet
/dev/mapper/vg--data-lv--containerd  2.0T   28K  1.9T   1% /var/lib/containerd
/dev/mapper/vg--data-lv--data        2.0T   28K  1.9T   1% /data
(venv) root@JasonYin2020:~/nx_ops/ops-playbook#