2015-01-22 7 views

cevap

7

Şu anki haliyle filesystem module kaynağına bakarsanız, Bir dosya sistemini yeniden boyutlandırmak için kullanabileceğiniz hiçbir şey görünmüyor. command module ve shell module:

Neyse ki, bazı yollar mevcuttur. kullanıcı ortamında etkilenmez çünkü

komuta modülü kabuk modülüne göre tercih edilir, bu yüzden yaklaşım kullanarak bunu nasıl göstereceğiz: sda1 sizin dosya sistemi olan

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

. Önce dosya sisteminizi büyütmeniz gerekiyorsa, aynı yaklaşımı kullanın, ancak bunun yerine fdisk (doğru komut satırı anahtarları ile) arayın.

o komuta ve komutunu parameterizing içeren daha fazla bilgi için yanıtlayıcı 'dokümantasyon için belirli seçenekler için kontrol man resize2fs. Görevi idempotent yaptığınız genişletilmemiş bölümleri ilk onay için başka bir görev eklemek için

+0

Teşekkürler! Sanırım ihtiyacım olan şey bu! –

+0

Şüphesiz, sorunuzu çözerse, lütfen oy vermeyi ve/veya kabul etmeyi diğerlerinin işe yaradığını bilmelerini sağlayın. –

+2

Herhangi bir güzel 'ne zaman' ve 'değiştirildi' koşullar onu idempotent yapan? – serverhorror

7

. Örneğin, isterseniz, kök bölümü en az 10 GB olmak:

- 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 

NOT: bölme / az 10 GB ise Bu görev başarısız olur.

Sonraki, expanded|failed üzerinde genişletme görev koşullu olun: Benim durumumda

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

, ben (Ahududu Pi) blok cihazına /dev/mmcblk0 üzerinde bölüm 2 genişleyen ediyorum. Elbette sisteminizdeki cihaz isimleri ile değiştirmelisiniz. i dosya sistemini genişletmek istiyorum

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

Ansible için nispeten yeni; "Genişletme dosya sistemi" adımını bir işleyici olarak yapılandırma ve "Genişletme bölümü" nden yalnızca "Genişletme bölümünü" sonra başka bir adım olarak değil, "Genişletme bölümü" nden ve bununla birlikte çalışıp çalışmadığını denetlemenin avantajı nedir? ne zaman: genişletilmiş | başarısız 'sadece' Expand bölüm 'adımının kendisi için yaptığımız gibi? Benim için – staticfloat

+0

, 5 takılı sürücülerim olduğu için assert işlevi ansible_mounts ile başarısız oluyor. Doğru olanı bulur ama diğerleri için başarısız olur. Bunu nasıl düzeltirim? – Ubuntuser