Re: [Solaris_fr] Essai Solaris 9.7 sur DELL Power Edge 2650
> >Et Mike Riley est en train de faire la correction, avec des patches prevus >jusqu'a Solaris 8. Il peut etre interessant de le contacter pour savoir s'il >existe une pre-version du driver corrige: > > -- >This is bug 5042195. What version of Solaris are you using? If you are >using Solaris 9 I have an IDR that should solve the problem. A patch is >not yet available. J'ai eu aussi un retour du hcl-x86 qui m'indique que cela fonctionne en RAID avec le controleur RAID PERC (le seul essai que je n'avais pas fait) et en Solaris 10 B_72. J'ai lancé un début d'install jusqu'au partitionnement et c'est exact. -- Christian Pélissier Office National d'Études et de Recherches Aérospatiales BP 72 92322 Chatillon Tel: 33 1 46 73 44 19, Fax: 33 1 46 73 41 50 ___ Solaris_fr liste de diffusion en français pour Solaris, sur toutes architectures Solaris_fr@x86.sun.com http://x86.sun.com/mailman/listinfo/solaris_fr
Re: [Solaris_fr] Essai Solaris 9.7 sur DELL Power Edge 2650
Je m'auto répond car la liste ayant bloqué pendant 2 ou 3 jours j'ai pu avancer et cela peut aussi interesser d'autres personnes. Voila donc un peu de background pour résoudre en partie les bugs de fdisk ou format avec certains disques de grande capacité. Les disques sont accédés via un schéma appelé LBA (logical Block Adressing). Dans ce schéma on définit l'adresse des blocs via : cyl (nombre de cylindres) hd(nombre de têtes ou de surfaces) sect ( nombre de secteur par piste) cyl*hd*sect*512 représente la capacité totale du disque. Si au départ il y avait corrélation entre la réalité physique du disque cela n'est plus vrai aujourd'hui. Sous Solaris X86 la structure d'adressage est légèrement différente de celle de Solaris Sparc et cyl qui est sur 32 bits sur Sparc est encore sur 16 bits sur X86 (probablement à cause du BIOS qui traîne des vieilleries). Dans notre cas le disque 146 Gb était vu par format comme 23074 cyl alt 2 hd 4 sec 809 En effaçant la partition fdisk (une seule pour tout le disque) et en la recréant on avait : 88610 cyl alt 2 hd 4 sec 809 Une fois la géométrie écrite on lisait à nouveau 23074 cyl alt 2 hd 4 sec 809 (23074+2) * 4 * 809 = 36 Go au lieu des attendus (88610+2) * 4 * 809 = 146 Go On remarque que 88612-23076 = 65536 ce qui signifie donc que lorsque cyl dépasse 65535 il est vu modulo 65536. Comment résoudre ce PB. Diviser cyl par 2 et multiplier hd par 2 pour retomber sur le bon nombre de blocs est le plus simple . Soit ici cyl = 88612/2 = 44306 hd = 4 x 2 = 8 sect = 809 inchangé. Ce qu'il faut aussi comprendre c'est qu'il n'est pas utile de se racrocher à une caractéristique physique du disque d'une part et que ce mode d'adressage fait toujours perdre quelques secteurs. Méthode 2 - Si on regarde les caractéristiques constructeur du disque en question SEAGATE ST3146707LC Rev D701 on voit qu'il est donné pour : 146,8 Gb 286 789 488 blocs 90773 cylindres head 4 1 RPM qui n'est pas la géométrie vue par format. On peut néammoins partir de ces valeurs en remarquant que 90773 est la encore > 65535 et qu'il faut donc le diviser par 2. Les valeurs suivantes sont également valables Ce qui donnerait : cyl= 90773/2 = 45386,5 qu'on est obligé d'arrondir à l'inférieur cyl 45386 head 8 sec = 286 789 488 / ( 45386 x 8 ) = 789 Ce qui donne à cause du 1/2 cylindre une capacité adressable de 286476432 On peut jouer un peu comme on veut avec ces 3 valeurs et si on ne veut perdre aucun bloc il faut factoriser le nombre de blocs (il faut aussi le connaître) ce qui donne éventuellement une troisème méthode : # factor 286789488 286789488 2 2 2 2 3 47 127123 A partir de la factorisation trouver 3 nombres < 65536. On ne peut le faire que si le plus grand d'entre eux est aussi < 65536. Ici c'est donc impossible. Suite à ces manip j'ai pu créer une VTOC déclarant une partition Solaris de 136 Gb. Hélas je n'ai pas pu repartitionner (car on a retombe sur la limite) et de ce fait on ne peut utiliser que la partition c (2). Le disque est néammoins visible (newfs sur la partition 2) comme un 136 Go ce qui était le but recherché. PS. Les constructeurs annoncent la capacité disque en multiple de 1000 et non de 1024 il est donc normal de voir un disque 146,8 Go apparaitre comme 136,73 (en Go multiple de 1024) car les OS travaillent ainsi : # bc scale=2 286749488*512 146815737856 146815737856/1024^3 136.73 Extrait du fichier /usr/include/sys/dklabel.h. Je suppose que Solaris Intel est de type VTOC_16 ou les cylindres sont sur un entier de 16 bits. struct dk_label { #if defined(_SUNOS_VTOC_16) struct dk_vtoc dkl_vtoc; /* vtoc inclusions from AT&T SVr4 */ uint32_tdkl_pcyl; /* # of physical cylinders */ uint32_tdkl_ncyl; /* # of data cylinders */ uint16_tdkl_acyl; /* # of alternate cylinders */ uint16_tdkl_bcyl; /* cyl offset (for fixed head area) */ uint32_tdkl_nhead; /* # of heads */ uint32_tdkl_nsect; /* # of data sectors per track */ uint16_tdkl_intrlv; /* interleave factor */ uint16_tdkl_skew; /* skew factor */ uint16_tdkl_apc;/* alternates per cyl (SCSI only) */ uint16_tdkl_rpm;/* revolutions per minute */ uint16_tdkl_write_reinstruct; /* # sectors to skip, writes */ uint16_tdkl_read_reinstruct;/* # sectors to skip, reads */ uint16_tdkl_extra[4]; /* for compatible expansion */ chardkl_pad[LEN_DKL_PAD]; /* unused part of 512 bytes */ #elif defined(_SUNOS_VTOC_8) chardkl_asciilabel[LEN_DKL_ASCII]; /* for compatibility */ struct dk_vtoc dkl_vtoc; /* vtoc inclusions from AT&T SVr4 */ uint16_tdkl_write_reinstruct; /* # sectors to skip, writes */
Re: [Solaris_fr] Essai Solaris 9.7 sur DELL Power Edge 2650
On Fri, 7 Jan 2005, Christian Pelissier wrote: L'installation se passe mal car les disques 140 Go sont vus comme des disques de 36 Go. J'ai vu des posts recemments a ce sujet, c'est peut-etre un bug connu si le nombre de cylindres declares par le disque depasse 65535. Si j'ai bien suivi ce fil-la, je cite Casper Dik, de Sun. --- In [EMAIL PROTECTED], [EMAIL PROTECTED] wrote: > The issue is with some devices which report > 65536 cylinders; > other equally large devices are fine because they report fewer > cylinders and more heads and sectors/track. Et Mike Riley est en train de faire la correction, avec des patches prevus jusqu'a Solaris 8. Il peut etre interessant de le contacter pour savoir s'il existe une pre-version du driver corrige: -- This is bug 5042195. What version of Solaris are you using? If you are using Solaris 9 I have an IDR that should solve the problem. A patch is not yet available. -- Laurent -- A hundred thousand lemmings can't be wrong! ___ Solaris_fr liste de diffusion en français pour Solaris, sur toutes architectures Solaris_fr@x86.sun.com http://x86.sun.com/mailman/listinfo/solaris_fr
[Solaris_fr] Essai Solaris 9.7 sur DELL Power Edge 2650
Le Power Edge 2650 est un serveur DELL certifié par Sun pour Solaris 9 (une des 9 machines dans cette classe). Nous venons de recevoir un tel équipement pour faire tourner une BD Oracle en pensant le faire sous Solaris 9.7. L'installation se passe mal car les disques 140 Go sont vus comme des disques de 36 Go. Pour l'install nous avons commuté au niveau du BIOS du RAID vers le SSCI normal controleur AIC-7899. Au moment du formattage logique fdisk, cet utilitaire refuse de voir les disques avec leur capacité réelle et il faut se contenter de 36 Gb (soit 1/4). Une idée (patch, paramètre BIOS particulier) pour résoudre ou contourner ce problème ? Faut-il flasher le BIOS ou même le controleur pour que les disques soient vus correctement ? PS. Le prtconf -pv sur la machine certifiée fait apparaitre ceci : .. 0/0x11/0 1166,101 ServerWorks CIOB-X2 Class 0x6: Bridge/Host bridge 0/0x11/2 1166,101 ServerWorks CIOB-X2 Class 0x6: Bridge/Host bridge 1/0x8/0 9005,c0 (9005,f620) Adaptec AHA-3960D / AIC-7899A U160/m Class 0x1: Mass storage controller/SCSI storage controller 1/0x8/1 9005,c0 (9005,f620) Adaptec AHA-3960D / AIC-7899A U160/m Class 0x1: Mass storage controller/SCSI storage controller 2/0x6/0 8086,1008 (8086,1107) Intel Corp. 82544EI Gigabit Ethernet Controller (Copper) Class 0x2: Network controller/Ethernet controller 3/0x6/0 14e4,1645 (1028,121) Broadcom Corporation NetXtreme BCM5701 Gigabit Ethernet Class 0x2: Network controller/Ethernet controller 3/0x8/0 14e4,1645 (1028,121) Broadcom Corporation NetXtreme BCM5701 Gigabit Ethernet Class 0x2: Network controller/Ethernet controller 4/0x8/0 8086,309 Intel Corp. Class 0x60400: Bridge/PCI bridge 5/0x6/0 9005,cf (1028,121) Adaptec AIC-7899P U160/m Class 0x1: Mass storage controller/SCSI storage controller 5/0x6/1 9005,cf (1028,121) Adaptec AIC-7899P U160/m Class 0x1: Mass storage controller/SCSI storage controller -- Christian Pélissier Office National d'Études et de Recherches Aérospatiales BP 72 92322 Chatillon Tel: 33 1 46 73 44 19, Fax: 33 1 46 73 41 50 ___ Solaris_fr liste de diffusion en français pour Solaris, sur toutes architectures Solaris_fr@x86.sun.com http://x86.sun.com/mailman/listinfo/solaris_fr