Title: Limitazioni alla dimensione del file
Author: Sandro Tosi
Last modified: 2004-09-29 (2004-07-12)
Alcune attivita` necessitano della creazione di file di dimensioni
molto elevate, come ad esempio nel caso del video-editing.
In alcuni casi, un sistema Linux potrebbe non essere in grado di
gestire file superiori ad 2 GB.
Non e` possibile ascrivere questo problema ai filesystem, in quanto
essi sono in grado di gestire file ben oltre il limite dei 2 gigabyte
(ad eccezione di NFSv2 e Samba, che devono essere sostituiti, per
esempio, con CIFS o NFSv3), come riportato nella seguente tabella (che
indica i limite teorici):
>>
Maximum On-Disk Sizes of the Filesystems
Filesystem File Size Limit Filesystem Size Limit
ext2/ext3 with 1 KiB blocksize 16448 MiB (~ 16 GiB) 2048 GiB (= 2 TiB)
ext2/3 with 2 KiB blocksize 256 GiB 8192 GiB (= 8 TiB)
ext2/3 with 4 KiB blocksize 2048 GiB (= 2 TiB) 16384 GiB (= 16 TiB)
ext2/3 with 8 KiB blocksize (Systems with 8 KiB pages like Alpha only)
65568 GiB (~ 64 TiB) 32768 GiB (= 32 TiB)
ReiserFS 3.5 4 GiB 16384 GiB (= 16 TiB)
ReiserFS 3.6 (as in Linux 2.4) 1 EiB 16384 GiB (= 16 TiB)
XFS 8 EiB 8 EiB
JFS with 512 Bytes blocksize 8 EiB 512 TiB
JFS with 4KiB blocksize 8 EiB 4 PiB
NFSv2 (client side) 2 GiB 8 EiB
NFSv3 (client side) 8 EiB 8 EiB
Note Kernel Limitations: The table above describes limitations of the
on-disk format. The following kernel limits exist:
a.. On 32-bit systems with Kernel 2.4.x: The size of a file and a
block device is limited to 2 TiB. By using LVM several block devices
can be
<<
Dunque, i problemi sorgono quando un programma cerca di
creare/accedere ad un file di dimensioni superiori ai 2 GB.
La causa e` l'utilizzo di versioni non aggiornate del kernel e delle
libc: utilizzando le ultime versioni disponibili (kernel >= 2.4 e libc
>= 2.3), il problema non si ripresenta.
Cio` e` dovuto al fatto che dal kernel 2.4 viene utilizzato il Large
File Support (LFS) che consente di superare il limite della
architetture a 32 bit di, appunto, 2 GB. Questo supporto, inserito
anche nelle librerie (ora in grado di gestire file da 2 TB) e nei
filesystem, ha consentito di aggirare questa limitazione.
L'aggiornamento delle librerie e` importante in quanto _ogni_
programma passa dalle libc, e se esse sono limitate, anche ogni
programma che ne fara` uso sara` limitato a sua volta.
|