Apa partisi maks yang didukung di linux?

8

Boleh saya tahu ukuran partisi maks yang didukung oleh sistem Linux. Dan berapa banyak Partisi logis dan primer yang dapat kita buat dalam disk yang diinstal oleh sistem linux?

Mughil
sumber
2
Itu tergantung pada tipe tabel partisi, gpt atau mbr, penggunaan LVM atau tidak, kemudian filesystem. Anda perlu lebih spesifik tentang perincian ini dalam pertanyaan Anda agar siapa pun dapat memberi Anda jawaban yang bermanfaat.
bsd
1
Perhatikan bahwa untuk perangkat eMMC, Linux Kernel menggunakan MMC_BLOCK_MINORSuntuk membatasi jumlah partisi yang tersedia perangkat par (nilai default adalah 8).
Jérôme Pouiller

Jawaban:

20

Berapa Banyak Partisi

Saya percaya orang lain, lebih cepat dan lebih baik telah menjawab ini dengan sempurna. :)

Selalu Ada Satu Batas Lagi

Untuk diskusi berikut, selalu ingat bahwa batasan itu teoretis. Keterbatasan aktual seringkali kurang dari batas teoretis karena keduanya

  • batasan teoretis lainnya membatasi hal-hal. (PC memang sangat, sangat kompleks, akhir-akhir ini)
  • selalu ada lebih banyak bug. (jawaban ini tidak dikecualikan)

Ketika Batas Dilanggar

Apa yang terjadi ketika batasan ini dilanggar juga tidak mudah. Sebagai contoh, pada masa 10GB disk, Anda dapat memiliki partisi multi-gigabyte, tetapi beberapa mesin tidak dapat mem-boot kode yang disimpan setelah silinder ke-1.024. Inilah sebabnya mengapa begitu banyak penginstal Linux masih menuntut partisi kecil / boot terpisah di awal disk. Setelah Anda berhasil boot, semuanya baik-baik saja.

Ukuran partisi: MS-DOS Partition Table (MBR)

MS-DOS menyimpan partisi dalam format (mulai, ukuran), yang masing-masing lebarnya 32 bit. Setiap angka digunakan untuk mengkodekan koordinat sektor-kepala silinder di masa lalu. Sekarang ini hanya mencakup nomor sektor yang berubah-ubah (disk mengelola terjemahan dari itu ke koordinat sedang-spesifik). Sumber kernel untuk tipe partisi 'MS-DOS' menunjukkan ukuran partisi lebar 32 bit, dalam sektor. Yang memberi kita 2 ^ 32 * 512, atau 2 ^ 41 byte, atau 2 ^ 21 Megabita biner, atau 2.097.152 Megabita, atau 2.048 Gigabita, atau 2 Terabita (minus satu sektor).

Tabel Partisi GUID (GPT)

Jika Anda menggunakan label disk GUID Partition Table (GPT), tabel partisi Anda disimpan sebagai pasangan (mulai, akhir). Keduanya panjangnya 8 byte (64 bit), yang memungkinkan lebih banyak daripada yang mungkin pernah Anda gunakan: 2 ^ 64 sektor 512 byte, atau 2 ^ 73 byte (8 biner zettabytes), atau 2 ^ 33 terabyte .

Jika Anda mem-boot ROM UEFI daripada BIOS CP / M era tradisional, Anda sudah memiliki GPT. Jika tidak, Anda selalu dapat memilih untuk menggunakan GPT sebagai disklabel Anda. Jika Anda memiliki disk yang agak baru, Anda harus melakukannya.

Ukuran Sektor

Suatu sektor telah 512 byte untuk waktu yang lama. Ini diatur untuk mengubah ke 4.096 byte. Banyak disk sudah memiliki ini, tetapi meniru sektor 512 byte. Ketika perubahan datang ke latar depan dan unit alokasi menjadi sektor 4.096 byte, dan LBA menangani sektor 4.096 byte, semua ukuran di atas akan berubah dengan 3 urutan biner besarnya: kalikan semuanya dengan 8 untuk mendapatkan nilai baru yang menakutkan.

Manajer Volume Logis

Jika Anda menggunakan LVM, volume apa pun yang Anda buat juga harus didukung oleh LVM, karena itu berada di antara partisi Anda dan sistem file. Menurut FAQ LVM2 , LVM2 mendukung hingga 8EB (exabytes) di Linux 2.6 pada arsitektur 64-bit; 16TB (terabytes) di Linux 2.6 berjalan pada arsitektur 32-bit; dan 1TB di Linux 2.4.

Batas Filesystem

Tentu saja, ini adalah batas ukuran per partisi (atau volume LVM), yang Anda tanyakan. Tetapi intinya memiliki partisi biasanya untuk menyimpan filesystem, dan filesystem memiliki batasannya sendiri. Faktanya, jenis batasan apa yang dimiliki sistem file tergantung pada sistem file itu sendiri! Satu-satunya batasan global adalah ukuran maksimum sistem file dan ukuran maksimum setiap file di dalamnya.

EXT4 memungkinkan partisi hingga 16TB per file dan 1EB (exabyte) per volume. Namun, ia menggunakan nomor blok 32-bit, jadi Anda perlu meningkatkan ukuran blok 4.096-byte default. Ini tidak mungkin dilakukan pada kernel dan arsitektur Anda, jadi 16TB per volume mungkin lebih realistis pada PC.

ZFS memungkinkan 16EB file dan volume 16EB, tetapi tidak diragukan lagi ia memiliki batasnya sendiri yang tidak terduga.

Wikipedia memiliki tabel yang sangat bagus tentang batasan ini untuk sebagian besar sistem file yang dikenal manusia .

Dalam praktek

Jika Anda menggunakan Linux 2.6 atau yang lebih baru pada mesin 64-bit dan partisi GPT, sepertinya Anda hanya perlu khawatir tentang pilihan sistem file dan batasannya. Meski begitu, itu seharusnya tidak terlalu membuatmu khawatir. Anda mungkin tidak seharusnya membuat file tunggal 16TB, dan 1 exabyte (1.048.576 TB) akan menjadi batasan nyata untuk sementara waktu. Jika Anda menggunakan MBR, dan membutuhkan lebih dari 2 terabyte biner, Anda harus beralih ke UEFI dan GPT karena Anda beroperasi di bawah batas 2TB per partisi (ini mungkin kurang dari sepele pada komputer yang sudah digunakan)

Harap dicatat bahwa saya kentut tua, dan saya menggunakan unit biner ketika saya menghitung kelipatan dua kekuatan. Pembuat disk suka menipu (dan telah meyakinkan kami bahwa mereka selalu melakukan ini, meskipun kami tahu mereka tidak melakukannya) dengan menggunakan unit desimal. Jadi disk '2TB' terbesar masih lebih kecil dari 2 terabyte biner, dan Anda tidak akan mengalami masalah. Kecuali Anda menggunakan LVM atau RAID-0.

Alexios
sumber
Sebenarnya, perangkat berlabel MS-DOS tidak boleh lebih besar dari 16 TB.
wazoox
Apa yang memaksakan itu? Saya tahu itu (atau batas yang serupa) harus ada di sana, karena saya baru saja menggunakan tiga server dengan UEFI / GPT karena mereka datang dengan disk 12 × 2TB dan Dell berasumsi bahwa kami akan membuat satu partisi dari lot (!). Tapi saya tidak bisa selama hidup saya melihat di mana itu mungkin antara blok disk dan kernel. Apakah ini batasan boot BIOS atau sesuatu?
Alexios
@wazoox, tabel partisi MS-DOS menggunakan angka sektor 32 bit, jadi angka 2 TB untuk sektor byte 512, bukan 16 TB.
psusi
1
@psusi, ya, itu benar. Sebenarnya saya belum menggunakan label MS-DOS sejak tahun 2006 atau lebih :) Alexios, Di Linux, Anda dapat menempatkan label MS-DOS pada perangkat (disk atau array RAID) dalam ukuran apa pun, tetapi hanya 2 TB yang dapat dialamatkan (apa saja) lebih dari 2 TB tidak dapat digunakan). Tidak ada yang harus menggunakan label MS-DOS lagi, mereka benar-benar peninggalan yang sudah ketinggalan zaman.
wazoox
1
@wazoox, diperlukan untuk Windows pada sistem non UEFI, tetapi sekali lagi, Windows juga merupakan peninggalan yang sudah ketinggalan zaman;)
psusi
8

Ada dua batasan. Aktif adalah dukungan di Linux, yang lain adalah jumlah maksimum dalam skema tabel partisi yang digunakan: Tergantung apakah Anda menggunakan MBR lawas atau GPT yang lebih baru .

MBR mendukung empat partisi primer. Salah satunya adalah partisi extended yang dapat berisi sejumlah partisi logis yang dibatasi hanya oleh ruang disk Anda.

GPT mendukung hingga 128 partisi "primer".

Di masa lalu, Linux hanya mendukung hingga 63 partisi pada IDE dan 15 pada disk SCSI karena jumlah perangkat yang terbatas. Hari ini kernel dapat mengalokasikan nomor perangkat secara dinamis (udev adalah kata kunci) sehingga batasan ini seharusnya tidak lagi berlaku.

Jofel
sumber
4

Ini tidak terkait dengan OS itu sendiri, tetapi dengan skema partisi yang digunakan.

Pengenalan gpart halaman manual FreeBSD cukup baik.

Pada dasarnya Anda memiliki:

  • "MBR" skema yang merupakan cara "DOS" lama, seperti yang Anda katakan partisi "primer" (hingga 4) dan yang logis (tidak ada batas nyata - sejauh yang saya tahu).
  • Skema "Intel EFI / GPT", cara baru dalam melakukan sesuatu, dengan hanya partisi "primer" dan hampir tanpa batas.

Jadi sebenarnya, tidak ada perbedaan nyata dengan kotak Windows standar Anda.

Ouki
sumber
0

Menurut Wikipedia , kernel mendukung sistem file hingga 16TB, sehingga merupakan partisi terbesar yang dapat dan masih sepenuhnya digunakan. Tidak semua sistem file benar-benar mendukung 16TB penuh, tentu saja.

Kevin
sumber
2
Bersenandung. Kernel Linux 32 bit mendukung hingga 16 TB, tetapi kebanyakan sistem telah 64 bit selama bertahun-tahun. Saya secara rutin membangun server penyimpanan dengan 77 partisi TB dan bahkan sistem file yang lebih besar.
wazoox