GNU/Linux >> Znalost Linux >  >> Linux

Ansible:je možné změnit velikost souborového systému ext4?

Aby byla úloha idempotentní, přidejte další úlohu, abyste nejprve zkontrolovali případné nerozbalené oddíly. Např. pokud chcete, aby měl kořenový oddíl alespoň 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

POZNÁMKA: Tato úloha se nezdaří, pokud oddíl / je menší než 10 GB.

Dále podmiňte úlohu rozšíření expanded|failed :

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

V mém případě rozšiřuji oddíl 2 na blokovém zařízení /dev/mmcblk0 (pro Raspberry Pi). Měli byste je samozřejmě nahradit názvy zařízení ve vašem systému.

Nakonec notify spouští rozšíření souborového systému:

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

Pokud se podíváte na zdrojový kód modulu souborového systému v jeho současné podobě, můžete vidět, že neexistuje nic, co byste mohli použít ke změně velikosti souborového systému.

Naštěstí máte možnosti:příkazový modul a modul shell.

Příkazový modul je preferován před shellovým modulem, protože není ovlivněn uživatelským prostředím, takže vám ukážu, jak to udělat pomocí přístupu:

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

kde sda1 je váš souborový systém. Pokud potřebujete nejprve zvětšit souborový systém, použijte stejný přístup, ale zavolejte na fdisk (se správnými přepínači příkazového řádku).

Zkontrolujte man resize2fs pro konkrétní volby pro tento příkaz a dokumentaci ansible pro více informací, včetně parametrizace vašeho příkazu.


Nevím, jestli by to mohlo pomoci. Ale od Ansible 2.0 existuje resizefs možnost v filesystem modul, který je false ve výchozím nastavení a které podporují ext4 .

Pokud ano, pokud se blokové zařízení a velikost souborového systému liší, rozšiřte souborový systém do prostoru. Podporováno pro ext2, ext3, ext4, ext4dev, f2fs, lvm, xfs, vfat, swap souborové systémy.

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

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

Linux
  1. Jak zvýšit počet inodů v souborovém systému Ext4?

  2. Jaký souborový systém je nejlepší zálohovat?

  3. mkfs.ext4 Příklady příkazů v Linuxu

  1. mkfs.exfat:příkaz nenalezen

  2. mkfs.xfs:příkaz nenalezen

  3. umount:příkaz nenalezen

  1. Je možné, aby root provedl příkaz jako jiný než root?

  2. Je online změna velikosti disku možná s KVM?

  3. Připojte oddíl ext4 na Mac OS X