GNU/Linux >> Linux Esercitazione >  >> Linux

Ansible:è possibile ridimensionare il filesystem ext4?

Per rendere l'attività idempotente, aggiungi un'altra attività per verificare prima eventuali partizioni non espanse. Ad esempio, se desideri che la partizione root sia di almeno 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

NOTA: Questa attività fallisce se la partizione / è inferiore a 10 GB.

Successivamente, rendi l'attività di espansione condizionata a expanded|failed :

  - name: Expand partition
    command: parted /dev/mmcblk0 resizepart 2 15.5GB # NOTE: Assumes 16GB card
    when: expanded|failed
    notify: Expand filesystem

Nel mio caso, sto espandendo la partizione 2 sul dispositivo a blocchi /dev/mmcblk0 (per il Raspberry Pi). Dovresti ovviamente sostituire con i nomi dei dispositivi sul tuo sistema.

Infine, notify attiva l'espansione del filesystem:

  handlers:
  - name: Expand filesystem
    command: resize2fs /dev/mmcblk0p2

Se guardi l'origine del modulo del filesystem così com'è attualmente, puoi vedere che non sembra esserci nulla che potresti usare per ridimensionare un filesystem.

Per fortuna, hai delle opzioni:il modulo di comando e il modulo shell.

Il modulo di comando è preferito rispetto al modulo shell perché non è influenzato dall'ambiente utente, quindi ti mostrerò come farlo utilizzando l'approccio:

- name: "resize my ext4 filesystem, please"
  command: resize2fs /dev/sda1 
  sudo: True

dove sda1 è il tuo filesystem. Se devi prima ingrandire il tuo filesystem, usa lo stesso approccio, ma fai una chiamata a fdisk (con le opzioni della riga di comando corrette).

Seleziona man resize2fs per opzioni specifiche per quel comando e la documentazione ansible per ulteriori informazioni, inclusa la parametrizzazione del tuo comando.


Non so se potrebbe aiutare. Ma, poiché Ansible 2.0 c'è resizefs opzione nel filesystem modulo che è false per impostazione predefinita e che supportano ext4 .

In caso affermativo, se il dispositivo a blocchi e le dimensioni del filesystem differiscono, fai crescere il filesystem nello spazio. Supportato per filesystem ext2, ext3, ext4, ext4dev, f2fs, lvm, xfs, vfat, swap.

https://docs.ansible.com/ansible/latest/modules/filesystem_module.html

- name: 'Extend the FS'
  filesystem:
    fstype: 'ext4'
    dev: '/dev/sda1'
    resizefs: yes

Linux
  1. Esempi di comandi Linux mkfs, mke2fs (Crea filesystem ext2, ext3, ext4)

  2. mkfs.exfat:comando non trovato

  3. mkfs.xfs:comando non trovato

  4. Crea comando per Windows - possibili opzioni?

  5. Come menzionare il carattere jolly nei comandi ansible

Comprensione dei filesystem Linux:ext4 e oltre

Ansible Guide:Il comando ad hoc

Come eseguire il backup del filesystem Linux utilizzando il comando dump

Quale filesystem di cui eseguire il backup è il migliore??

Convertire il filesystem di avvio da Xfs a Ext4?

Monta una partizione ext4 su Mac OS X