Kelebihan dari sistem file tanpa partisi

39

Saya mengalami sesuatu beberapa minggu yang lalu yang belum pernah saya lihat sebelumnya: Sebuah sistem file (ext3 saya percaya) diinstal ke perangkat penyimpanan tanpa partisi. Intinya /dev/sdb adalah seluruh sistem file. Saya tahu banyak filesystem dapat diperluas ke ruang kosong, jadi melakukan ini memungkinkan memperluas tanpa berurusan dengan LVM atau semacam volume manager, tetapi apakah ada keuntungan lain untuk mengatur penyimpanan dengan cara ini?

Kasus spesifik yang saya lihat adalah sebagai volume data sementara untuk server angka-angka, volume boot dan root adalah partisi tradisional pada perangkat penyimpanan yang berbeda sama sekali. -

sysadmin1138
sumber
Oracle VM melakukan ini juga - untuk "penyimpanan lokal".
Nils
3
Saya melewatkan pertanyaan ini dan memulai yang baru yang mencakup landasan yang sama: unix.stackexchange.com/q/52389/4801 . Pertanyaan itu sekarang telah ditutup, tetapi beberapa jawaban di sana mungkin juga bermanfaat bagi pembaca Q ini, dan mungkin digabung di sini.
dubiousjim
1
... dan satu lagi di unix.stackexchange.com/questions/206141/…
derobert
Berfungsi tetapi mengarah ke masalah yang akhirnya akan membuang-buang waktu seperti yang ditunjukkan di sini - access.redhat.com/documentation/en-us/red_hat_enterprise_linux/… .
slm

Jawaban:

24

Pro: Anda tidak membuang satu sektor disk pada tabel partisi. (Yay.)

Pro: disk dapat digunakan dalam sistem operasi yang tidak mendukung partisi bergaya PC. (Seperti Anda akan menggunakannya.)

Con: ini tidak biasa dan dapat membingungkan co-sysadmin. (Lihat?)

Con: jika Anda menginstal sistem operasi lain, mungkin berpikir bahwa disk berisi sampah dan membuatnya mudah untuk menimpanya secara tidak sengaja dengan memilih disk yang salah - sedangkan sistem operasi umumnya meninggalkan partisi yang tipenya tidak mereka mengerti.

Tidak relevan: memperluas sistem file tidak mudah jika langsung di disk daripada di partisi, atau sebaliknya. (Berada di LVM akan membuatnya lebih mudah.)

Kesimpulan: itu bekerja, tetapi itu bukan ide yang baik.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
2
Kebingungan, ahoy! Meter internal saya saat ini condong ke arah "upaya optimasi yang salah arah".
sysadmin1138
6
penipu lain: mempersulit pembagian partisi menjadi dua.
Kim
3
Datang di ini superuser Q & A yang memiliki beberapa contoh yang baik menggunakan hexdumpdan odyang menunjukkan dalam hal yang sangat konkret apa yang terjadi dengan /dev/sdavs .. /dev/sda1setup.
slm
4
Agak lebih mudah untuk memperluas volume pada seluruh disk karena Anda tidak perlu terlebih dahulu memperpanjang partisi.
psusi
2
Dalam lingkungan non-komersial, menginstal OS lain mungkin relevan - tetapi siapa yang melakukan multiboot dalam env komersial? Saya terganggu bahwa ini adalah jawaban kanonik. Tidak ada yang salah dengan itu, kecuali bahwa itu adalah pendapat. Saya di pagar tentang penggunaan disk tanpa partisi, tetapi beberapa alasan bagus diberikan di bawah ini.
Graham Nicholls
18

Tidak yakin tentang bagaimana ini akan berlaku untuk Linux tetapi dengan ZFS asli, satu alasan dianjurkan untuk membuat kumpulan pada seluruh disk dan bukan partisi dalam kasus sebelumnya cache tulis disk dapat diaktifkan.

Beberapa alasan lain juga disebutkan di sini:

http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide#Storage_Pools

Kesimpulan: berfungsi, dan mungkin ide yang bagus tergantung pada sistem file.

Jlliagre
sumber
Senang mendengarnya. Dalam kasus khusus ini berada di awan! jadi penyimpanan cukup banyak abstrak pada saat datang ke pengaturan sistem.
sysadmin1138
1
Apa hubungan cache tulis disk dengan apakah tabel partisi digunakan atau tidak?
psusi
3
Tembolok tulis tidak dapat diaktifkan di tingkat partisi. Saat diaktifkan, ini memengaruhi disk secara keseluruhan. Jika sebuah sistem file menggunakan seluruh disk, ia "memiliki" disk itu sehingga dapat menghidupkan dan mematikan cache itu tanpa risiko agunan. Jika tidak, melakukannya dapat memengaruhi konsumen disk lain yang membutuhkan cache untuk dinonaktifkan karena alasannya sendiri.
jlliagre
4
Tentu, tetapi memiliki OS yang menyilaukan menyalakan cache tanpa mengetahui sistem file atau persyaratan baku perangkat konsumen bukanlah pendekatan yang dapat diandalkan. Ada aplikasi seperti database yang perlu memastikan transaksi yang dilakukan pada disk dan tidak hanya di memori.
jlliagre
1
@psusi Apakah fsync akan membersihkan cache disk atau tidak, sepertinya tergantung pada sistem file.
jlliagre
16

Saya melihat manfaat nyata ketika ini dilakukan dalam lingkungan virtual. Karena VMDK kami disimpan di NAS kami, kami dapat menumbuhkannya secara dinamis.

Jika kita menggunakan partisi, kita perlu menggunakan LVM (dan overhead yang terkait dengannya) dan rantai partisi bersama-sama, atau kita perlu mencatat host (atau sistem file jika tidak digunakan) untuk menggunakan sesuatu seperti gparted.

Namun, jika Anda menggunakan seluruh disk alih-alih partisi, Anda dapat memaksa memindai ulang pada disk SCSI Anda dan menggunakan resize2fs untuk menumbuhkan sistem file saat sedang online (dan sedang digunakan!).

Nick Gasparovich
sumber
Poin bagus! Dengan disk virtual (seperti yang dapat Anda buat, hapus dan ubah ukurannya sesuai kebutuhan) partisi tampaknya merupakan lapisan yang tidak berguna.
pabouk
11

Menempatkan sistem file pada perangkat disk tanpa membuat partisi apa pun bukanlah hal yang biasa.

Keuntungan:

  • ketika Anda ingin menggunakan seluruh ruang, maka Anda tidak perlu membuang waktu dengan beberapa alat partisi
  • Anda tidak perlu khawatir tentang tidak kompatibelnya format partisi 'standar' (btw, format partisi apa yang standar, yang DOS, yang BSD?), mis. format partisi DOS hanya memungkinkan partisi hingga 2 TB saat menggunakan Sektor logis 512 byte!
  • Anda tidak perlu khawatir tentang masalah penyelarasan yang disebabkan oleh partisi pada drive dengan (saat ini) ukuran sektor yang tidak biasa (misalnya 4 k) - tentu saja, distribusi saat ini harus mengirimkan alat pemartisi yang melakukan penyelarasan yang benar dengan berbagai ukuran sektor yang berbeda

Mampu mengubah ukuran sistem file pada perangkat mentah bukan alasan yang bagus. Ruang yang Anda hemat dengan cara itu, Anda tidak dapat menggunakan untuk hal-hal lain. Dengan demikian, Anda bisa langsung membuat sistem file di seluruh perangkat.

maxschlepzig
sumber
2

Jawaban yang belum terdaftar adalah, jika Anda tidak membuat partisi, Anda tidak perlu menunggu Kernel mendeteksi itu yang mungkin hanya setelah reboot.

Satu use case bisa berupa EC2 EBS volume yang Anda tambahkan ke node dan ingin diinisialisasi pada boot pertama.

Jika proses inisialisasi Anda membuat partisi, Anda berisiko harus reboot untuk Kernel untuk melihat partisi yang baru dibuat. Anda biasanya melihat pesan seperti:

Kesalahan: Kesalahan saat memberi tahu kernel tentang modifikasi partisi / dev / xvde1 - Perangkat atau sumber daya sibuk. Ini berarti Linux tidak akan tahu tentang perubahan apa pun yang Anda buat ke / dev / xvde1 hingga Anda reboot - jadi Anda tidak harus me-mount atau menggunakannya dengan cara apa pun sebelum me-reboot.

Dalam hal ini proses inisialisasi Anda harus melakukan reboot dan kemudian melanjutkan menambahkan sistem file ke partisi yang baru dibuat.

Jika Anda tahu Anda hanya akan membutuhkan satu partisi, Anda mungkin melewatkannya sehingga tidak berisiko me-reboot.

lloesche
sumber