ansible批量创建五个分区,大小随意 然后批量删除所有分区
时间: 2024-03-20 19:38:53 浏览: 14
可以使用Ansible的disk_partition模块来批量创建分区,使用disk_partition模块的partitions参数指定需要创建的分区信息,例如:
```
- name: Create partitions
disk_partition:
disk: /dev/sda
partitions:
- number: 1
size: "1GiB"
- number: 2
size: "2GiB"
- number: 3
size: "3GiB"
- number: 4
size: "4GiB"
- number: 5
size: "5GiB"
```
上面的例子会在/dev/sda上创建五个分区,大小分别为1GB、2GB、3GB、4GB、5GB。
要批量删除所有分区,可以使用disk_partition模块的state参数将所有分区删除,例如:
```
- name: Remove partitions
disk_partition:
disk: /dev/sda
state: absent
```
上面的例子会将/dev/sda上的所有分区删除。
相关问题
使用ansible批量创建用户组
可以使用Ansible的user模块来批量创建用户组。以下是一个简单的例子:
在Ansible的inventory文件中,定义需要创建用户组的目标主机:
```
[web_servers]
web1.example.com
web2.example.com
web3.example.com
```
然后,在Ansible的playbook中使用user模块来创建用户组:
```
- hosts: web_servers
become: yes
tasks:
- name: Create group
group:
name: mygroup
```
这个playbook将在web_servers主机组中的所有主机上创建名为"mygroup"的用户组。使用become关键字来获取超级用户权限,以便创建用户组。
你可以根据需要在playbook中添加其他任务来创建用户、设置密码等。
利用ansible批量分区、格式化、挂载
可以使用Ansible的`disk_partition`和`filesystem`模块来批量分区、格式化和挂载磁盘。下面是一个示例playbook,可以将其用作参考:
```yaml
- hosts: all
become: true
vars:
partitions:
- name: /dev/sdb1
number: 1
size: 10GB
- name: /dev/sdc1
number: 1
size: 20GB
filesystems:
- name: /dev/sdb1
fstype: ext4
opts: defaults
- name: /dev/sdc1
fstype: ext4
opts: defaults
mountpoints:
- path: /mnt/disk1
device: /dev/sdb1
fstype: ext4
opts: defaults
- path: /mnt/disk2
device: /dev/sdc1
fstype: ext4
opts: defaults
tasks:
- name: Partition disks
disk_partition:
device: "{{ item.name }}"
number: "{{ item.number }}"
size: "{{ item.size }}"
state: present
with_items: "{{ partitions }}"
- name: Format disks
filesystem:
fstype: "{{ item.fstype }}"
dev: "{{ item.name }}"
opts: "{{ item.opts }}"
state: present
with_items: "{{ filesystems }}"
- name: Mount filesystems
mount:
path: "{{ item.path }}"
src: "{{ item.device }}"
fstype: "{{ item.fstype }}"
opts: "{{ item.opts }}"
state: mounted
with_items: "{{ mountpoints }}"
```
这个playbook的作用是对目标主机上的磁盘执行以下操作:
- 分区为指定大小的分区
- 格式化为指定文件系统类型的分区
- 挂载在指定的挂载点上
你需要将`partitions`、`filesystems`和`mountpoints`变量替换为你自己的值,以适应你的环境。然后使用`ansible-playbook`命令执行该playbook即可。