Partisi Sistem File UNIX Optimal + Strategi Penyiapan

16

Saat mempartisi disk sistem baru untuk UNIX, apa strategi yang Anda sukai untuk desktop dan / atau server?

Harap sertakan tata letak partisi disk, format dan opsi sistem file, titik pemasangan, tingkat RAID, grup dan volume LVM, enkripsi, dan pengaturan lain yang relevan.

cmcginty
sumber
Pertanyaannya tampaknya hampir seperti duplikat dari ini ( serverfault.com/questions/1145/… ).
Zoredache
apakah ini untuk workstation, server uji, atau untuk server online yang sepenuhnya matang?
djangofan

Jawaban:

9

Saya penggemar LVM untuk masalah seperti ini. Anda hanya perlu ruang untuk / boot (saya menggunakan sekitar 100MB). Dikombinasikan dengan sistem file yang secara dinamis dapat tumbuh dan menyusut (atau setidaknya tumbuh) Anda tidak perlu memikirkan partisi kecil lagi.

Di desktop saya, saya menggunakan LVM dengan XFS sebagai sistem file untuk semua partisi. Saya membuat sekecil mungkin dan membiarkan mereka tumbuh karena saya membutuhkan lebih banyak ruang.

Martin
sumber
7

Jika itu Linux, miliki yang terpisah / boot.

Untuk varian Unix lainnya, biasanya, saya merekomendasikan partisi untuk / dan / var, data biasanya dipasang di / u001, / u002 dll.

Sebelumnya, ada kebutuhan untuk partisi berat karena ruang disk terbatas dan Anda tidak ingin satu partisi penuh untuk menjatuhkan seluruh sistem. Dengan penyimpanan yang sangat meningkat yang tersedia saat ini serta pilihan pengubahan ukuran dan virtualisasi yang tersedia, kebutuhan akan banyak partisi IMO telah turun. Itu ditambah dengan fakta bahwa itu repot untuk memindahkan hal-hal ketika Anda memiliki banyak partisi berarti bahwa jika Anda bisa lolos dengan lebih sedikit, lakukanlah.

Memiliki swap sebagai 2xRAM tidak masuk akal bila Anda telah mengatakan memori 32GB. Jadi ingat, "aturan" benar-benar panduan dan beberapa tidak masuk akal mengingat perangkat baru yang tersedia sekarang.

Jauder Ho
sumber
2
+1 menyebutkan perlunya partisi turun akhir-akhir ini, selain jika Anda membutuhkan lebih banyak ruang di / rumah Anda selalu dapat memasang harddisk baru.
Spoike
1
+1 - Saya setuju tanpa mengecilkan kebutuhan untuk game partisi gila pada kebanyakan sistem. Jika Anda tahu bahwa Anda perlu / var berada di disk cepat karena beberapa aplikasi, maka jadilah. Lebih sering daripada tidak, ketika saya mengalami permainan partisi yang gila dalam sistem produksi, perangkat keras RAID-1 volume tunggal diukir menjadi sekelompok partisi kecil, semua menunggu untuk diisi dan perlu diubah ukurannya (untuk membuat pekerjaan untuk admin, rupanya). Jika Anda tahu Anda memiliki aplikasi untuk semacam skema partisi yang kompleks, coba saja. Jika tidak, Anda tidak.
Evan Anderson
5

Merencanakan struktur partisi yang baik sangat tergantung pada mengetahui bagaimana Anda akan menggunakan sistem. Setiap saran acak yang tidak memperhitungkan apa yang dilakukan sistem tidak akan sangat berguna.

Semua filesystem mewah mungkin berguna pada kesempatan tertentu, tetapi jika Anda menginginkan sistem yang stabil, mungkin ide yang lebih baik untuk tetap menggunakan sistem file 'standar' (yaitu ext3) kecuali Anda memiliki alasan yang sangat baik untuk menggunakan sesuatu yang lain.

RAID bagus, saya selalu menjalankan RAID1 di semua komputer pribadi saya karena terlalu banyak hard drive gagal.

Enkripsi dengan sesuatu seperti dm-crypt bagus jika sistem Anda adalah perangkat portabel, memiliki data bernilai tinggi, atau Anda hanya paranoid.

Ketika Anda merencanakan partisi Anda, sangat membantu untuk memiliki pemahaman yang baik tentang hal-hal seperti Standar Hierarki Filesystem dan jika / bagaimana unix yang Anda pilih menyimpang dari standar.

Menggunakan LVM dapat membuatnya lebih mudah untuk mengubah pikiran Anda di masa depan dan menyesuaikan partisi Anda tanpa harus reboot., Dan kemampuannya untuk membuat snapshots bisa sangat mudah untuk membuat cadangan yang baik. Gunakan LVM, dan jangan segera mengalokasikan semua ruang Anda.

Sakit kepala
sumber
5

Ada dua alasan yang sangat bagus untuk partisi selain tipe FS:

  1. Cegah isi-ulang dari aplikasi yang memengaruhi fungsionalitas sistem. Jika aplikasi Anda terisi /usr, maka berguna untuk memiliki beberapa ruang tersisa /varuntuk memungkinkan sistem untuk melanjutkan dan mencatat log.

    Jauder mengatakan di atas bahwa ini dinegasikan oleh ukuran hard disk hari ini - saya tidak berpikir ini sepenuhnya benar. Drive kami mungkin lebih besar tetapi data yang kami balikkan semakin meningkat. Tidak perlu berpuas diri.

  2. Opsi pemasangan. Anda dapat menentukan dengan lebih hati-hati izin apa yang harus diadopsi setiap partisi. Misalnya, praktik yang baik untuk tidak membiarkan file dieksekusi, terutama suid, /tmpkarena merupakan vektor serangan umum untuk mesin yang melayani aplikasi web. Kecuali Anda menjalankan jail, Anda seharusnya tidak melihat node perangkat di mana pun kecuali /dev. Dan seterusnya.

misalnya.

/ noatime  
/tmp noatime,nodev,nosuid,noexec  
/var noatime,nodev,nosuid  
/usr noatime,nodev  
/home noatime,nodev,nosuid  
Dan Carley
sumber
4

Partisi Disk Fisik
Mulai dengan minimal 2 disk:

# 1 100MB, ID = 83 (Linux), Boot Flag ON
# 2 Tersisa, ID = FD (Linux Raid Auto)

Partisi 100MB adalah untuk volume / boot. Saya meninggalkan ini di semua drive saya (bahkan non-boot) untuk memungkinkan fleksibilitas sehingga drive apa pun nantinya dapat diaktifkan untuk boot. JIKA disk tidak sesuai ukurannya, atau Anda memiliki angka ganjil (500GB, 250GBx2), kemudian bagi partisi drive 500GB agar sesuai dengan disk yang lebih kecil.

RAID
Menggunakan partisi 100MB sdadan sdbmembuat volume RAID1 (mirror) untuk /boot. Ini menjadi md0.

md0 / boot 100MB Ext2

Jangan repot-repot menggunakan FS eksotis di / boot, itu tidak layak.

Ruang yang tersisa dapat diatur dalam metode yang berbeda. Saya memilih RAID10 (mirror / stripe) menggunakan 64K potongan dan "2 salinan-jauh" untuk kecepatan. Ini memberi Anda banyak fleksibilitas untuk meningkatkan drive secara bertahap. Opsi lainnya adalah melakukan RAID5 / 6. Namun ruang yang dapat digunakan akan terbatas pada partisi terkecil, dan JANGAN gunakan partisi dari perangkat yang sama. Nama array RAID baru md1, md2dan sebagainya.

LVM
Ambil semua array RAID kecuali md0, dan masukkan ke dalam satu grup volume LVM bernama lvm_vg0. Jika Anda memiliki volume RAID5 dan RAID10, mungkin yang terbaik adalah tidak menggabungkannya, tapi saya kira tidak akan ada salahnya.

Partisi keluar VG0 untuk sistem yang tersisa dipasang. Ingat relatif mudah untuk menambahkan lebih banyak ruang jika diperlukan, jadi angka-angka ini bisa agak konservatif.

lvm_vg0-root / 8GB Ext3 / ReiserFS (file distro inti)
lvm_vg0-home / home 20 + GB Ext3 / ReiserFS (data pengguna, dokumen)
lvm_vg0-data / data 60 + GB XFS (media, file besar, vm's)

Sistem file XFS tidak dapat menyusut, jadi ingatlah itu. Juga, menyusutkan volume root online mungkin tidak didukung.

Upgrade Jika Anda ingin menukar disk dengan ukuran lebih besar, Anda memiliki beberapa opsi. Yang termudah adalah menambahkan drive berpasangan atau lebih, dan menambahkan array RAID baru ke LVM VG saat ini.

Pilihan lain adalah menambahkan satu drive yang> = ke jumlah ruang saat ini. Misalnya, jika Anda memiliki dua perangkat 100GB di RAID10, Anda dapat menambahkan perangkat 200GB baru dan mencerminkannya menggunakan dua perangkat lama. Ini lebih rentan kesalahan, tetapi akan berhasil.

Jika perlu, md#perangkat dapat dihapus dari LVM VG tanpa kehilangan data. Ini dapat dilakukan jika ada cukup ruang LVM gratis untuk memindahkan semua blok LVM yang digunakan dari md#perangkat ke orang lain. LVM hanya dapat menggunakan ruang yang belum ditetapkan ke LV, sehingga sistem file kosong tidak dihitung sebagai ruang "bebas".

cmcginty
sumber
1
Saya tidak yakin dengan ketakutan sistem file eksotis di / boot. ext3 dan XFS tidak lagi eksotis pada tahun 2009. Dulu menjadi perhatian ketika liveCDs tidak dikemas dengan driver untuk mereka, tetapi hampir semua hari ini.
Dan Carley
@Casey, Anda dapat mengecilkan volume "live" Volume Ext3, asalkan Anda memiliki cukup ruang kosong untuk digunakan. Ya, ini adalah pengalaman menggigit kuku, tapi saya sudah melakukannya, dan itu berfungsi seperti yang diiklankan. Hanya SANGAT hati-hati dengan parameter.
Avery Payne
2

Saya baru saja menjalankan Linux Workstation. Saya menggunakan sistem file ext3 dan ukurannya agak tergantung pada ukuran disk, menjadi lebih murah hati dengan partisi pada disk yang lebih besar. Ini kira-kira sesuai dengan urutannya pada tabel partisi:

  • / boot - 100 MB
  • ruang swap - 2xRAM
  • / usr - 10-20 GB
  • / - 5-10 GB
  • / var - 1-2 GB
  • / tmp - 1-2 GB
  • / usr / local - 10-20 GB
  • / home - segalanya.

Di stasiun kerja istri saya di universitas, yang memiliki dua drive 750 GB, kami membuat, selain yang di atas, selusin ~ 100 GB partisi di berbagai drive yang terpasang di / data / N di mana N adalah angka dari 1 hingga 12 Dia menggunakan ini untuk menyimpan data untuk berbagai proyek penelitiannya.

dagorym
sumber
Saya pribadi tidak melihat keuntungan memiliki / var, / usr dipisahkan ke partisi yang berbeda. Sementara / usr / local mungkin ide yang bagus jika Anda memiliki perangkat lunak yang diinstal khusus (= tidak diinstal melalui manajemen paket), keduanya disebutkan tidak cukup berguna. Juga 2xRAM karena swap tidak diperlukan. Jika sistem Anda mulai menukar semuanya mati lambat, jadi Anda ingin menghindari ini pada awalnya. Saya pribadi hanya memiliki partisi swap dengan Ramsize + X karena saya kadang-kadang menggunakan disk-ke-disk.
Martin
2
@ Martin, Pada kotak linux bertindak sebagai cache squid Anda ingin spool dir Anda, dan log dir berada di disk cepat, dan Anda biasanya tidak memerlukan disk itu untuk dapat diandalkan. Seseorang mungkin menempatkan (/ var) spool Anda pada RAID0 (stripe), dan meninggalkan yang lainnya dalam drive yang lebih lambat.
Zoredache
@ Martin - Anda benar, memisahkan / usr off mungkin tidak perlu dan saya tidak selalu melakukannya lagi. Swap = 2xRAM adalah kebiasaan lama yang tersisa dari hari-hari ketika saya mengkonfigurasi sistem dengan hanya 256 MB RAM atau kurang.
dagorym
1
sebenarnya, pemisahan / usr dan / var memungkinkan Anda untuk mengaktifkan penjurnalan pada satu dan bukan yang lain.
Scott
1
Dan menempatkan / var pada partisi yang terpisah memastikan hanya / var dapat mengisi dengan file log, yang seharusnya bisa membuat sistem Anda berlutut.
wzzrd
1

gunakan noatime di semua disk (kecuali Anda punya alasan untuk tidak) Saya me-mount / tmp di tmpfs walaupun ini mungkin tidak begitu baik di server, saya akan memastikan itu adalah partisi yang terpisah dan mount itu nodev, nosuid, noexec, noatime . Saya selalu menggunakan ext2 untuk / boot jadi saya tidak perlu khawatir tentang mengubah hal-hal fs mengacaukan kemampuan saya untuk boot w / grub. ext4 pada yang lainnya, saya menggunakan journal = data on / home yang mungkin memperlambat segalanya (karena tidak ada dealloc) tapi saya juga tidak pernah kehilangan data dengan journal = data, dan menjadi sedikit terbaru / terhebat pelacur, kadang-kadang sistem saya terkunci dan saya harus mengatur ulang kerasnya (karena saya mencoba sesuatu seperti km dan menemukan bug).

xenoterracide
sumber
1
Jangan lupa untuk menggunakan 'nodiratime' juga, jika tidak, Anda akan mendorong vfs_cache_pressure Anda dengan banyak inode (ditambah tulisan aktual ke disk!).
Gazzonyx
0

Wow, pertanyaan yang bagus. Berselancar untuk jawaban sempurna untuk ini untuk yonks.

Saya pribadi memiliki 50MB / boot ~ 8GB / dan sisanya menuju / home Thats jauh dari sempurna sekalipun. Saya perlu menyelidiki filesystem alternatif, saat ini saya menggunakan ext3 tapi saya pernah mendengar hal-hal hebat dari filesystem lain misalnya XFS.

Saya biasanya juga membuat wadah file untuk / tmp murni sehingga saya bisa lebih fleksibel dengan itu di masa depan.

Adam Gibbins
sumber