Particións en Linux mini-HOWTO Kristan Koehntopp, kris@koehntopp.de v2.4, 3 de Novembro de 1997 Manuel A. Fernández Montecelo, creque@futura.interbook.net Traducción ao galego, 5 de Novembro de 1999 _________________________________________________________________ Este mini-HOWTO de Linux ensínache a planificar e dispoñer o espacio no disco para o teu sistema GNU/Linux. Fala sobre hardware de disco, particións, consideracións sobre o tamaño e posición do espacio de intercambio (swap), sistemas de ficheiros, tipos de sistemas de ficheiros e temas relacionados. Téntanse ensinar bases de coñecemento, non procedementos. _________________________________________________________________ 1. Introducción * 1.1 ¿Que é isto? * 1.2 ¿Que hai nisto? e documentos HOWTO relacionados 2. ¿Que é unha partición? * 2.1 As copias de seguridade son importantes * 2.2 Números e nomes de dispositivos 3. ¿Que particións necesito? * 3.1 ¿Cantas particións necesito? * 3.2 ¿Como debe ser o meu espacio de intercambio de grande? * 3.3 ¿Onde debo poñer o meu espacio de intercambio? * 3.4 Algunhas afirmacións sobre sistemas de ficheiros e fragmentación * 3.5 Tempos de vida de ficheiros e ciclos de copias de seguridade como criterio para facer particións 4. Un exemplo * 4.1 Un modelo recomendado para principiantes ambiciosos 5. Cómo o fixen na miña máquina 6. O grupo GzLiNuX _________________________________________________________________ 1. Introducción 1.1 ¿Que é isto? Isto é un mini-HOWTO de Linux. Un mini-HOWTO é un texto pequeno que explica algúns asunto relacionados coa instalación de GNU/Linux ao estilo dun tutorial de mantemento. É mini, porque o texto ou o tema que trata son demasiado pequenos para un HOWTO real ou incluso un libro. Un HOWTO non é unha referencia: iso é para o que son as páxinas do manual. 1.2 ¿Que hai nisto? e documentos HOWTO relacionados Este mini-HOWTO en particular ensínache a planificar e dispoñer o espacio no disco para o teu sistema GNU/Linux. Fala sobre hardware de disco, particións, consideracións sobre o tamaño e posición do espacio de intercambio (swap), sistemas de ficheiros, tipos de sistemas de ficheiros e temas relacionados. Téntanse ensinar bases de coñecemento, así que estamos a falar sobre todo de principios e non de ferramentas neste texto. O ideal sería que este documento se lese antes da primeira instalación, pero isto é difícil para a maioría da xente por unha ou outra razón. Os da primeira vez tamén teñen outros problemas distintos da optimización da disposición do disco. Así que ti probablemente es un que acaba de finalizar a instalación de Linux e agora estás pensando en formas de optimizar esta instalación ou como evitar outros fedorentos erros de cálculo na próxima. Ben, conta con ter algún desexo de rachar con todo e reconstruír a túa instalación cando remates con este texto :) Este mini-HOWTO limítase a planificar e dispoñer o espacio no disco a maior parte do tempo. Non trata o uso de fdisk, LILO, mke2fs ou programas de copia de seguridade. Hai outros HOWTOs que se refiren a eses problemas. Por favor mira o "Linux HOWTO Index" para información actual sobre os HOWTOs de Linux. Tamén hai instruccións para obter os documentos HOWTO nese índice. Para saber cómo estimar os varios tamaños e requerimentos de velocidade para as diferentes partes do sistema de ficheiros mira o "Linux Multiple Disks Layout mini-HOWTO", por Gjoen Stein gjoen@nyx.net. Para instruccións e consideracións con respecto a discos con máis de 1024 cilindros, mira o "Linux Large Disk mini-HOWTO", Andries Brouwer aeb@cwi.nl. Para instruccións sobre limitar o uso de espacio do disco por usuario (cuotas -quotas-), mira o "Linux Quota mini-HOWTO", por Albert M.C. Tam bertie@scn.org Na actualidade non hai un documento xeral sobre copias de seguridade do disco, pero hai varios documentos apuntando ás solucións específicas de copias de seguridade. Mira o "Linux ADSM Backup mini-HOWTO", por Thomas Koenig Thomas.Koenig@ciw.uni-karlsruhe.de para instruccións sobre integrar Linux nun medio de copia de seguridade ADSM de IBM. Mira o "Linux Backup with MSDOS mini-HOWTO", por Christopher Neufeld neufeld@physics.utoronto.ca para información sobre copias de seguridade de Linux controladas por MS-DOS. Para instruccións sobre a escritura e envío dun documento HOWTO mira o "Linux HOWTO Index", por Tim Bynum linux-howto@sunsite.unc.edu (NdT: agora linux-howto@metalab.unc.edu). Explorar por /usr/src/linux/Documentation tamén pode ser moi instructivo. Mira ide.txt e scsi.txt para información de base nas propiedades dos teus controladores de disco e bota unha ollada no subdirectorio filesystems/. _________________________________________________________________ 2. ¿Que é unha partición? Cando se inventaron os discos duros para PC a xente pronto quixo instalar múltiples sistemas operativos, incluso se o seu sistema só tiña un disco. Así que se necesitaba un mecanismo para dividir un único disco físico en múltiples discos lóxicos. Iso é o que é unha partición: unha sección contigua de bloques no teu disco duro tratada como un disco completamente separado pola maioría dos sistemas. Está bastante claro que as particións non se deben solapar: un sistema operativo non estaría de seguro contento se outro sistema instalado na mesma máquina estivera sobreescribindo información importante por causa da solapación de particións. Tampouco debe haber ocos entre particións contiguas. Se ben isto non é perxudicial, estás desperdiciando un preciado espacio no disco deixando espacio entre particións. Non se ten por qué facer particións no disco completo. Podes decidir deixar algún espacio ao final do disco que non estea asignado a ningún dos teus sistemas operativos, aínda. Máis tarde, cando teñas claro qué instalación usas a maior parte do tempo, podes facer unha partición nese espacio que deixaches e poñer un sistema de ficheiros nel. As partición non se poden mover nin cambiar de tamaño sen destruír o sistema de ficheiros que conteñen. Así reparticionar normalmente inclúe facer copias de seguridade e restaurar todos os sistemas de ficheiros que se cambiaron durante a repartición. De feito é bastante común liar as cousas durante a repartición, así que debes de facer copias de todo en calquera disco da máquina en particular antes incluso de tocar cousas como fdisk. Ben, algunhas particións con certos tipos de sistemas de ficheiros nelas realmente poden dividirse en dúas sen perder ningún dato (se tes sorte). Por exemplo hai un programa chamado fips para dividir as particións de MS-DOS en dúas para facer sitio para unha instalación de Linux sen ter que reinstalar MS-DOS. Non vaias tocar estas cousas sen facer coidadosamente unha copia de seguridade a todo na túa máquina, ¿eh? 2.1 As copias de seguridade son importantes As cintas son as túas amigas para as copias de seguridade. Son rápidas, de fiar e fáciles de usar, así que podes facer copias de seguridade a miúdo, preferiblemente de xeito automático e sen molestias. Aclaración (NdT: traducción libre de "Step on soapbox"): E estou a falar de cintas reais, non desas cintas controladas por controladores de disco (disk controller driven ftape crap). Pensa en mercar SCSI: Linux suporta SCSI nativamente. Non necesitas cargar controladores ASPI, non perdes o precioso HMA baixo Linux e unha vez que está instalada a adaptadora SCSI, tan só engades discos, cintas e CD-ROMs adicionais a ela. Non máis direccións de E/S (Entrada/Saída, I/O), malabarismos con IRQ ou correspondencias Mestre/Esclavo e a nivel PIO (Master/Slave and PIO-level matching). Máis: os adaptadores SCSI axeitados danche un alto rendemento E/S sen moita carga da CPU. Incluso baixo forte actividade do disco experimentarás bos tempos de resposta. Se estás pensando en usar un sistema Linux como servidor de novas de USENET ou en entrar no negocio dos PSIs (ISPs, Proveedores de servicios de Internet), non penses sequera en desplegar un sistema sen SCSI. Fin da aclaración (NdT: traducción libre de "Climb of soapbox"). 2.2 Números e nomes de dispositivos O número de particións nun sistema baseado en Intel foi limitado desde moi ao principio: A táboa de particións orixinal instalábase como parte do sector de arranque e tiña espacio só para catro entradas de particións. Esas particións chámanse agora particións primarias. Cando quedou claro que a xente necesitaba máis particións inventáronse as particións lóxicas. O número de particións lóxicas é ilimitado: cada partición lóxica contén un punteiro para a seguinte partición lóxica, así que potencialmente podes ter unha cadea ilimitada de entradas de particións. Por motivos de compatibilidade, ten que informarse do espacio ocupado por todas as particións lóxicas. Se estás usando particións lóxicas, unha entrada de partición primaria márcase como "partición extendida" e os seus bloques inicial e final marcan a área ocupada polas túas particións lóxicas. Isto implica que o espacio asignado a todas as particións lóxicas ten que ser contiguo. Só pode haber unha partición extendida: ningún programa fdisk creará máis dunha partición extendida. Linux non pode manexar máis dun número limitado de particións por controlador. Así que en Linux tes 4 particións primarias (3 delas usables se usas particións lóxicas) e un máximo de 15 particións en total nun disco SCSI (63 en total nun disco IDE). En Linux, as particións represéntase por ficheiros de dispositivo. Un ficheiro de dispositivo é un ficheiro de tipo "c" (para dispositivos de "caracter", dispositivos que non usan o caché de buffer -NdT: "buffer" significa "amortiguador", e como non se usa este termo na nosa lingua neste senso pois déixoo como "buffer"-) ou "b" (para dispositivos de "bloque", que funcionan a través de caché de buffer). En Linux, todos os discos represéntanse só como dispositivos de bloque. Ao contrario que noutros UNIX, Linux non oferta versións de caracter "bruto" ("raw" significa sen procesar, materia prima, bruto) dos discos e as súas particións. A única cousa importante dun ficheiro de dispositivo son os seus números de dispositivo principal e secundario, mostrados no lugar do tamaño dos ficheiros: $ ls -l /dev/hda brw-rw---- 1 root disk 3,0 Jul 18 1994 /dev/hda ^ ^ | número secundario de dispositivo número principal de dispositivo Cando se accede a un ficheiro de dispositivo, o número principal elixe o controlador de dispositivo que se chamará para efectuar a operación de entrada/saída. Esta chamada faise co número secundario como parámetro e é só cousa do controlador cómo interpretar o número secundario. A documentación do controlador normalmente explica cómo utiliza os números secundarios. Para discos IDE, esta documentación está en /usr/src/linux/Documentation/ide.txt. Para discos SCSI, un agarda que esa documentación estea en /usr/src/linux/Documentation/scsi.txt, mais non está aí. Tes que mirar nas fontes do controlador para asegurarte (/usr/src/linux/driver/scsi/sd.c:184-196). Afortunadamenre, hai a lista de números e nomes de dispositivos de Peter Anvin en /usr/src/linux/Documentation/devices.txt; mira as entradas para dispositivos de bloque principal 3, 22, 33 e 34 para IDE e principal 8 para discos SCSI. Os números principal e secundario son dun byte cada un e por iso é limitado o número de particións por disco. Por convenio os ficheiros de dispositivo teñen certos nomes e moitos programas do sistema coñecen eses nomes por estaren compilados nel. Esperan que os teus discos IDE se chamen /dev/hd* e os SCSI /dev/sd*. Os discos numéranse por a, b, c e así, así que /dev/hda é o teu primeiro disco IDE e /dev/sda o primeiro SCSI. Ambos dispositivos representan discos enteiros, comezando no bloque un. Escribir estes dispositibos coas ferramentas equivocadas destruirá o cargador de arranque mestre e a táboa de particións neses discos, interpretando todos os datos deste disco como non usables ou facendo inarrancable o teu sistema. Mira ben o que fas e, de novo, fai unha copia de seguridade antes de facelo. As particións primarias nun disco son 1, 2, 3 e 4, así que /dev/hda1 é a primeira partición primaria no primeiro disco IDE e así o resto. As particións lóxicas teñen do número 5 parra arriba, así que /dev/sdb5 é a primeira partición lóxica no segundo disco SCSI. Cada entrada de partición ten asignado un enderezo de bloque de inicio e de fin e un tipo. O tipo é un código numérico (un byte) que designa unha partición en particular a un determinado tipo de sistema operativo (NdT: ou mellor dito, a un determinado tipo de sistema de ficheiros). Para beneficio de asesores de computadores os códigos do tipo de partición non son únicos, así que sempre hai probabilidades de que dous sistemas operativos (NdT: de novo, sistemas de ficheiros) usen o mesmo código. Linux reserva o código 0x82 para particións de intercambio (swap) e 0x83 para sistemas de ficheiros "nativos" (iso é ext2 para a maioría de vós). O unha vez popular e agora desfasado sistema de ficheiros Linux/Minix usaba o código 0x81 para particións. OS/2 marca as súas particións co tipo 0x07 e tamén o NTFS do Windows NT. MS-DOS aloxa varios códigos para os distintos tipos do sistema de ficheiros FAT: 0x01, 0x04 e 0x06. DR-DOS usaba 0x81 para indicar particións FAT protexidas, creando un enfrontamento de tipos co Linux/Minix no seu tempo, pero nin Linux/Minix nin DR-DOS serán de uso extendido nunca máis. Por certo, a partición extendida usada para conter as particións lóxicas ten o tipo 0x05. As particións créanse e elimínanse co programa fdisk. Cada sistema operativo vén co seu respectivo programa fdisk e tradicionalmente incluso se chama fdisk (ou FDISK.EXE) en case todos os SOs. Algúns fdisks, sobre todo o do DOS, son dalgún xeito limitados cando teñen que tratar coas particións doutros sistemas operativos. Esas limitacións inclúen a completa incapacidade de tratar con calqera cousa cun código de tipo alleo, a incapacidade de tratar con números de cilindros sobre 1024 e a incapacidade de crear ou incluso entender particións que non rematan nun límite de cilindro. Por exemplo, o fdisk de MS-DOS non pode eliminar particións NTFS, sábese que o fdisk de OS/2 "corrixe" sixilosamente particións creadas co fdisk de Linux que non rematan nun límite de cilindro, e ámbolos fdisk de MS-DOS e OS/2 teñen problemas con discos de máis de 1024 cilindros (ver o mini-HOWTO sobre discos grandes -NdT: Large-Disks mini-HOWTO é o nome exacto- para detalles sobre eses discos). _________________________________________________________________ 3. ¿Que particións necesito? 3.1 ¿Cantas particións necesito? Moi ben, así que ¿cantas particións necesitas? Ben, algúns sistemas operativos non cren en arrancar desde particións lóxicas por motivos que van máis aló do alcande de calquera mente sana. Así que ti probablemente quererás reservar as particións primarias como particións de arranque para MS-DOS, OS/2 e Linux ou calquera que esteas usando. Lembra que se necesita unha partición primaria como partición extendida que fai de contedora para o resto do teu disco con particións lóxicas. Arrancar SOs é unha cousa real que implica a BIOS e as limitacións de 1024 cilindros, así que seguramente quererás poñer todas as túas particións de arranque nos primeiros 1024 cilindros do teu disco duro, para evitar problemas. De novo, le o Large-Disks mini-HOWTO para máis detalles. Para instalar Linux necesitarás polo menos unha partición. Se o kernel se carga desde esta partición (por exemplo por LILO), esta partición debe poder lela a BIOS. Se estás usando outros medios para cargar o kernel (por exemplo un disco de inicio ou o cargador de Linux LOADLIN.EXE baseado en MS-DOS) a partición pode estar en calquera sitio. Neste caso esta partición será do tipo 0x83 "Linux native". O teu sistema necesitará algún espacio de intercambio (swap). A non ser que intercambies con ficheiros necesitarás unha partición de intercambio adicada. Como a esta partición só accede o kernel de Linux e este non adoece das deficiencias das BIOS do PC, a partición de intercambio pode estar en calquera lado. Recomendo usar unha partición lóxica para ela (/dev/?d?5 e para arriba). As particións de intercambio de Linux adicadas son do tipo 0x82 "Linux swap". Estes son requisitos mínimos. Pode ser útil crear máis particións para Linux. Sigue lendo. 3.2 ¿Como debe ser o meu espacio de intercambio de grande? Se decides usar unha partición de intercambio (swap) adicada, que polo xeral é unha Boa Idea [tm] (NdT: esta é unha coña do autor, "Good Idea [tm]", Boa Idea [marca rexistrada]), sigue estes principios xerais para estimar o seu tamaño: * En Linux RAM e espacio de intercambio súmanse (Isto non é certo para todos os UNIX). Por exemplo, se tes 8 MB de RAM e 12 MB de espacio de intercambio, tes un total duns 20 MB de memoria virtual. * Cando asignes tamaño ao espacio de intercambio, deberás ter polo menos 16 MB de memoria virtual en total; así que para 4 MB de RAM pensa en polo menos 12 MB de intercambio, para 8 MB de RAM pensa en polo menos 8 MB. * En Linux, unha única partición de intercambio non pode ser máis grande de 128 MB. Isto é, a partición pode ser máis grande de 128 MB, pero o espacio sobrante nunca será usado. Se queres máis de 128 MB, tes que crear máis dunha partición de intercambio. * Cando asignes tamaño ao espacio de intercambio, ten en conta que demasiado espacio de intercambio non será útil de todo. Cada proceso ten un "entorno de traballo" ("working set"). Este é un conxunto de páxinas en memoria ás que se referirá o procesador nun futuro moi próximo. Linux tenta predicir estes accesos á memoria (asumindo que páxinas usadas recentemente voltarán a ser usadas moi pronto) e mantén esas páxinas na RAM se é posible. Se o programa ten unha boa localidade de referencia ("locality of reference") esta suposición será certa e o algoritmo de predicción funcionará. Só se pode manter o entorno de traballo na memoria principal cando hai a suficiente memoria principal. Se tes demasiados procesos traballando nunha máquina, forzas ao kernel a poñer as páxinas ás que fará referencia moi pronto no disco (forzando a saída de páxina dunha páxina doutro entorno de traballo e logo unha entrada de páxina da páxina á que fai referencia). Normalmente isto acaba nun incremento moi forte na actividade de paxinamento e nunha substancial caída do rendemento. Neste estado dise que unha máquina está "¿emborcallándose?" ("thrashing") e non "¿lixándose?" ("trashing") (NdT: non traduzo unhas aclaracións feitas para lectores alemáns). Nunha máquina "emborcallándose" esencialmente os procesos estan executándose desde o disco e non desde a RAM. Espera do rendemento que baixe aproximadamente a razón entre a velocidade de acceso á memoria e a velocidade de acceso ao disco. Unha medida a ollo moi vella, da era do PDP e do Vax era que o tamaño do entorno de traballo dun programa é de arredor dun 25% do seu tamaño virtual. Deste xeito é probablemente unha tontería proporcionar máis espacio de intercambio ca tres veces a RAM. Pero ten en conta que isto só é unha medida a ollo. É facilmente posible crear escenarios onde onde os programas teñan uns entornos de traballo extremadamente grandes ou pequenos. Por exemplo, un programa de simulación cun grande conxunto de datos aos que se accede dun xeito moi aleatorio terán unha localidade de referencia no seu segmento de datos casi imperceptible, así que o seu entorno de traballo será bastante grande. Por outra banda, un xv con varios JPEGs abertos simultaneamente, todos iconificados agás un, terá un segmento de datos moi grande; pero todas as tranformacións de imaxes se fan nunha única imaxe, a maioría da memoria ocupada polo xv nunca se toca. Isto mesmo tamén é certo para un editor con moitas fiestras abertas e onde só se está a editar unha á vez. Estes programas teñen -se están deseñados apropiadamente- unha localidade de referencia moi precisa e grandes partes deles poden manterse intercambiadas no disco (swapped out) sen demasiado impacto no rendemento. Un sospeita que o 25% dos números da época (NdT: o autor refírese ás estatísticas que escribiu por aquí arriba) da liña de comandos non se cumpre para os modernos programas GUI (Interfaz Gráfica de Usuario) editando múltiples documentos, pero non teño noticia de novos papeis tentando verificar estes números. Así que para unha configuración con 16 MB de RAM, non se necesita espacio de intercambio nunha configuración mínima, e máis de 48 MB é probablemente un desperdicio. A cantidade exacta de memoria que necesitas depende da mistura de aplicacións na máquina (¿canto calculas ti?). 3.3 ¿Onde debo poñer o meu espacio de intercambio? * A mecánica é lenta, a electrónica é rápida. Os discos duros modernos teñen moitas cabezas. Moverse entre cabezas da mesma pista é rápido, porque é pura electrónica. Moverse entre pistas é lento, porque implica o problema de moverse no mundo real. Así que se tes un disco con moitas cabezas e outro con menos e son os dous idénticos nos outros parámetros, o disco con máis cabezas será máis rápido. Sen embargo, dividir o espacio de intercambio e poñelo nos dous discos será incluso máis rápido. * Os discos vellos teñen o mesmo número de sectores en todas as pistas. Con estes discos será máis rápido poñer o espacio de intercambio no medio do disco, supoñendo que a cabeza do disco se mova dunha pista aleatoria cara a área de intercambio. * Os discos máis novos usan ZBR (zone bit recording, zona de grabación de bit). Estes teñen máis sectores nas pistas exteriores. Cun número constante de rpms (revolucións por minuto), isto produce un rendemento moito máis grande nas pistas exteriores que nas interiores. Pon o espacio de intercambio nas pistas máis rápidas. * Por suposto, a cabeza do disco non se moverá aleatoriamente. Se tes o espacio de intercambio no medio dun disco entre unha partición "home" constantemente ocupada e unha partición de ficheiros case sen usar, farás mellor poñendo a área de intercambio no medio da partición "home" para que os movementos da cabeza sexa aínda máis pequeno. Sen embargo, sería aínda mellor que puxeses a área de intercambio en calquera outro disco sen usar. Resumo: Pon o a partición de intercambio nun disco rápido con moitas cabezas que non está ocupado facendo outras cousas. Se tes máis dun disco: divide o espacio de intercambio e dispérsao por todos os teus discos ou incluso deferentes controladores. Incluso mellor: Compra máis RAM. 3.4 Algunhas afirmacións sobre sistemas de ficheiros e fragmentación O sistema operativo administra o espacio no disco en unidades de bloque e fragmentos de bloque. En ext2, fragmentos e bloque teñen o mesmo tamaño, así que podemos limitar a discusión a bloques. Os ficheiros son de calquera tamaño, non rematan nos límites de bloque. Así, con cada ficheiro, desperdíciase unha parte do seu último bloque. Supoñendo que os tamaños dos ficheiros son aleatorios, desperdíciase aproximadamente medio bloque por cada ficheiro no disco. Tanebaum chama a isto "fragmentación interna" no seu libro "Sistemas Operativos". Podes saber o número de ficheiros que hai no teu disco polo número de inodos aloxados no disco. No meu # df -i Filesystem Inodes IUsed IFree %IUsed Mounted on /dev/hda3 64256 12234 52022 19% / /dev/hda5 96000 43058 52942 45% /var hai uns 12000 ficheiros en / e outros 44000 en /var. Cun tamaño de bloque de 1 KB, pérdense sobre 6 + 22 = 28 MB de espacio no disco nos bloques da cola dos ficheiros. Se escollín un tamaño de bloque de 4 KB, perdín 4 veces ese espacio. Sen embargo a transferencia de datos é máis rápida para grandes cachos continuos de datos. Iso é o motivo polo que ext2 tenta reservar espacio en unidades de 8 bloques contiguos para ficheiros crecentes. A reserva non usada libérase cando se pecha o ficheiro, así que non se perde ningún espacio. O emprazamento dun ficheiro en bloques non contiguos é malo para o rendemento, porque polo xeral accédese ao ficheiro dun xeito secuencial. Iso forza ao sisteta operativo a repartir o acceso ao disco e o disco para mover a cabeza. Isto chámase "fragmentación externa" ou simplemente "fragmentación" e é un problema común nos sistemas de ficheiros DOS. ext2 sigue varias estratexias para evitar a fragmentación externa. Normalmente a fragmentación non é un grande problema en ext2, incluso en particións usadas excesivamente como un contedor (spool) de novas de USENET. Se ben hai unha ferramenta para defragmentar sistemas de ficheiros ext2, ninguén a usa e incluso non está ao día con respecto á versión actual de ext2. Podes usalo, pero faino baixo a túa propia responsabilidade. O sistema de ficheiros de MS-DOS é ben coñecido pola súa patolóxica administración do espacio no disco. Conxuntamente co abismal caché de buffer que usa MS-DOS os efectos da fragmentación de ficheiros son moi evidentes no rendemento. Os usuarios de DOS están afeitos a defragmentar os discos cada poucas semanas e algúns xa adquiririon algunhas crenzas rituais con respecto á defragmentación. Ningún deses hábitos debe trasladarse a Linux e ext2. Os sistemas de ficheiros nativos de Linux non necesitan defragmentación se se lles dá un uso normal e isto inclúe en calquera condición con polo menos o 5% de espacio libre no disco. Tamén é ben coñecido que o sistema de ficheiros de MS-DOS perde grandes cantidades de espacio no disco debido á fragmentación interna. Para particións máis grandes ca 256 MB, os tamaños de bloque medran tanto que non son útiles (isto correxiuse ata certo punto con FAT32). ext2 non te forza a escoller grandes bloques para grandes sistemas de ficheiros, agás para os moi grandes do rango de 0.5 TB (iso é TeraBytes, con 1 TB = 1024 GB) para arriba, onde bloques de tamaño pequeno son pouco eficientes. Así que ao contrario que no DOS non hai necesidade de repartir grandes discos en múltiples particións para manter un tamaño de bloque baixo. Usa o tamaño de bloque por defecto de 1 KB se é posible. Quizais queiras experimentar con tamaños de 2 KB para algunhas particións, pero conta con atoparte con algúns fallos rara vez experimentados: a maioría da xente usa o tamaño por defecto. 3.5 Tempos de vida de ficheiros e ciclos de copias de seguridade como criterio para facer particións Con ext2, as decisións de facer particións deben de determinarse por consideracións de copias de seguridade e para evitar a fragmentación externa por motivos de diferentes tempos de vida dos ficheiros. Os ficheiros teñen tempos de vida. Despois de crear un ficheiro, permanecerá algún tempo no sistema anter de ser eliminado. Os tempos de vida dos ficheiros varían moito en todo o sistema, e en parte dependen do nome de ruta (pathname) do ficheiro. Por exemplo os ficheiros en /bin, /sbin, /usr/sbin, /usr/bin e directorios similares presumen ter unha longa vida: moitos meses e incluso máis. Os ficheiros de /home terán unha vida media: varias semanas ou así. O ficheiro de /var normalmente terá unha vida curta: casi ningún de /var/spool/news permanecerá máis duns poucos días, e os de /var/spool/lpd minutos ou menos. Para copias de seguridade é útil que o tamaño da copia diaria caiba nun único medio. Unha copia diaria pode ser completa ou incremental. Podes decidir manter o tamaño da partición o suficientemente pequeno como para que caiba por completo nun medio de copia (escolle copias diarias completas). En calquera caso a partición debe ser o suficientemente pequena como para que a súa delta diaria (todos os ficheiros modificados -NdT: o autor refírese con delta a unha copia de seguridade incremental: facer só copia dos ficheiros modificados desde a última copia de seguridade completa-) caiba nun medio de copia de seguridade (escolle unha copia incremental e conta con cambiar o medio da copia para un volcado completo cada semana ou mes -operación que non se pode deixar de facer-). A estratexia da copia de seguridade depende desa decisión. ¡Cando planifiques e merques espacio de disco, lembra reservar o suficiente diñeiro para copias de seguridade! ¡Os datos sen copia de seguridade non valen nada! ¡Os costes de reproducción dos datos son moito máis grandes que os costes en copias de seguridade para virtualmente todo o mundo! Por cuestións de rendemento é útil manter os ficheiros con diferentes tempos de vida en particións diferentes. Deste xeito os ficheiros de curta vida na partición de novas poden estar vastamente fragmentados. Isto non ten impacto no rendemento da partición / ou /home. _________________________________________________________________ 4. Un exemplo 4.1 Un modelo recomendado para principiantes ambiciosos Un modelo común é crear particións /, /home e /var como se explicou antes. Isto é simplemente instalar, manter e distinguir o suficientemente ben para evitar os efectos adversos dos diferentes tempos de vida. Tamén encaixa no modelo da copia de seguridade: case ninguén se molesta en facer copias de seguridade das noticias de USENET e só paga a pena facer copias de seguridade dalgúns ficheiros de /var (vénseme á mente /var/spool/mail). Por outra parte, / case nunca cambia e poden facerse copias de seguridade baixo demanda (despois de cambios de configuración) e é o suficientemente pequena como para caber nos máis modernos medios de copia de seguridade nunha copia completa (de 250 a 500 MB dependendo da cantidade de software instalado). /home contén datos de usuario valiosos e debería de facerse unha copia diaria. Algunhas instalacións teñen /homes moi grandes e debe usarse o modo incremental. Algúns sistemas poñen tamén /tmp nunha partición separada, outras cun enlace simbólico a /var/tmp para conseguir o mesmo efecto (ten en conta que isto pode afectar ao modo de usuario único, onde /var pode non estar dispoñible e o sistema non terá /tmp ata que a crees ou montes /var manualmente) ou póñena nun disco de RAM (Solaris por exemplo fai isto). Isto mantén a /tmp fóra de /, que é unha boa idea. Este modelo tamén convén para actualizacións ou reinstalacións: salva os teus ficheiros de configuración (ou o /etc enteiro) a algún directorio de /home, desfaite do teu /, reinstala e vai a buscar as vellas configuracións ao directorio gardado en /home. _________________________________________________________________ 5. Cómo o fixen na miña máquina Había este vello 386/40 con bus ISA parado na miña estantería que abandonei dous anos atrás porque non o usaría máis. Estiven planeando poñelo como un pequeno servidor sen X para a miña LAN (Local Area Network, rede de área local) caseira. Velaí o que fixen: collín ese 386 e púxenlle 16 MB de RAM. Metín un disco EIDE barato, o máis pequeno que puiden atopar (800 MB) e unha tarxeta ethernet. Engadín unha vella Hercules porque aínda tiña un monitor para ela. Instalei Linux nel e aí teño o meu servidor local NFS, SMB, HTTP, LPD/LPR e NNTP así como o meu enrutador de correo e servidor POP3. Cunha tarxeta adicional ISDN a máquina tamén se converteu no meu enrutador de TCP/IP e cortalumes. A maior parte do espacio do disco nesta máquina foi para os directorios de /var, /var/spool/mail, /var/spool/news e /var/httpd/html. Puxen /var nunha partición separada a fíxena grande. Non van haber case usuarios nesta máquina , así que non creei unha partición home e montei /home desde outra estación de traballo vía NFS. Linux sen X máis varias utilidades instaladas localmente estarán ben nunha partición / de 250 MB. A máquina ten 16 MB de RAM, pero estará executando varios servidores. 16 MB de intercambio (swap) estaría ben, con 32 MB estaría completo. Non nos falta espacio no disco, así que terá 32 MB. Manteño unha partición de MS-DOS de 20 MB por sentimentalismo. Decidín importar /home doutra máquina, así que os restantes 500+ MB acabarán en /var. Isto é máis que suficiente para alimentar noticias USENET caseiras. Temos Dispositivo Montado en Tamaño /dev/hda1 /dos_c 25 MB /dev/hda2 - (espacio de intercambio) 32 MB /dev/hda3 / 250 MB /dev/hda4 - (contedor extendido) 500 MB /dev/hda5 /var 500 MB homeserver:/home /home 1.6 GB Estou facendo unha copia de seguridade desta máquina vía rede usando a cinta en homeserver. Como todo o desta máquina foi instalado desde un CD-ROM todo o que teño que salvar son algúns ficheiros de configuración de /etc, os meus ficheiros *.tgz acostumados instalados localmente de /root/Source/Installed e /var/spool/mail así como /var/httpd/html. Copio estes ficheiros nun directorio adicado /home/backmeup en homeserver cada noite, onde a copia de seguridade regular de homeserver os colle. _________________________________________________________________ 6. O grupo GzLiNuX O grupo GzLiNuX é un grupo de usuari@s do sistema GNU/LiNuX que se adica ao soporte deste sistema operativo en idioma galego. Para iso os membros basicamente facemos documentos propios ou traducimos documentación existente ao galego. Tamén particiamos noutros proxectos relativos ao GNU/LiNuX con documentación en galego. Aínda que en principio ten cabida no noso grupo calquera tipo de documentación; principalmente temos guías, HOWTOs e listas de FAQs. Isto débese a que outro tipo de documentación (por exemplo as páxinas "info" ou "man") cambian moi a miúdo e hai que estar revisándoas constantemente, e co resto da documentación hai atrancos semellantes. Pódesnos atopar en http://gzlinux.dhs.org e comunicarte connosco na nosa lista de correo gzlinux@egroups.com Pregamos que nos comuniques posibles erros neste ou noutros documentos nesta mesma lista. Tamén podes facer suxerencias ou o que queiras, por suposto. Pero a mellor maneira de axudarnos é recomendando á xente que use GNU/LiNuX que bote unha ollada ás nosas páxinas. Agardamos que este documento che sirva de axuda :)