Jual partisi ke saya

46

Saya sering bertanya-tanya mengapa ada hasrat untuk mempartisi drive, terutama pada OS Unixy (/ usr, / var, et al). Ini sepertinya bukan tema umum untuk instalasi Windows.

Tampaknya mempartisi sangat meningkatkan kemungkinan mengisi satu partisi sementara yang lain memiliki banyak ruang kosong. Jelas ini dapat dicegah dengan desain dan perencanaan yang cermat, tetapi berbagai hal dapat berubah. Saya sudah mengalami ini pada mesin berkali-kali, kebanyakan pada pengaturan yang oleh orang lain, atau oleh pengaturan instalasi default dari OS yang bersangkutan.

Argumen lain yang saya dengar adalah menyederhanakan pencadangan. Bagaimana cara menyederhanakan cadangan? Saya juga mendengar bahwa itu meningkatkan keandalan. Lagi bagaimana?

Hampir 100% masalah yang saya temui dengan penyimpanan disk adalah dengan kegagalan fisik disk. Mungkinkah dikatakan bahwa mempartisi berpotensi mempercepat kegagalan perangkat keras, karena meronta-ronta disk ketika melakukan memindahkan atau menyalin data dari satu partisi ke yang lain pada disk yang sama?

Saya tidak berusaha terlalu keras, saya hanya ingin melihat pembenaran untuk praktik admin kuno.

Zimmy-DUB-Zongy-Zong-DUBBY
sumber
Dalam cloud Infrastruktur Sebagai Layanan, partisi dapat diperdebatkan karena drive (biasanya disebut volume) dapat dipasang secara fleksibel.
Skaperen

Jawaban:

41
  • Fsck lebih cepat. Katakanlah sistem Anda gagal, untuk beberapa alasan dan ketika itu reboot perlu menjalankan fsck. Dengan partisi yang sangat besar yang dapat diambil fsck selamanya dan tidak ada pada sistem yang akan bekerja sampai fsck seluruh sistem selesai. Jika Anda mempartisi sistem sehingga partisi root cukup kecil, maka Anda mungkin bisa mengaktifkan sistem dan beberapa layanan dasar berjalan sambil menunggu fsck dari volume yang lebih besar selesai.
    • jika sistem Anda memiliki drive kecil, atau hanya ada satu layanan pada sistem maka ini mungkin tidak terlalu penting.
    • Dengan sistem file journaled hal ini mungkin tidak menjadi masalah sebagian besar waktu, tetapi kadang-kadang bahkan dengan sistem file journaled Anda harus menjalankan fsck penuh.
  • Keamanan ditingkatkan karena Anda dapat me-mount fs read-only.
    • Misalnya, tidak seorang pun harus menulis kepada / usr selama penggunaan normal. Jadi mengapa tidak hanya me-mount sistem file sehingga hanya-baca. Memiliki filesystem read-only ketika mereka tidak perlu ditulis untuk akan mencegah beberapa serangan script-kiddy, dan dapat mencegah Anda dari menghancurkan hal-hal ketika Anda tidak bermaksud juga.
    • Ini mungkin membuat pemeliharaan sistem lebih sulit, karena Anda harus me-remount-nya sebagai baca-tulis ketika Anda perlu menerapkan pembaruan.
  • Peningkatan kinerja, fungsionalitas untuk layanan / penggunaan tertentu.
    • Beberapa sistem file lebih sesuai untuk layanan / aplikasi tertentu, atau mereka memungkinkan Anda untuk mengkonfigurasi sistem file sehingga beroperasi dengan lebih baik dalam beberapa kasus. Mungkin Anda memiliki sistem file dengan banyak file kecil dan Anda memerlukan lebih banyak inode. Atau mungkin Anda perlu menyimpan beberapa file besar berukuran besar, gambar disk virtual.

Saya tidak berpikir membuat banyak partisi adalah sesuatu yang harus Anda lakukan untuk setiap sistem. Secara pribadi, pada sebagian besar Linux server saya, saya hanya menyiapkan satu partisi besar. Karena sebagian besar sistem saya memiliki drive yang bertubuh kecil dan memiliki tujuan tunggal dan melayani beberapa peran infrastruktur (dns, dhcp, firewall, router, dll). Pada server file saya, saya melakukan pengaturan partisi untuk memisahkan data dari sistem.

Mungkinkah dikatakan bahwa mempartisi berpotensi mempercepat kegagalan perangkat keras, karena meronta-ronta disk ketika melakukan memindahkan atau menyalin data dari satu partisi ke yang lain pada disk yang sama?

Saya sangat meragukan sistem yang dipartisi dengan baik akan meningkatkan kemungkinan kegagalan.

Zoredache
sumber
9
+1 Keamanan dan kesiapsiagaan bencana dilakukan berlapis-lapis. Saya suka memikirkan partisi yang mirip dengan sekat di kapal. Mereka ada di sana sehingga jika sesuatu bencana terjadi di satu segmen kapal kapal secara keseluruhan belum tentu beresiko. Jadi ketika terjadi kerusakan sistem file kerusakan agak terkandung. Demikian juga dari sudut pandang keamanan jika / home dipasang sebagai noexec, ia dapat mencegah jenis serangan tertentu jika akun pengguna dikompromikan oleh kata sandi yang lemah misalnya.
3dinfluence
1
Ada eksploit yang diketahui bekerja hanya pada partisi yang dipasang dengan noexec atau ro. keamanan sebenarnya tidak ditujukan dengan mempartisi, tetapi mempartisi dapat membantu dalam membatasi kerusakan (cfr. logs serangan banjir misalnya)
drAlberT
19

Salah satu alasan untuk menjaga / home / terpisah adalah Anda dapat menginstal ulang sistem operasi dan tidak pernah khawatir kehilangan data pengguna. Di luar itu, ada banyak keamanan yang bisa didapat dalam pemasangan semuanya baik hanya baca, atau noexec. Jika pengguna tidak dapat menjalankan kode di mana pun mereka dapat menulis kode, itu adalah satu vektor serangan kurang.

Saya hanya akan repot dengan itu pada mesin publik, karena kekurangan kehabisan ruang disk di satu partisi tetapi memilikinya di lain adalah gangguan serius. Ada beberapa cara untuk mengatasinya seperti melakukan serangan perangkat lunak atau ZFS di mana Anda seharusnya dapat mengubah ukuran partisi secara mudah, tetapi saya tidak memiliki pengalaman dengannya.

semi
sumber
pemisahan / home terdengar lebih seperti desktop. Di server data sering berada di beberapa lokasi lain seperti / var / www, / srv. Saya berpendapat bahwa ide Anda harus lebih tentang memisahkan data pengguna di mana pun itu disimpan, bukan hanya jika itu di / rumah.
Zoredache
pada mesin yang digunakan untuk pemrosesan ilmiah, hal yang umum bagi sejumlah besar orang untuk memiliki akun shell. Dalam hal ini, partisi home / terpisah dapat sangat berguna.
jay_dubya
Jika Anda memiliki banyak mesin, seringkali / home adalah NFS mount dari fileserver, yang secara logis memiliki / home di partisi sendiri, karena masalah yang disebutkan di atas juga.
Matt Simmons
Pengguna akan sering menggunakan semua ruang yang tersedia dan ini bisa menjadi bencana bagi layanan yang disediakan oleh server. Hanya memungkinkan mereka menulis akses ke partisi terpisah melindungi server dari kegagalan karena partisi root penuh. Menempatkan file log Anda di partisi yang terpisah melakukan hal yang sama.
Chris Nava
Saya pikir disk kuota dan rotasi log adalah solusi yang lebih baik untuk masalah ruang, tetapi partisi terpisah memang membuat mekanisme keamanan resor terakhir yang bagus
semi
13
  • Menyederhanakan pencadangan

Anda dapat membuat cadangan (melalui dumpfs atau serupa) dari hal-hal yang Anda inginkan, bukan hal-hal yang tidak Anda inginkan. dump (1) adalah sistem cadangan yang lebih baik daripada tar (1).

  • Mengisi partisi

Itu argumen untuk mempartisi juga. Pengguna yang mengisi homedir mereka tidak merusak server, menurunkan server web, menjaga agar log tidak terjadi, menjaga root agar tidak masuk, dll.

Ini juga memungkinkan Anda untuk memindahkan bagian data Anda secara lebih transparan (misalnya, / home) ke disk lain: salin, pasang. Jika Anda menggunakan sesuatu yang memungkinkan salinan bayangan / foto / apa pun, Anda bahkan dapat melakukannya secara langsung.

Bill Weiss
sumber
9

Saya selalu diajari untuk menjaga / var pada partisi yang terpisah jadi jika Anda mendapatkan file log yang tidak terkontrol, Anda akan menyumbat satu partisi bukan seluruh drive. Jika berada di ruang yang sama dengan bagian sistem lainnya dan Anda 100% mengisi seluruh disk Anda, disk bisa rusak dan menyebabkan pemulihan yang buruk.

Nakal
sumber
1
Saya dapat mengandalkan satu tangan selama 15 tahun saya (apa? Katakan saja tidak begitu!) Berkarir berapa kali saya kehilangan suatu sistem karena file log run-away (atau apa pun) menjatuhkan mesin. Di sisi lain, saya dapat menghitung di satu sisi berapa kali sejauh ini tahun ini saya terhalang karena seseorang memutuskan / var tidak akan pernah perlu lebih besar dari 1GB dan salah, yang membuat saya melihat '00-an gratis GB in / opt, yang semuanya mungkin juga ada di bulan untuk semua kebaikan yang dilakukannya padaku. (Saya menentang pemartisian. :)
David Mackintosh
Saya setuju dengan David, setelah memiliki pengalaman yang persis sama dengan mesin Linux dan Windows. Kecuali ada alasan besar untuk melakukan sebaliknya, setiap disk (atau raid array) mendapat satu partisi.
John Gardeniers
Nah, minggu ini akhirnya terjadi pada sistem Windows. McAfee membuat pembaruan besar. Kami memiliki sekitar 5-10 sistem yang tidak menyukainya. Anti-virus akan mencoba menginstal, membuat file log 35MB, dan coba lagi. 1.500 kali kemudian saya mendapatkan 0KB gratis dan sistem yang tidak dapat masuk.
Skaughty
8

Semua argumen yang diajukan Zoredache valid; orang mungkin berdalih dengan detail sedikit (memiliki mesin lebih cepat sehingga Anda dapat melakukan hal-hal lain sementara fsck'ing sistem file lain tidak banyak membantu Anda jika alasan sistem untuk ada di tempat pertama adalah pada sistem file lain) ; Namun mereka semua sedikit pembenaran-setelah-fakta.

Di masa lalu, Anda tidak memiliki sistem file di partisi yang terpisah - Anda memilikinya di disk terpisah, karena disk sangat kecil. Pikirkan 10MB. (1) Jadi Anda memiliki disk kecil / partisi, disk / var, disk / usr, disk / tmp, dan disk / home. Jika Anda membutuhkan lebih banyak ruang, Anda membeli disk lain.

Kemudian 50MB disk "besar" mulai berharga kurang dari program bulan, dan tiba-tiba menjadi mungkin untuk menempatkan seluruh sistem pada satu disk dengan jumlah ruang pengguna yang dapat digunakan.

Namun, dengan ukuran disk yang kecil dibandingkan dengan apa yang mungkin bagi komputer untuk menghasilkan, mengisolasi / var dan / opt dan / home sehingga mengisi satu tidak menurunkan komputer masih merupakan ide yang bagus.

Hari ini, dalam situasi perusahaan, saya tidak mempartisi OS. Data dipartisi, terutama jika itu dibuat oleh pengguna; tetapi sering karena itu pada array disk berkecepatan tinggi dan / atau redundan. Namun / var dan / usr semuanya hidup di partisi yang sama dengan /.

Dalam lingkungan rumah, hal yang sama - / home mungkin harus berada pada disk / array yang terpisah, sehingga orang dapat menginstal / memutakhirkan / menghancurkan / memperbaiki apa pun rasa OS yang diinginkan.

Alasan untuk ini adalah karena tidak peduli seberapa besar Anda menebak / var atau / usr Anda atau pohon apa pun yang mungkin - Anda akan salah besar atau Anda akan sangat berlebihan melakukan. Salah satu kolega lama saya (er) bersumpah dengan mempartisi, dan saya selalu mendapat kesedihan darinya ketika dia akhirnya duduk melalui fsck 180 hari pada sistem yang saya buat. Tetapi saya dapat mengandalkan satu tangan dari seluruh karir saya berapa kali sesuatu terisi / dan menurunkan sistem, sementara saya dapat menghitung satu tangan berapa kali tahun ini bahwa saya telah menatap sistem di mana seseorang memutuskan / var tidak akan pernah harus lebih dari (katakanlah) 1GB dan salah, membuat saya menatap penuh / var dan '00-an GB gratis di tempat lain pada sistem, yang semuanya mungkin berada di bulan untuk semua kebaikan yang mereka lakukan padaku.

Di dunia disk besar saat ini, saya tidak melihat bahwa ada alasan nyata untuk mempartisi pohon OS. Data pengguna, ya. Tetapi partisi yang terpisah untuk / var dan / usr dan / var / spool dll dll? Tidak.


(1) = dan saya tahu hanya dengan memilih ukuran itu, saya akan mendapatkan seseorang di komentar mengatakan 10MB? Kemewahan. Mengapa disk kami hanya ...

David Mackintosh
sumber
Sebenarnya 10 MB adalah ukuran disk pertama kali saya mendengar seseorang "XXX FooBytes: lebih banyak memori daripada yang pernah saya butuhkan!". Meskipun saya masih muda, jadi itu sekitar tahun 1982. Nilai-nilai lain adalah 40 MB, 320 MB, 2,5 GB, 40 GB, ... data berkembang untuk mengisi penyimpanan yang tersedia.
dmckee
5

Sebagai balasan untuk:

Tampaknya mempartisi sangat meningkatkan kemungkinan mengisi satu partisi sementara yang lain memiliki banyak ruang kosong.

Pada mesin Linux, LVM (manajemen volume logis) digunakan untuk mencegah hal ini. Sebagian besar sistem file memungkinkan untuk mengubah ukuran (beberapa bahkan online). Saya membuat partisi yang berbeda untuk penggunaan yang berbeda dan memformatnya ke sistem file yang berbeda (yaitu: xfs untuk file unduhan besar yang dapat saya hapus dengan cepat). Perlu lebih banyak ruang? Pasang drive baru, pindahkan data ke dalamnya, lalu pasang di tempat data dulu. Ini sepenuhnya mulus bagi pengguna dan aplikasi.

Dengan LVM, Anda bisa menambahkan disk atau partisi ke dalam grup volume, lalu membuat volume logis di grup itu. Jika Anda meninggalkan ruang kosong di grup volume, Anda bisa menumbuhkan partisi yang terisi. Jika sistem file mendukungnya (ext3, ext4, reiserfs), Anda dapat mengecilkan partisi yang telah dialokasikan lebih dari itu.

Sebagai contoh: buat partisi boot pada / dev / sda1 buat partisi (tidak diformat) kedua / dev / sda2

pvcreate /dev/sda2 # add the partition to LVM
vgcreate vg /dev/sda2 # create a volume group with sda2 in it
lvcreate -n root -L5G vg
lvcreate -n home -L10G vg
lvcreate -n downloads -L100G vg

mkfs.ext3 /dev/vg/root
mkfs.ext4 /dev/vg/home
mkfs.xfs /dev/vg/downloads

mount /dev/vg/root /
mount /dev/vg/home /home
mount /dev/vg/downloads /downloads

Ketika Anda membutuhkan lebih banyak ruang pada / unduhan (saat sistem file dipasang):

lvresize -L+50G /dev/vg/downloads
xfs_growfs /dev/vg/downloads

Dan sekarang Anda memiliki partisi unduhan 150GB. Mirip dengan rumah. Sebenarnya saya baru saja mengubah ukuran "partisi" ext4 lvm hari ini. Di sisi lain, volume logis tidak benar-benar partisi dan apa yang Anda katakan tentang partisi menjadi ukuran yang salah dengan pengalaman pribadi saya (lebih banyak masalah daripada nilainya).

Swoogan
sumber
4

Skema partisi tradisional Unix jelas merupakan praktik sekolah lama yang tidak berguna seperti dulu. Kembali pada hari ketika uptime sistem Unix diukur dalam beberapa tahun, dan Anda memiliki lusinan pengguna yang bermain-main dengan shell, mount / usr sebagai read-only adalah cara yang berguna untuk melindungi sistem. Sekarang menginstal ulang sistem file untuk menambal tampaknya lebih padat karya dan tidak begitu berguna.

Di universitas saya di masa lalu yang baik, cluster Unix memiliki sistem file read-only dengan alat unix standar, dan aplikasi tambahan berada di / usr / local, yang merupakan NFS dan kemudian sistem file AFS. Bagian dari itu adalah kenyamanan ... yang ingin mengkompilasi ulang perangkat lunak pada selusin kotak di cluster ketika Anda dapat menjalankan aplikasi melalui jaringan berkecepatan tinggi, 4Mb atau 10Mb? Hari ini, dengan manajer paket yang layak dan banyak disk murah, itu bukan masalah besar.

Saya pikir proses berpikir mulai berubah untuk saya di kotak Sun dengan Veritas Volume Manager kembali sekitar tahun 1999, yang mengurangi ambang rasa sakit untuk memindahkan disk sekitar.

Hari ini, ketika saya berpikir tentang partisi, saya berpikir dalam hal perlindungan dan kinerja data. Contoh ilustrasi:

  • Tier 1 SAN sangat cepat, sangat tersedia (5 9), direplikasi, dan sangat mahal. Database kritis misi atau log transaksi tinggal di sana.
  • Tier 2 SAN cepat, tersedia (4 9), mahal. Aplikasi atau data prioritas rendah ada di sini.
  • Tier 3 SAN tersedia (4 9), murah. Hal-hal yang tidak peka terhadap kinerja tinggal di sana.

Pertimbangan ini berlaku untuk Windows juga. Kami memiliki server SCCM yang mengelola sekitar 40 ribu klien. Basis data dan log ada pada disk IBM DS8000 mega-buck. Paket perangkat lunak berada pada EMC Celerra dengan disk SATA besar yang lambat yang harganya 60% lebih rendah per GB.

duffbeer703
sumber
2

Saya mengerti bahwa pertanyaan ini tidak spesifik untuk OS, bukan?

Di bawah Windows, saya cenderung memberikan semua mesin saya partisi sesedikit mungkin, tetapi tidak kurang dari dua - SISTEM dan DATA. Jika mesin memiliki dua disk fisik, maka satu (lebih kecil) akan menjadi SYSTEM, DATA lainnya. Jika hanya ada satu disk, saya membaginya menjadi dua partisi.

Alasan untuk itu hanya satu - ketika saya perlu menginstal ulang mesin (dan akan ada waktu seperti itu), saya tidak perlu khawatir tentang isi partisi SISTEM - Saya hanya melakukan format penuh di atasnya dan instal bersih. Ini tentu saja berarti bahwa Dokumen saya (dan lebih disukai Desktop juga) harus dipetakan ke folder pada DATA, tetapi itu mudah dilakukan, terutama pada Vista dan yang lebih baru.

Saya juga mencoba membuat lebih banyak partiton (seperti GAMES, MUSIC, MOVIES, dll.) Tetapi itu hanya mengakibatkan beberapa dari mereka meluap ke yang lain, menciptakan lebih banyak kekacauan daripada ketertiban.

Vilx-
sumber
Itu bahkan lebih berlaku ketika melakukannya di server.
SpaceManSpiff
2

(Dengan asumsi satu disk besar tersedia,) saya meletakkan homedan varpada partisi terpisah untuk mengontrol "tidak terkendali [file | log pengguna] masalah mengisi semua ruang", dan untuk memungkinkan upgrade OS mudah tanpa menyentuh rumah, tetapi meninggalkan beristirahat bersama.

Pada perangkat keras yang lebih lama kadang-kadang diperlukan untuk memiliki bootpartisi terpisah untuk memastikan bahwa kernel image dapat diakses oleh boot loader.

dmckee
sumber
2

Anda menyebutkan satu disk mengisi sementara yang lain memiliki ruang kosong - itulah salah satu alasan saya partisi - karena saya dapat memastikan bahwa partisi tertentu tidak terisi. Meskipun, cara kuota dulu dikelola, Anda harus menetapkan kuota 0 semua pengguna di partisi lain, hanya untuk memastikan bahwa mereka tidak mulai menyembunyikan file jika mereka berhasil menemukan direktori yang mereka tentukan. bisa menulis surat kepada.

Adapun penyederhanaan cadangan - jika saya tahu apa ukuran maksimal dari setiap partisi, saya dapat memastikan bahwa itu adalah ukuran yang cocok dengan rapi ke dalam satu kaset, dan dapat diselesaikan dalam jumlah waktu yang tetap.

Adapun keandalan, satu-satunya hal yang dapat saya pikirkan adalah pemantauan - saya dapat lebih mudah melihat ketika partisi yang diberikan tumbuh lebih dari yang seharusnya, dan memberi saya alasan untuk melihatnya.

... sekarang, semua itu dikatakan, kami jauh dari hari-hari setiap pengguna diberi kuota 20MB kecil mereka di mesin bersama. Beberapa kebiasaan lama tidak masuk akal - tetapi ketika Anda memiliki proses gila dan mengisi / var, yang pada gilirannya mengisi /, dan hal-hal terhenti, tidak semua yang buruk dari perlindungan untuk memiliki pada mesin produksi .

Untuk rumah, saya memiliki partisi, tetapi hanya untuk membuatnya lebih mudah untuk mengelola OS yang diinstal.

Joe H.
sumber
1

Secara pribadi saya hanya menggunakan partisi pada komputer anak saya. Saya membuat partisi besar untuk OS dan partisi kecil untuk gambar partisi OS sehingga ketika mesin tersangkut saya dapat dengan cepat mengembalikannya dari gambar.

Dalam lingkungan perusahaan saya belum pernah mendengar argumen yang memaksa untuk mempartisi.

joeqwerty
sumber
1

Semuanya dalam jumlah sedang adalah hal yang baik - itu bisa menjadi alat yang baik untuk mengisolasi masalah ketika ada kesalahan - seperti mengisi disk atau korupsi sistem file.

Jangan campur dengan kegagalan perangkat keras - itu harus ditangani oleh redundansi perangkat keras (RAID)

Karena itu, filesystem hari ini gagal lebih jarang - bahkan ada yang melakukan pemeriksaan integritas online (seperti ZFS). Jadi semoga offline fsck akan hilang di beberapa titik ...

Di sisi lain, melakukan yang berlebihan ini hanya berarti lebih banyak pekerjaan (untuk Anda dan tim Anda) pada akhirnya - lakukan saja dengan tidak berlebihan dan ketika itu masuk akal ...

Lester Cheung
sumber