GNU/Linux >> Linux の 問題 >  >> Linux

Ansible:ext4 ファイルシステムのサイズを変更することは可能ですか?

タスクを冪等にするために、拡張されていないパーティションを最初にチェックする別のタスクを追加します。たとえば、ルート パーティションを少なくとも 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

注: パーティション / の場合、このタスクは失敗します は 10 GB 未満です。

次に、拡張タスクを expanded|failed で条件付きにします :

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

私の場合、ブロック デバイス /dev/mmcblk0 でパーティション 2 を拡張しています。 (ラズベリーパイ用)。もちろん、システム上のデバイス名に置き換える必要があります。

最後に notify ファイルシステムの拡張をトリガーします:

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

現在のファイルシステム モジュールのソースを見ると、ファイル システムのサイズを変更するために使用できるものは何もないように見えることがわかります。

ありがたいことに、コマンド モジュールとシェル モジュールというオプションがあります。

コマンド モジュールは、ユーザー環境の影響を受けないため、シェル モジュールよりも優先されます。そのため、次のアプローチを使用してコマンド モジュールを実行する方法を示します。

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

どこで sda1 あなたのファイルシステムです。最初にファイルシステムを拡大する必要がある場合は、同じアプローチを使用しますが、 fdisk を呼び出します (正しいコマンド ライン スイッチを使用して) 代わりに。

man resize2fs をチェック そのコマンドの特定のオプションについては を、コマンドのパラメータ化を含む詳細については ansible ドキュメントを参照してください。


それが役立つかどうかわからない。しかし、Ansible 2.0 以降 resizefs があります filesystem のオプション false のモジュール デフォルトで ext4 をサポート .

<ブロック引用>

はいの場合、ブロック デバイスとファイル システムのサイズが異なる場合は、ファイル システムをスペースに拡張します。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. それらのパーティションとファイルシステムのサイズを変更するにはどうすればよいですか?

  2. Linux mkfs、mke2fs コマンドの例 (ext2、ext3、ext4 ファイルシステムの作成)

  3. Linux での mkfs.ext4 コマンドの例

  1. umount:コマンドが見つかりません

  2. FIND の結果を COPY コマンド CP にパイプすることは可能ですか?

  3. QEMU ディスク イメージのサイズを変更することはできますか?

  1. mkfs.exfat:コマンドが見つかりません

  2. mkfs.xfs:コマンドが見つかりません

  3. KVM を使用してオンラインでディスクのサイズを変更できますか?