-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-09-11 a las 08:45 +0200, Camaleón escribió:
El 10/09/07, Carlos E. R. escribió:
Pues iros preparando si teneis sistemas con discos de interfaz paralelo (pata) con más de 16 particiones, porque no podreis instalar la 10.3. La 10.3 puede que la arreglen, pero para las 10.4 no funcionará. Nos quedará usar la 10.3 pa' los restos :-/
En la lista inglesa ha salido el tema en varias ocasiones, pero no me queda claro lo siguiente:
1) ¿Afecta a todo tipo de dispositivos de almacenamiento? Discos duros fijos, memorias flash (usb, sd, mmc...).
Sí. Sí mientras usen nombres como sda, sdb, sdc...
2) ¿Afecta a todas las interfaces de conexión? S-ata, ide/pata, scsi, sas, fibra...
Sí. Sí porque se unifican todas las interfaces en la scsi.
3) ¿Cuál es el motivo técnico de esta limitación "ahora"?
Que unifican el acceso a todos los discos a través de la interfaz scsi, y ésta está definida en Linux para usar sólo 16 particiones y no es cambiable.
4) ¿Es a nivel de kernel (todos los kernel de la versión 2.6.x) es decir, todas las distribuciones Linux que utilicen ese kernel se verán afectadas?
Sí. A no ser que decidan mantener por su cuenta el código ide pata clásico.
5) ¿Qué pasará con los sistemas actuales con más de 16 particiones? ¿Imposible acceder a las particiones 17, 18...?
Exacto, imposible. Te jodes. :-/ La instalación de la 10.3 te saca una ventana diciendo que si continuas instalando esas particiones no serán visibles. Que puedes reparticionar tus discos con menos particiones, o usar LVM, que también supone reparticionar. O rebotar con la opción "hwprobe=-modules-pata" para seguir usando el módulo antiguo ide pata, por el momento. En la 10.4 lo quitarán del todo, y te quedas en bragas. Perdón por el lenguaje, pero tengo un mosqueo... El motivo de que scsi en linux sólo soporte 16 particiones es que el número "minor" de los devices es un byte. Es que alguien pensó en su día que 8 bits eran bastante. Si haces "ls -l /dev/hd?" ves: brw-r----- 1 root disk 3, 0 2007-09-10 15:29 /dev/hda brw-r----- 1 root disk 3, 64 2007-09-10 15:29 /dev/hdb brw-rw----+ 1 root disk 22, 0 2007-09-10 15:30 /dev/hdc brw-r----- 1 root disk 22, 64 2007-09-10 15:29 /dev/hdd ^^\ ^^\ minor major Si miras en /usr/src/linux/Documentation/devices.txt, ves que los discos hda, hdb, están definidos así: 3 block First MFM, RLL and IDE hard disk/CD-ROM interface 0 = /dev/hda Master: whole disk (or CD-ROM) 64 = /dev/hdb Slave: whole disk (or CD-ROM) For partitions, add to the whole disk device number: 0 = /dev/hd? Whole disk 1 = /dev/hd?1 First partition 2 = /dev/hd?2 Second partition ... 63 = /dev/hd?63 63rd partition For Linux/i386, partitions 1-4 are the primary partitions, and 5 and above are logical partitions. Other versions of Linux use partitioning schemes appropriate to their respective architectures. Comprobemos ahora hda* y hdb*: brw-r----- 1 root disk 3, 0 2007-09-10 15:29 /dev/hda brw-r----- 1 root disk 3, 1 2007-09-10 15:29 /dev/hda1 brw-r----- 1 root disk 3, 2 2007-09-10 15:29 /dev/hda2 brw-r----- 1 root disk 3, 5 2007-09-10 15:29 /dev/hda5 brw-r----- 1 root disk 3, 6 2007-09-10 15:29 /dev/hda6 brw-r----- 1 root disk 3, 7 2007-09-10 15:29 /dev/hda7 brw-r----- 1 root disk 3, 8 2007-09-10 15:29 /dev/hda8 brw-r----- 1 root disk 3, 9 2007-09-10 15:30 /dev/hda9 brw-r----- 1 root disk 3, 10 2007-09-10 15:30 /dev/hda10 brw-r----- 1 root disk 3, 11 2007-09-10 15:29 /dev/hda11 brw-r----- 1 root disk 3, 12 2007-09-10 15:30 /dev/hda12 brw-r----- 1 root disk 3, 13 2007-09-10 15:29 /dev/hda13 brw-r----- 1 root disk 3, 14 2007-09-10 15:29 /dev/hda14 brw-r----- 1 root disk 3, 15 2007-09-10 15:29 /dev/hda15 brw-r----- 1 root disk 3, 16 2007-09-10 15:30 /dev/hda16 brw-r----- 1 root disk 3, 17 2007-09-10 15:29 /dev/hda17 brw-r----- 1 root disk 3, 18 2007-09-10 15:30 /dev/hda18 brw-r----- 1 root disk 3, 19 2007-09-10 15:30 /dev/hda19 brw-r----- 1 root disk 3, 20 2007-09-10 15:29 /dev/hda20 brw-r----- 1 root disk 3, 64 2007-09-10 15:29 /dev/hdb brw-r----- 1 root disk 3, 65 2007-09-10 15:29 /dev/hdb1 brw-r----- 1 root disk 3, 66 2007-09-10 15:29 /dev/hdb2 brw-r----- 1 root disk 3, 67 2007-09-10 15:29 /dev/hdb3 brw-r----- 1 root disk 3, 69 2007-09-10 15:29 /dev/hdb5 brw-r----- 1 root disk 3, 70 2007-09-10 15:30 /dev/hdb6 brw-r----- 1 root disk 3, 71 2007-09-10 15:29 /dev/hdb7 brw-r----- 1 root disk 3, 72 2007-09-10 15:29 /dev/hdb8 brw-r----- 1 root disk 3, 73 2007-09-10 15:29 /dev/hdb9 brw-r----- 1 root disk 3, 74 2007-09-10 15:29 /dev/hdb10 brw-r----- 1 root disk 3, 75 2007-09-10 15:29 /dev/hdb11 brw-r----- 1 root disk 3, 76 2007-09-10 15:30 /dev/hdb12 brw-r----- 1 root disk 3, 77 2007-09-10 15:29 /dev/hdb13 O sea, los minor del 0 al 63 son el hda y del 64 al 126 son la hdb. Eso es porque han divido el byte del minor en dos partes: dos bits para el disco (¡o uno!), y seis para la partición. Y me falta contabilizar un bit, la cosa no encaja del todo. Como no sea para distinguir dispositivos de caracter o de bloque :-? Luego el hdc y hdd hacen lo mismo, pero con el major 22; el 33 para hde, hdf... etc. Ese es el motivo de que los discos ide clásicos tuvieran 64 particiones máximo en linux. Es una limitación arbitraria por diseño, no porque los discos duros tengan esa limitación realmente. ¿Y los scsi? Pues tienen menos bits para las particiones, 4 solamente. Veamos la definición: 8 block SCSI disk devices (0-15) 0 = /dev/sda First SCSI disk whole disk 16 = /dev/sdb Second SCSI disk whole disk 32 = /dev/sdc Third SCSI disk whole disk ... 240 = /dev/sdp Sixteenth SCSI disk whole disk Partitions are handled in the same way as for IDE disks (see major number 3) except that the limit on partitions is 15. Hay más dispositivos con un mismo major (16 en vez de 2), pero sólo 16 particiones. Reservan 4 bits para cada cosa. ¿Comprendes la cosa? Alguien decidió que con 8 bits para el minor eran bastante, como alguien decidió en su dia que un mega era bastante memoria. Ahora, lo más sangrante es que ese límite en el minor ya no existe, según me han dicho en la contestación del bugzilla. Hace años que lo cambiaron a un word. Falta que la gente del kernel o quien sea se ponga las pilas y cambie la definición del scsi, y dejen de jorobarnos con limitaciones absurdas: ] Since the limit for minor device numbers to be only up to 255 is gone ] since years, it would not be a problem to support more than 15 ] partitions on any SCSI disk. This could even be compatible to current ] major/minor layout of SCSI disk. Just use current minor number for ] partitions up to 15 as is and use minor numbers above 255 for partition ] numbers above 15. ] ] But as long as this is not done in the kernel there is not much userland ] can do to work around this. The plan to use kpartx to create DM maps ] instead of kernel partitions create IMHO more problems than it solves. No es el único problema que tiene scsi... A más de uno le pasará ahora que de repente todos los discos se le pongan en sólo lectura y tendrá que resetear el sistema. Pero eso, eso es otra historia. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFG5nVQtTMYHG2NR9URAnCvAKCCSubfJktpYTeuDT/u4inHspZflACfUyql jJ8kLEmlgzWfE8bviREvNj8= =96y6 -----END PGP SIGNATURE-----