Saya memiliki mesin virtual yang baru-baru ini disk image-nya meningkat dari 20GB menjadi 50GB, dan fdisk -l
memverifikasi bahwa VM dapat melihat ukuran baru ini. Sekarang saya perlu mengubah ukuran partisi LVM root saya untuk mengisi 30GB tambahan.
Saya telah menemukan beberapa artikel tentang mengubah ukuran LVM, tetapi beberapa yang membahas mengubah ukuran partisi root semua mengklaim Anda perlu boot dari LiveCD. Apakah ada cara untuk melakukan ini tanpa mencatat server? Server sangat penting, jadi saya ingin meminimalkan waktu henti.
Edit: Output dari fdisk -l
:
[root@fedora-host ~]# sudo fdisk -l
Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00097c90
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 83886079 41430016 8e Linux LVM
Disk /dev/mapper/VolGroup-lv_root: 36.1 GB, 36104568832 bytes
255 heads, 63 sectors/track, 4389 cylinders, total 70516736 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_root doesn't contain a valid partition table
Disk /dev/mapper/VolGroup-lv_swap: 6308 MB, 6308233216 bytes
255 heads, 63 sectors/track, 766 cylinders, total 12320768 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap doesn't contain a valid partition table
Sunting: Bagaimana cara mengubah ukuran partisi fisik? fdisk dapat melihat ruang kosong, tetapi saya tidak tahu cara mengubah ukuran partisi LVM primer untuk menggunakannya. Saya mencoba mem-boot ke LiveCD dan menggunakan resize
perintah parted'd , tetapi semua itu memberi saya kesalahan "Tidak dapat mendeteksi sistem file". Saya menemukan panduan ini , yang mengatakan saya perlu menghapus partisi dan membuat yang baru dengan ukuran yang benar, tetapi kedengarannya sangat berbahaya.
Edit Terakhir: resize
Perintah Parted anehnya tidak dapat mengubah ukuran partisi LVM. Sosok pergi. Sebagai gantinya, saya hanya menghapus partisi lama dan membuat yang baru dengan rentang baru, seperti yang dijelaskan dalam tautan di atas, dan yang mengubah ukuran partisi LVM dengan benar. Saya kemudian mengikuti saran di bawah ini untuk mengubah ukuran volume dan sistem file di dalam partisi LVM.
Jawaban:
Anda dapat mengembangkan volume logis secara online. Anda harus meng-unmount untuk mengecilkannya (yang memerlukan LiveCD / Mode Penyelamatan.)
pvresize /dev/sda2
(dengan asumsi partisi LVM Andasda2
. Ganti sesuai kebutuhan.)lvextend /dev/mapper/root -l+100%FREE
(atau, apa pun volume root root Anda disebut.)resize2fs /dev/mapper/root
(dengan asumsi ext2 / 3/4)sumber
lvextend -L [size][unit] /dev/group/volume
, jika hanya karena saya dapat memperluas volume hingga 10 gigabytes dengan menentukan-L +10G
Now I need to resize my root LVM partition to fill the extra 30GB.
(Yaitu untuk menumbuhkan volume logis dengan ruang kosong yang tersedia.)-r
opsilvextend
, itu akan menghubungkanfsadm
untuk mengubah ukuran FS. Ini akan membuat langkah ke-3 mubazir.pvresize /dev/sda2
perintah tidak apa-apa sampai partisi / dev / sda2 telah diubah ukurannya dengan berpisah atau fdisk. Saya harus mengubah ukuran tambang dengan fdisk karena parted di sistem saya tidak akan menunjukkan atau tidak memiliki perintah mengubah ukuran. Mengubah ukuran Fdisk melibatkan menghapus dan membuat ulang partisi.Apakah sistem Anda benar-benar berubah dari 20 menjadi 50 GB? Itu tampak sangat aneh karena perangkat sda2 Anda ~ 40GB, lv_root menunjukkan 36GB, dan swap menunjukkan 6GB.
Output Anda
fdisk -l
menunjukkan total sektor/dev/sda
is104857600
. Sektor terakhir yang digunakan oleh/dev/sda2
adalah83886079
. Ini memberitahu saya bahwa Anda belum menyesuaikan ukuran partisi untuk menggunakan semua ruang yang tersedia di drive. Perintah pvresize tidak mengubah tabel partisi. Anda harus mengubah tabel partisi terlebih dahulu.sumber
Instal gparted. Jalankan sebagai root (gunakan ssh -X atau x2go jika remote). Pilih partisi. Ini harus menunjukkan ruang kosong melewati ujung (ke kanan). Jika tidak, Anda harus melakukan reboot untuk mesin virtual Anda untuk melihat ukuran baru dari perangkat virtual. Itu harus minimal downtime dengan systemd.
Klik kanan dan pilih ukuran. Seret ujung ke ujung disk. Pastikan Anda tidak menyentuh bagian awal. gparted dapat memindahkan partisi saat mengubah ukuran, tetapi itu tentu saja akan menghancurkan sistem yang sedang berjalan. Tapi menggerakkan ujungnya baik-baik saja. Tinjau operasi yang tertunda yang akan dilakukan gparted untuk memastikan Anda memperpanjang dan tidak memindahkan partisi. Klik berlaku. gparted akan mengubah partisi pada disk, kemudian mengeluarkan kernel ioctl untuk membaca ulang tabel partisi, mengubah ukuran perangkat blok hidup juga. Kemudian, karena melihat itu adalah LVM PV, ia menjalankan pvresize untuk Anda. Keluar gparted, dan vgs sekarang menunjukkan ruang baru Anda.
Saya pernah mendengar desas-desus bahwa berpisah dapat melakukan semua itu tanpa overhead dari GUI, tetapi saya tidak pernah bisa mengetahui voodoo. Parted harus menjadi salah satu antarmuka CLI terburuk yang pernah saya coba gunakan.
Jangan gunakan fdisk, Anda harus menghapus dan merealokasi partisi untuk mengubah ukuran, dan secara default itu akan menghapus tanda tangan LVM2 saat menulis. Saya pikir saya melihat opsi "lanjutan" untuk mematikan perilaku merusak itu, tetapi saya belum pernah mengujinya.
Anda juga dapat mencoba cfdisk (kutukan fdisk). Itu mungkin memiliki ukuran partisi yang dapat digunakan. Cukup mudah untuk menjalankan pvresize secara manual, dan ada perintah untuk memberitahu kernel untuk membaca ulang tabel partisi. Tapi saya harus menguji untuk memastikan itu tidak menghapus tanda tangan LVM seperti fdisk.
sumber
Jika volume fisik LVM ada di partisi, tidak, Anda tidak dapat mengubah ukurannya tanpa me-reboot.
Anda dapat mengedit tabel partisi pada drive, tetapi Linux akan menolak untuk menggunakannya sampai Anda me-reboot.
Jika Anda menggunakan XFS, alihkan
resize2fs
kexfs_growfs
.Anda dapat menampilkan PV yang Anda gunakan dan LV dalam grup volume menggunakan
pvs
danlvs
.PV pada disk mentah
PV pada partisi
Pertama, Anda harus mengubah ukuran partisi, menggunakan
parted
,fdisk
atau alat serupa untuk itu. Ingat bahwa alat-alat itu hanya mengedit deskripsi di mana partisi berada, mereka tidak memindahkan data. Dengan kata lain, dengan mudah Anda hanya dapat memperpanjang partisi terakhir pada disk. Kemudian reboot mesin Anda dan setelah itu Anda dapat memberi tahu LVM bahwa ia memiliki ruang tambahan yang tersedia:sumber
sudo pvresize /dev/sda2
melaporkan "1 volume fisik diubah ukurannya", tetapisudo lvextend /dev/mapper/VolGroup-lv_root -L +10G
gagal dengan kesalahan "ruang kosong tidak cukup: 320 diperlukan, tetapi hanya 0 tersedia".sudo fdisk -l
laporan bahwa saya memiliki 54G tersedia, sedangkansudo pvdisplay
laporan hanya 40G sedang digunakan. Mengapa lvextend gagal?resize
perintah parted untuk meningkatkan ukuran partisi primer, tetapi itu memberi saya kesalahan "Tidak dapat mendeteksi sistem file". Bagaimana Anda mengubah ukuran partisi menggunakan parted atau fdisk?Saya akan mempertimbangkan memeriksa ssm (system-storage-manager) jika tersedia di distro Anda.
Lihat ini untuk info lebih lanjut: /unix//a/293173
ssm tampaknya memudahkan untuk mengubah ukuran volume logis tanpa harus melakukan semuanya sendiri.
Saya dapat menggunakan untuk memperpanjang partisi rumah saya dengan itu setelah me-reboot OS saya dan masuk terlebih dahulu sebagai root. (Harus me-reboot total dua kali, tetapi pada akhirnya berhasil dan saya sekarang memiliki tambahan 50G yang tersedia di partisi saya / home.)
sumber
Setelah menggabungkan 25 howto, saya akhirnya memiliki solusi ini. Tidak memerlukan live cd, itu sepenuhnya on the fly.
Langkah 1. memformat partisi dengan parted (no gui). Dalam contoh ini ukuran maksimum disk meningkat dari 8BG menjadi 32 GB dalam kotak virtual.
Langkah 2. Buat Volume Fisik berdasarkan partisi baru
Langkah 3. Tambahkan volume fisik ke Grup Volume. Di server fedora 28 yang sederhana instal grup volume disebut fedora.
Langkah 4. Tambahkan ruang yang tersedia di grup volume ke volume logis. Dalam menginstal server fedora 28 polos volume logis disebut root.
Langkah 5. Beri tahu filesystem dalam volume logis untuk menggunakan ruang ekstra. Dalam fedora sistem file adalah xfs.
Perhatian! xfs_growfs menggunakan mount point untuk mengidentifikasi filesystem, bukan nama filesystem yang Anda temukan dalam output df !!!!!!!
Perintah 'xfs_growfs / dev / mapper / fedora-root' akan memberi tahu Anda / dev / mapper / fedora-root bukan sistem file XFS yang terpasang. Jika Anda menggunakan sistem file yang berbeda, lihat https://www.tldp.org/HOWTO/LVM-HOWTO/extendlv.html
Langkah 6. Nikmati
sumber
Coba testdisk
sudo dnf instal testdisk
sudo testdisk
Cukup atur membuat file log Kemudian akan mencantumkan partisi, - pilih media / partisi - lalu ketik - dan analisis - pencarian cepat - pilih dan tulis
sumber