2.7 KiB
2.7 KiB
disks role for Ansible
Format and mount additional disks
Role Variables
Default Variables
disks_to_mount- List of disks to mount:disable_periodic_fsckdeactivates the periodic ext3/4 filesystem check for the new diskdiskis the device, you want to mountfstypeallows you to choose the filesystem to use with the new diskgroupsets group of the mount directory (default:root)mountis the directory where the new disk should be mountedmount_optionsallows you to specify custom mount optionspartis the first partition name. If not specified,1will be appended to the disk nameusersets owner of the mount directory (default:root)
# inventory/group_vars/GROUP_NAME
disks_to_mount:
- disk: /dev/sdb
fstype: ext4
mount_options: defaults
mount: /data1
user: www-data
group: www-data
disable_periodic_fsck: false
- disk: /dev/nvme0n1
part: /dev/nvme0n1p1
fstype: xfs
mount_options: defaults,noatime
mount: /data2
- disk: nfs-host:/nfs/export
fstype: nfs
mount_options: defaults,noatime
mount: /data3
The following filesystems are currently supported:
Note: (*) To use these filesystems you have to define and install additional software packages. Please estimate the right package names for your operating system.
disks_packages- List of packages to install/remove on your hosts
disks_packages:
- { "name": "xfsprogs", "state": "present" } # package for mkfs.xfs on RedHat / Ubuntu
- { "name": "btrfs-progs", "state": "present" } # package for mkfs.btrfs on CentOS / Debian
disks_services- List of services to enable/disable on your hosts
disks_services:
- { "name": "rpc.statd", "state": "started", "enabled": "yes" } # start rpc.statd service for nfs
AWS variables
aws_ebs_discover- Discover AWS NVMe EBS disks
aws_ebs_discover: false
Example playbook
- hosts: 'disks'
roles:
- role: 'aynicos.disks'
disks_to_mount:
- disk: /dev/xvdb
disable_periodic_fsck: true
fstype: ext4
mount_options: defaults
mount: /var/lib/docker
service: docker
disks_services:
- { "name": "rpc.statd", "state": "started", "enabled": "yes" }
How it works
It uses sfdisk to partition the disk with a single primary partition spanning the entire disk.
It creates the specified filesystem with mkfs.
It mounts the new filesystem to the specified mount path.