ext4 dosya sistemini Ansible ile nasıl yeniden boyutlandırabilirim? filesystem modülünü biliyorum, ancak bir "yeniden boyutlandırma" parametresi görmedim, ya da bu konuda başka bir şey ...Ansible: ext4 dosya sistemini yeniden boyutlandırmak mümkün mü?
cevap
Ş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
Teşekkürler! Sanırım ihtiyacım olan şey bu! –
Şüphesiz, sorunuzu çözerse, lütfen oy vermeyi ve/veya kabul etmeyi diğerlerinin işe yaradığını bilmelerini sağlayın. –
Herhangi bir güzel 'ne zaman' ve 'değiştirildi' koşullar onu idempotent yapan? – serverhorror
. Ö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
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
, 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
:
Son olarak,
notify
dosya sistemi genişlemesini tetikler. –Bunu nasıl yapmaya çalıştın? –