From 2bcd8b8c5fdf4dd575b5583a5d94ed77fe17a4dc Mon Sep 17 00:00:00 2001 From: Tunui Franken Date: Sat, 12 Oct 2024 13:01:35 +0200 Subject: [PATCH] Put /var/vmail in a dedicated LV --- Vagrantfile | 9 +++++++ roles/mailserver_dovecot/tasks/main.yml | 36 ++++++++++++++++++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/Vagrantfile b/Vagrantfile index d179e5a..fd1cb17 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -16,6 +16,15 @@ Vagrant.configure("2") do |config| config.vm.define "mailserver-test" do |mailserver| mailserver.vm.box = "debian/bookworm64" mailserver.vm.hostname = "mailserver-test" + mailserver.vm.provider :libvirt do |libvirt| + libvirt.storage :file, :size => '6G' + end + mailserver.vm.provision "shell" do |shell| + shell.inline = <<-SHELL + apt-get install -y lvm2 + vgcreate vg_data /dev/vdb + SHELL + end end end diff --git a/roles/mailserver_dovecot/tasks/main.yml b/roles/mailserver_dovecot/tasks/main.yml index 62e37e5..b4c52a9 100644 --- a/roles/mailserver_dovecot/tasks/main.yml +++ b/roles/mailserver_dovecot/tasks/main.yml @@ -9,6 +9,31 @@ - dovecot-managesieved - dovecot-lmtpd +- name: Create a LV for /var/vmail + become: true + community.general.lvol: + vg: vg_data + lv: vmail + state: present + size: 5g + resizefs: true + +- name: Format vmail LV to ext4 + become: true + community.general.filesystem: + dev: /dev/mapper/vg_data-vmail + fstype: ext4 + resizefs: true + state: present + +- name: Mount /var/vmail + become: true + ansible.posix.mount: + src: /dev/mapper/vg_data-vmail + path: /var/vmail + state: mounted + fstype: ext4 + - name: Create vmail group become: true ansible.builtin.group: @@ -23,9 +48,18 @@ uid: 5000 group: vmail home: /var/vmail - create_home: true + create_home: false state: present +- name: Set ownership for /var/vmail + become: true + ansible.builtin.file: + path: /var/vmail + state: directory + owner: vmail + group: vmail + recurse: true + - name: Add login to auth_mechanisms become: true ansible.builtin.lineinfile: