GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Mengecilkan Volume Fisik?

Saya memiliki volume fisik pada partisi yang membentang di seluruh disk, katakanlah /dev/sda1 menggunakan 100% dari /dev/sda. Sekarang saya perlu mengecilkannya untuk membuat /dev/sda2. Volume logis sebenarnya menggunakan ~50% dari PV, jadi secara teoritis ada banyak ruang yang tersedia, tetapi semuanya dialokasikan dalam satu PV. Apakah ada cara aman untuk mengecilkan volume fisik (dan partisi disk yang mendasarinya), untuk membuat ruang ekstra untuk partisi kedua? Sayangnya, konfigurasi saya mengecualikan kemungkinan untuk memindahkan sementara volume fisik ke perangkat lain.

Tentu saja, saya tahu bahwa saya dapat melakukannya pada tingkat file (seperti mencadangkan konten, mempartisi ulang drive disk, dan membuat ulang konfigurasi LVM), tetapi saya lebih suka melakukan pekerjaan itu tanpa perlu mengonfigurasi LV dari awal.

Terima kasih sebelumnya.

Jawaban yang Diterima:

Jika Anda hanya memerlukan sistem file terpisah lainnya, Anda tidak perlu membuat partisi baru:Anda dapat membuat volume logis LVM lain dalam grup volume yang ada menggunakan ruang yang tidak terisi di PV. Tetapi jika Anda secara khusus membutuhkan partisi . baru , maka Anda harus melakukan seperti yang Anda rencanakan.

GParted adalah alat GUI yang dapat melakukan seluruh operasi pengubahan ukuran partisi PV + untuk Anda. Kemungkinan besar Anda akan menemukannya di koleksi paket distribusi Anda.

Tetapi jika Anda tidak dapat atau tidak ingin menggunakannya karena alasan tertentu, baca terus…

Mengurangi volume fisik LVM yang memiliki ruang yang tidak terisi di dalamnya cukup sederhana. Misalnya, untuk mengurangi ukuran /dev/sda1 menjadi 40 GiB:

# pvresize --setphysicalvolumesize 40G /dev/sda1

Perintah ini aman, karena akan menolak melakukan apa pun jika bagian dari PV yang akan dipotong berisi luasan yang dialokasikan.

Tapi itu baru langkah pertama. Langkah kedua adalah mengurangi ukuran partisi itu sendiri.

Agar aman, Anda disarankan untuk mengecilkan PV pada awalnya sedikit lebih dari yang Anda rencanakan untuk benar-benar mengecilkan partisi, sehingga setelah mengecilkan partisi, Anda dapat secara eksplisit memperluas PV untuk menutupi ukuran penuh partisi. Jika operasi perluasan gagal, Anda akan segera mengetahui bahwa ada yang tidak beres dalam mengubah ukuran partisi dan tidak akan meninggalkan kesalahan tersembunyi untuk menjebak Anda atau orang lain di masa mendatang.

Anda dapat mengecilkan partisi menggunakan fdisk Linux biasa perintah, tetapi Anda harus mengingat beberapa hal:

  • Saat menggunakan fdisk untuk mengubah ukuran partisi, pastikan untuk menyetelnya agar menampilkan semua ukuran partisi dan lokasi awal di sektor pertama. Selama sejarah Linux fdisk , perilakunya bervariasi di sini:versi modern melakukannya secara default, versi lama mungkin memerlukan -u atau -u=sectors pilihan untuk melakukannya.
  • Saat mengubah ukuran partisi yang ada, Anda tidak dapat memindahkan titik awal partisi. (Jika Anda memindahkan titik awal, ini bukan lagi operasi pengubahan ukuran sederhana, tetapi operasi pemindahan partisi yang lebih kompleks.)
Terkait:Macos – Bagaimana cara memasang volume TrueCrypt secara otomatis di OSX setelah masuk dengan kata sandi/keyfile?

Saat menggunakan fdisk , setiap perubahan ditulis ke disk hanya ketika Anda menggunakan w memerintah. Jadi saya sarankan melanjutkan seperti ini:

  • gunakan sfdisk -d /dev/sda > /safe/location/partition_table_backup.dump untuk membuat cadangan tabel partisi yang ada.
  • mulai fdisk /dev/sda dalam mode interaktif
  • gunakan p perintah untuk melihat tabel partisi saat ini dan memverifikasi nilai "mulai" dan "akhir" ditampilkan sebagai sektor. Catat nilai "mulai".
  • gunakan d perintah untuk menghapus entri partisi saat ini untuk sda1 .
  • gunakan n perintah untuk membuat ulang entri partisi utama 1 untuk sda1 dalam ukuran yang diinginkan, berhati-hatilah untuk menentukan lokasi sektor pertama persis seperti sebelumnya (yaitu nomor yang sama seperti yang ditampilkan dalam nilai "mulai" dari p perintah).
  • gunakan t perintah untuk menyetel jenis partisi 1 ke “Linux LVM”.
  • periksa kembali pekerjaan Anda
  • gunakan w perintah untuk menulis tabel partisi yang diperbarui dan keluar dari fdisk .

Perhatikan pesan yang ditampilkan oleh fdisk pada akhirnya. Jika tertulis "Kernel masih menggunakan tabel lama", ada sesuatu yang menghalangi pembaruan tabel partisi online. Anda dapat mencoba partprobe /dev/sda untuk memberi tahu kernel agar membaca ulang tabel partisi (menggunakan antarmuka yang lebih baru daripada beberapa versi fdisk yang lebih lama) gunakan, jadi mungkin membantu dan tentu saja tidak akan merugikan) dan kemudian lihat cat /proc/partitions untuk melihat apakah partisi sekarang dikenali oleh kernel pada ukuran yang diharapkan.

Jika pengubahan ukuran partisi berhasil, Anda sekarang dapat menjalankan pvresize /dev/sda1 . Jika Anda mengikuti saran saya dan mengubah ukuran PV awalnya sedikit lebih kecil dari ukuran partisi baru yang diinginkan, sekarang seharusnya berhasil memperpanjang PV sedikit untuk sepenuhnya menutupi partisi yang diubah ukurannya secara otomatis. Jika perintah ini melaporkan kesalahan, Anda mungkin melakukan kesalahan dalam menentukan ukuran baru dan harus menggunakan sfdisk /dev/sda < /safe/location/partition_table_backup.dump untuk mengembalikan tabel partisi seperti semula, lalu coba lagi.

(Pada sistem yang sangat lama, Anda mungkin harus menonaktifkan VG sebelum menjalankan partprobe atau bahkan reboot untuk memungkinkan sistem membaca ulang tabel partisi yang diperbarui.)

Setelah operasi pengubahan ukuran selesai, Anda sekarang dapat menggunakan fdisk lagi untuk membuat partisi kedua yang Anda butuhkan. Ya, Anda juga dapat melakukannya bersama-sama saat mengubah ukuran partisi, tetapi melakukan satu hal saja dalam satu waktu lebih aman dan memastikan Anda dapat dengan mudah mengembalikan perubahan jika diperlukan.


Linux
  1. Lum – Bagaimana Memperpanjang Partisi Dengan Lvm Dan Volume Fisik Yang Terkandung Dan Volume Logika?

  2. Bagaimana Cara Membuat Partisi Lvm / Volume fisik> 2tb?

  3. Cara menghapus partisi menggunakan fdisk

  1. CentOS / RHEL :Cara resize (memperpanjang) Physical Volume (PV) yang ada

  2. CentOS / RHEL :Cara Memperpanjang Volume Fisik di LVM dengan Memperluas Partisi Disk yang digunakan

  3. Cara Menghapus Partisi Disk menggunakan Parted Command

  1. Cara membuat volume fisik di Linux menggunakan LVM

  2. Bagaimana cara menggunakan baris perintah untuk mengubah volume?

  3. Apakah mungkin mengecilkan volume EXT4 secara online dengan LVM?