如何通过Ansible调整ext4文件系统的大小?我知道filesystem模块,但我没有看到“resize”参数,或其他有关它的内容。
ext4
dgtucam11#
为了使任务具有幂等性,请添加另一个任务,以首先检查是否有未扩展的分区。例如,如果您希望根分区至少为10 GB:
- name: Assert root partition is expanded assert: { that: item.mount != '/' or item.size_total > 10737418240 } # 10 GB with_items: '{{ ansible_mounts }}' ignore_errors: yes register: expanded
字符串
**注意:**如果分区/小于10 GB,则此任务失败。
/
接下来,使扩展任务以expanded|failed为条件:
expanded|failed
- name: Expand partition command: parted /dev/mmcblk0 resizepart 2 15.5GB # NOTE: Assumes 16GB card when: expanded|failed notify: Expand filesystem
型在我的例子中,我正在扩展块设备/dev/mmcblk0(对于Raspberry Pi)上的分区2。当然,您应该替换为系统上的设备名称。最后,notify触发文件系统扩展:
/dev/mmcblk0
notify
handlers: - name: Expand filesystem command: resize2fs /dev/mmcblk0p2
型
wrrgggsh2#
如果您查看当前filesystem module的源代码,您会发现似乎没有任何东西可以用来调整文件系统的大小。值得庆幸的是,你有选择:command module和shell module。命令模块优于shell模块,因为它不受用户环境的影响,所以我将向您展示如何使用这种方法:
- name: "resize my ext4 filesystem, please" command: resize2fs /dev/sda1 sudo: True
字符串其中sda1是你的文件系统。如果你需要先扩大你的文件系统,使用同样的方法,但是调用fdisk(使用正确的命令行开关)。查看man resize2fs以获取该命令的特定选项,并查看ansible文档以获取更多信息,包括参数化命令。
sda1
fdisk
man resize2fs
hvvq6cgz3#
不知道它是否有帮助。但是,由于Ansible 2.0在filesystem模块中有resizefs选项,默认情况下为false,支持ext4。如果是,如果块设备和文件系统大小不同,则将文件系统扩展到空间中。支持ext2,ext3,ext4,ext4dev,f2fs,lvm,xfs,vfat,swap文件系统。https://docs.ansible.com/ansible/latest/modules/filesystem_module.html
2.0
filesystem
resizefs
false
- name: 'Extend the FS' filesystem: fstype: 'ext4' dev: '/dev/sda1' resizefs: yes
3条答案
按热度按时间dgtucam11#
为了使任务具有幂等性,请添加另一个任务,以首先检查是否有未扩展的分区。例如,如果您希望根分区至少为10 GB:
字符串
**注意:**如果分区
/
小于10 GB,则此任务失败。接下来,使扩展任务以
expanded|failed
为条件:型
在我的例子中,我正在扩展块设备
/dev/mmcblk0
(对于Raspberry Pi)上的分区2。当然,您应该替换为系统上的设备名称。最后,
notify
触发文件系统扩展:型
wrrgggsh2#
如果您查看当前filesystem module的源代码,您会发现似乎没有任何东西可以用来调整文件系统的大小。
值得庆幸的是,你有选择:command module和shell module。
命令模块优于shell模块,因为它不受用户环境的影响,所以我将向您展示如何使用这种方法:
字符串
其中
sda1
是你的文件系统。如果你需要先扩大你的文件系统,使用同样的方法,但是调用fdisk
(使用正确的命令行开关)。查看
man resize2fs
以获取该命令的特定选项,并查看ansible文档以获取更多信息,包括参数化命令。hvvq6cgz3#
不知道它是否有帮助。但是,由于Ansible
2.0
在filesystem
模块中有resizefs
选项,默认情况下为false
,支持ext4
。如果是,如果块设备和文件系统大小不同,则将文件系统扩展到空间中。支持ext2,ext3,ext4,ext4dev,f2fs,lvm,xfs,vfat,swap文件系统。
https://docs.ansible.com/ansible/latest/modules/filesystem_module.html
字符串