Hari ini saya mencoba ini di komputer saya dengan OpenSUSE 12.3 (kernel 3.7):
# resize2fs /dev/mapper/system-srv 2G
resize2fs 1.42.6 (21-Sep-2012)
Filesystem at /dev/mapper/system-srv is mounted on /srv; on-line resizing required
resize2fs: On-line shrinking not supported
/dev/mapper/system-srv
adalah volume EXT4.
Apakah ini benar-benar tidak didukung atau saya kehilangan sesuatu?
linux
lvm
hard-drive
ext4
Alicia
sumber
sumber
Ya, Anda dapat mengecilkan / memindahkan / menumbuhkan partisi root tanpa reboot (atau livecd, atau usbkey): lihat jawaban ini . Ini ditulis dengan sangat baik dan mudah diikuti, meskipun cukup panjang dan sedikit berisiko.
resize2fs
tidak dapat mengecilkanext4
partisi online . Keterbatasan ini, ketika diterapkan pada partisi root dapat membuat Anda berpikir Anda tidak dapat menghindari me-reboot host untuk memungkinkan menyusutnyaroot
partisi, yang mungkin merupakan sesuatu yang ingin Anda hindari. Proses yang tertaut akan memungkinkan Anda untuk melakukan umount partisi root tanpa reboot. Jadi dalam hal ini tidak secara langsung mengubah ukuran online terkait dengan status pemasangan partisi, namun ia tetap mengubah ukuran online terkait status jaringan online atau jangkauan host.Tentu saja, jika Anda hanya ingin menumbuhkan partisi ext4 Anda, Anda harus tetap berpegang pada
resize2fs
solusi kerja konvensional .Solusi umum yang saya tautkan akan bekerja pada semua jenis solusi khusus atau VPS misalnya.
TLDR; solusi ini menyiratkan untuk
pivot_root
ketmpfs
sehingga Anda dapatumount
dengan aman partisi root Anda hidup dan biola dengan itu. Setelah selesai, Anda akanpivot_root
kembali ke partisi root baru Anda.Ini memungkinkan hampir semua manipulasi pada sistem file root (pindahkan, ubah filesystem, ubah perangkat fisiknya ...).
Saya pribadi menggunakan ini, dan ini bekerja sangat baik pada sistem debian juga, tetapi panduan ini awalnya ditulis pada 2007 untuk redhat, jawaban yang saya tautkan diperbarui untuk CentOS7. Sangat mungkin ini akan bekerja pada OpenSUSE Anda, meskipun mungkin dengan beberapa adaptasi.
sumber
Jika kasing adalah server jarak jauh tanpa konsol, Anda dapat mengecilkan sistem file menggunakan initramfs saat reboot. Anda perlu menambahkan resize2fs ke initramfs dan menjalankannya sebelum memasang root.
Contoh Debian / Ubuntu:
/ etc / initramfs-tools / hooks / resizefs (executable):
/ etc / initramfs-tools / script / local-premount / resizefs (dapat dieksekusi)
Sekarang jalankan pembaruan-initramfs, reboot, periksa ukuran, hapus skrip ini dan perbarui-intiramfs lagi.
Untuk dracut (Fedora, CentOS) gunakan logika yang sama (/usr/lib/dracut/modules.d).
Ini sangat berguna untuk crypting atau memindahkan rootfs, tanpa ruang kosong yang tersedia untuk partisi baru.
sumber
update-grub
.