Bagaimana cara mengubah ukuran partisi menggunakan baris perintah tanpa menggunakan GUI di server?
45
Saya hanya memiliki akses ke server melalui terminal dan saya tidak bisa menggunakan alat grafis seperti GParted!
Saya ingin membuat partisi baru dari bagian root (sekitar 768mb) untuk swap.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda 20G 1.3G 18G 7% /
udev 10M 0 10M 0% /dev
tmpfs 199M 4.9M 194M 3% /run
tmpfs 100M 12K 100M 1% /run/user
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
Anda tidak dapat mengecilkan / mengedit partisi jika salah satu partisi pada perangkat penyimpanan dipasang. Jadi untuk meng-unmount dan mengedit sistem file root, OS perlu dimatikan. Kemudian boot ke sistem live dan edit partisi seperti dijelaskan dalam jawaban lain.
Solusi alternatif: swap file
Sebagai alternatif untuk membuat seluruh partisi, file swap menawarkan kemampuan untuk memvariasikan ukurannya secara langsung , dan lebih mudah dihapus sama sekali. File swap dapat plugable panas . yaitu dapat ditambahkan dan dihapus tanpa melepas / mematikan OS.
Buat file 512 MB dengan nama /swapfile. Ini akan menjadi file swap kami.
fallocate -l 512M /swapfile
ATAU
dd if=/dev/zero of=/swapfile bs=1M count=512
Tetapkan izin yang tepat (karena file swap yang dapat dibaca dunia adalah kerentanan lokal yang sangat besar):
chmod 600 /swapfile
Setelah membuat file berukuran benar, format untuk menukar:
mkswap /swapfile
Aktifkan file swap:
swapon /swapfile
Edit /etc/fstabdan tambahkan entri untuk file swap:
Saya pikir ini adalah jawaban yang paling mudah dan efisien =)! Apakah ada implikasi dalam menggunakan file daripada partisi?
Alaa Ali
2
Performa Sedikit Rendah jika file terfragmentasi. Tidak ada keuntungan kinerja untuk file swap atau partisi yang berdekatan, keduanya diperlakukan dengan cara yang sama.
totti
1
Saya pikir ini adalah solusi terbaik. Karena Anda tidak memformat, menyusut atau mengubah partisi (tabel), tidak ada risiko kehilangan data.
R110
28
Pertama-tama adalah penting untuk mengetahui bahwa Anda tidak dapat mengubah ukuran untuk mengecilkan partisi root Anda jika Anda menggunakannya (Ini disebut penyusutan online). Anda hanya dapat mengembangkannya secara online. Ini didukung oleh resize2fsperintah. Saya akan menganggap sebagai berikut:
Anda tidak ingin kehilangan informasi Anda di partisi root.
Anda tidak memiliki akses fisik ke hard drive untuk menggunakan LiveCD. Ini dapat diterapkan ke lingkungan virtual atau yang jauh. Dalam kasus yang virtual Anda masih dapat mengatur untuk boot dari LiveCD jika Anda mengatur VM untuk boot dari LiveCD. Ini dengan asumsi VM mendukung keluaran GUI Desktop dari tempat Anda menjalankan aplikasi Gparted untuk mengubah ukuran dengan mudah. Tetapi karena ini kecil kemungkinan saya menganggap Anda tidak bisa.
Ada 2 jenis partisi yang dapat Anda ubah ukurannya, partisi LVM atau partisi Logical Volume Manager yang mendukung pengubahan ukuran Online (Shrinking / Growing) sejak penciptaan galaksi dan partisi standar yang kebanyakan kita gunakan. Saat ini satu-satunya yang memiliki hampir 100% dukungan untuk mengubah ukuran online lengkap (Shrink / Grow) adalah sistem file btrfs (Yang masih dalam pengembangan). Saya akan menjelaskan bagaimana cara melakukan partisi normal yang kebanyakan kita gunakan di sistem file ext4.
Mengubah ukuran (Growing) Partisi
Untuk menumbuhkan partisi Anda, Anda dapat melakukannya dengan root yang dipasang. Untuk melakukan ini cukup lakukan:
sudo resize2fs /dev/sda1
Asalkan Anda sudah memiliki ruang kosong yang siap untuk digabung. Setelah itu saya merekomendasikan untuk me-reboot agar perubahan diterapkan dengan benar. Perintah di atas akan mengubah ukuran ke maksimum yang diizinkan. Jika Anda ingin mengubah ukuran ke ukuran tertentu maka cukup tambahkan ukuran di akhir:
sudo resize2fs /dev/sda1 25G
Perhatikan bahwa jika Anda ingin menentukan 25,4 GB, Anda tidak dapat menggunakan "." Anda harus turun satu unit ukuran. Dalam hal ini dari GB ke MB, jadi akan terlihat seperti ini:
sudo resize2fs /dev/sda1 25400M
Dengan cara ini Anda akan memiliki partisi 25,4G
Mengubah ukuran (Penyusutan) Partisi
Mengecilkan partisi adalah proses dua langkah yang melibatkan:
Mengurangi ukuran sistem file dengan jumlah yang dibutuhkan.
Mengurangi ukuran perangkat blok yang mendasarinya agar sesuai dengan sistem file.
Sebelum mengurangi kapasitas sistem file, Anda perlu mengurangi ukuran perangkat blok (Yang bisa berupa partisi atau volume logis). Karena ini tidak tersedia untuk semua sistem file * ext, Anda tidak akan dapat mengecilkannya dari 20 GB menjadi 19,5 GB untuk membuat swap 500 MB.
Bahkan Ext4 tidak mendukung penyusutan online. Jika Anda mencoba melakukannya, Anda akan mendapatkan yang berikut:
Satu-satunya taruhan Anda sejauh yang saya tahu adalah:
Instal versi Ubuntu lain di server yang sama (Di partisi lain) yang kemudian dapat digunakan untuk mengecilkan partisi root dari Server Ubuntu asli.
Instal server Ubuntu dari awal dengan ukuran yang Anda inginkan
Gunakan Ubuntu Server Live Image untuk mengubah ukuran partisi. Untuk kasus ini, Anda harus membuka layar ini:
Dan pilih opsi Resize seperti yang ditunjukkan pada gambar di atas. Dari sana Anda akan memilih ukuran baru karena dari sini Anda dapat melepas unit dan mengecilkannya jika diinginkan.
Sebagai bantuan tambahan di sini adalah file sistem gparted suppor http://gparted.org/features.php yang memberikan daftar yang sangat rinci dari yang didukung dan termasuk jika mereka memiliki ukuran online penuh. Btrfs ada di antara mereka.
Saya ingin tahu, apakah ada sistem file lain yang mendukung penyusutan online? zfs atau btrfs mungkin?
Seth
Saya telah menambahkan tautan di bagian bawah. Kernel juga perlu mendukung ini jika sistem file ingin mengubah ukuran secara online dengan benar.
Luis Alvarado
Saya memiliki server ubuntu di mesin vmware dan ukuran disk-nya adalah 120G. Tapi setelah menggunakan solusi pertama, saya mendapatkan kesalahan ini: Sistem file sudah 27262720 blok. Tidak ada yang bisa dilakukan!
Dr.jacky
1
Terima kasih @ Tn. Hyde. Ada beberapa masalah dengan Workstation 10 dan bahkan 11. Saya akan merekomendasikan 12 dan untuk Ubuntu saya juga akan memperbarui baik ke LTS terbaru atau baru karena ada juga beberapa masalah. Dalam kasus saya, saya memiliki VMware workstation 12.0.1 dan Ubuntu 15.10 64 bit.
Luis Alvarado
3
Dari manual resize2fs:The resize2fs program does not manipulate the size of partitions.
ACK_stoverflow
6
Jawabannya tergantung pada apakah Anda dapat melepas partisi untuk menyusut, atau tidak. Dalam kasus Anda, Anda mungkin tidak dapat melepas partisi. Di Linux (UNIX / MAC OS), pemasangan partisi mengacu menggunakan sistem file dan memetakannya ke titik pemasangan (dalam kasus Anda /). Melepas berarti Anda berhenti menggunakan sistem file, dan menghapus pemetaan ke titik pemasangan. Anda tidak dapat meng-unmount sistem file yang berisi OS Anda yang berjalan.
Jika partisi dapat dilepas
Mari kita asumsikan Anda ingin mengecilkan partisi ext4 200GB di /dev/sda4mount ke /data. Saat ini berisi musik dan film atau sejenisnya, sehingga Anda dapat melepasnya untuk sementara. Anda ingin membuat swap 4GB.
sudo umount /dev/sda4
untuk melepas partisi.
sudo resize2fs /dev/sda4 196G
untuk mengubah ukuran sistem file ext4 ke 196 GB, dengan asumsi bahwa ada cukup ruang. Sekarang, Anda harus menyusutkan partisi. Saat ini saya percaya Anda perlu menggunakan cfdiskuntuk menghapus partisi yang ada, dan membuat ulang partisi yang lebih kecil di tempatnya. Anda kemudian dapat juga membuat partisi baru untuk swap.
sudo cfdisk /dev/sda
akan memberi Anda gui berbasis teks untuk memeriksa tabel partisi Anda. Saya akan merekomendasikan Anda ke printtabel partisi ke file atau layar pada saat itu, dan perhatikan konfigurasi saat ini sebagai cadangan. Anda kemudian dapat memilih /dev/sda4dan deletepartisi. Sebagai gantinya, free spaceakan ditampilkan. Gunakan newuntuk membuat partisi baru dengan 196 GB di tempatnya, dan atur tipenya menjadi ext4. Kemudian, pindah ke ruang kosong tambahan dan buat partisi swap 4GB dengan tipe swap. Catatan: Saya tidak menguji perintah ini, karena saya tidak bisa bermain-main dengan saya /saat ini.
Jika partisi tidak dapat dilepas
Anda tidak dapat mengecilkan partisi ext3 / 4 yang terpasang (lihat halaman manual resize2fs). Saat Anda menjalankan OS dari /, Anda tidak dapat melepas /. Itu berarti Anda harus mem-boot OS lain (mis. Dari kunci USB) untuk melakukan perubahan.
Dalam kasus Anda, ini adalah server jarak jauh (pada KVM kemungkinan besar), jadi Anda mungkin tidak dapat mem-boot dari USB / gambar OS langsung. Mungkin ada cara lain untuk mengubah partisi dari penyedia vServer Anda melalui admin GUI. Saya percaya itu adalah taruhan terbaik Anda saat ini.
Pertama-tama adalah penting untuk mengetahui bahwa Anda tidak dapat mengubah ukuran untuk mengecilkan partisi root Anda jika Anda menggunakannya (Ini disebut penyusutan online). Anda hanya dapat mengembangkannya secara online. Ini didukung oleh
resize2fs
perintah. Saya akan menganggap sebagai berikut:Ada 2 jenis partisi yang dapat Anda ubah ukurannya, partisi LVM atau partisi Logical Volume Manager yang mendukung pengubahan ukuran Online (Shrinking / Growing) sejak penciptaan galaksi dan partisi standar yang kebanyakan kita gunakan. Saat ini satu-satunya yang memiliki hampir 100% dukungan untuk mengubah ukuran online lengkap (Shrink / Grow) adalah sistem file btrfs (Yang masih dalam pengembangan). Saya akan menjelaskan bagaimana cara melakukan partisi normal yang kebanyakan kita gunakan di sistem file ext4.
Mengubah ukuran (Growing) Partisi
Untuk menumbuhkan partisi Anda, Anda dapat melakukannya dengan root yang dipasang. Untuk melakukan ini cukup lakukan:
Asalkan Anda sudah memiliki ruang kosong yang siap untuk digabung. Setelah itu saya merekomendasikan untuk me-reboot agar perubahan diterapkan dengan benar. Perintah di atas akan mengubah ukuran ke maksimum yang diizinkan. Jika Anda ingin mengubah ukuran ke ukuran tertentu maka cukup tambahkan ukuran di akhir:
Perhatikan bahwa jika Anda ingin menentukan 25,4 GB, Anda tidak dapat menggunakan "." Anda harus turun satu unit ukuran. Dalam hal ini dari GB ke MB, jadi akan terlihat seperti ini:
Dengan cara ini Anda akan memiliki partisi 25,4G
Mengubah ukuran (Penyusutan) Partisi
Mengecilkan partisi adalah proses dua langkah yang melibatkan:
Sebelum mengurangi kapasitas sistem file, Anda perlu mengurangi ukuran perangkat blok (Yang bisa berupa partisi atau volume logis). Karena ini tidak tersedia untuk semua sistem file * ext, Anda tidak akan dapat mengecilkannya dari 20 GB menjadi 19,5 GB untuk membuat swap 500 MB.
Bahkan Ext4 tidak mendukung penyusutan online. Jika Anda mencoba melakukannya, Anda akan mendapatkan yang berikut:
Satu-satunya taruhan Anda sejauh yang saya tahu adalah:
Instal versi Ubuntu lain di server yang sama (Di partisi lain) yang kemudian dapat digunakan untuk mengecilkan partisi root dari Server Ubuntu asli.
Instal server Ubuntu dari awal dengan ukuran yang Anda inginkan
Gunakan Ubuntu Server Live Image untuk mengubah ukuran partisi. Untuk kasus ini, Anda harus membuka layar ini:
Dan pilih opsi Resize seperti yang ditunjukkan pada gambar di atas. Dari sana Anda akan memilih ukuran baru karena dari sini Anda dapat melepas unit dan mengecilkannya jika diinginkan.
Sebagai bantuan tambahan di sini adalah file sistem gparted suppor http://gparted.org/features.php yang memberikan daftar yang sangat rinci dari yang didukung dan termasuk jika mereka memiliki ukuran online penuh. Btrfs ada di antara mereka.
sumber
The resize2fs program does not manipulate the size of partitions.
Jawabannya tergantung pada apakah Anda dapat melepas partisi untuk menyusut, atau tidak. Dalam kasus Anda, Anda mungkin tidak dapat melepas partisi. Di Linux (UNIX / MAC OS), pemasangan partisi mengacu menggunakan sistem file dan memetakannya ke titik pemasangan (dalam kasus Anda
/
). Melepas berarti Anda berhenti menggunakan sistem file, dan menghapus pemetaan ke titik pemasangan. Anda tidak dapat meng-unmount sistem file yang berisi OS Anda yang berjalan.Jika partisi dapat dilepas
Mari kita asumsikan Anda ingin mengecilkan partisi ext4 200GB di
/dev/sda4
mount ke/data
. Saat ini berisi musik dan film atau sejenisnya, sehingga Anda dapat melepasnya untuk sementara. Anda ingin membuat swap 4GB.untuk melepas partisi.
untuk mengubah ukuran sistem file ext4 ke 196 GB, dengan asumsi bahwa ada cukup ruang. Sekarang, Anda harus menyusutkan partisi. Saat ini saya percaya Anda perlu menggunakan
cfdisk
untuk menghapus partisi yang ada, dan membuat ulang partisi yang lebih kecil di tempatnya. Anda kemudian dapat juga membuat partisi baru untuk swap.akan memberi Anda gui berbasis teks untuk memeriksa tabel partisi Anda. Saya akan merekomendasikan Anda ke
print
tabel partisi ke file atau layar pada saat itu, dan perhatikan konfigurasi saat ini sebagai cadangan. Anda kemudian dapat memilih/dev/sda4
dandelete
partisi. Sebagai gantinya,free space
akan ditampilkan. Gunakannew
untuk membuat partisi baru dengan 196 GB di tempatnya, dan atur tipenya menjadi ext4. Kemudian, pindah ke ruang kosong tambahan dan buat partisi swap 4GB dengan tipeswap
. Catatan: Saya tidak menguji perintah ini, karena saya tidak bisa bermain-main dengan saya/
saat ini.Jika partisi tidak dapat dilepas
Anda tidak dapat mengecilkan partisi ext3 / 4 yang terpasang (lihat halaman manual
resize2fs
). Saat Anda menjalankan OS dari/
, Anda tidak dapat melepas/
. Itu berarti Anda harus mem-boot OS lain (mis. Dari kunci USB) untuk melakukan perubahan.Dalam kasus Anda, ini adalah server jarak jauh (pada KVM kemungkinan besar), jadi Anda mungkin tidak dapat mem-boot dari USB / gambar OS langsung. Mungkin ada cara lain untuk mengubah partisi dari penyedia vServer Anda melalui admin GUI. Saya percaya itu adalah taruhan terbaik Anda saat ini.
sumber