• No results found

Paper IV – Multi-Language Library Development

7.3 Generic queries

Después de tener preparado nuestro disco con las particiones, es momento de darle un formato a dichas particiones para que este se pueda usar como medio de

almacenamiento. Para ello usamos el comando mkfs.

En esta ocasión vamos a utilizar el ultimo sistema de archivos Linux que esta disponible, el ext4.

La estructura del comando mkfs es:

mkfs -t ext4 -b 1024 -c -i 163384 -m 0 -L “Datos” /dev/dispositivo Algunas opciones que tiene el comando mkfs es:

• -b Tamaño de los bloques, en múltiplo de 512, se recomienda dejar los bloques→

de 1024.

• -c Comprobar el disco por sectores defectuosos →

• -i Indica el tamaño del inodo según el disco (un inodo es de 128 bytes), el cual→

puede limitar la cantidad de archivos que se pueden crear, pero permite ganar mas espacio. -i 4096: un inodo por cada 4KB.

• -m Porcentaje reservado para root, normalmente el 5% del espacio en disco.→

Ponerlo a 0 permite ganar espacio en disco en cuanto al trabajo. • -L Etiqueta del Disco→

Con el comando e2label me permite cambiar el Label al disco.

Aunque tenemos el comando mkfs.ext# el cual es un poco mas completo y el mas

usado, asi que procederemos a darle un sistema de archivos a nuestra particion. root@sugeek:~# mkfs.ext4 /dev/sdb1

mke2fs 1.42.5 (29-Jul-2012)

Etiqueta del sistema de ficheros= OS type: Linux

Tamaño del bloque=4096 (bitácora=2) Tamaño del fragmento=4096 (bitácora=2) Stride=0 blocks, Stripe width=0 blocks 524288 inodes, 2096896 blocks

104844 blocks (5.00%) reserved for the super user Primer bloque de datos=0

Número máximo de bloques del sistema de ficheros=2147483648 64 bloque de grupos

32768 bloques por grupo, 32768 fragmentos por grupo 8192 nodos-i por grupo

Respaldo del superbloque guardado en los bloques:

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: hecho

Escribiendo las tablas de nodos-i: hecho Creating journal (32768 blocks): hecho

Escribiendo superbloques y la información contable del sistema de ficheros: hecho

Con el comando mkfs.ext4 podremos indicar el tamaño del bloque, el tamaño del inodo

y muchas mas características, para ello diríjase a la pagina manual del comando.

Unidad SWAP o memoria de Intercambio

La partición SWAP es la partición que hace sus labores ocasionalmente como si fuese una memoria ram, cuando es requerida por el sistema, esta memoria “RAM” se encuentra en una partición especial dentro de nuestro disco duro.

Esta se puede crear durante la instalación del sistema o luego en un pendrive, archivo, etc. Para tener la partición SWAT se recomienda lo siguiente.

• Colocarla después de la partición boot.

• Si el equipo tiene menos de 1GB de Ram fisica se recomienda la particion SWAP

debe de duplicar la cantidad real de memoria ram, asi que si tenemos 768MB de memoria fisica, la SWAP debe de ser 1536MB, en cambio si supera el 1GB de memoria fisica, la SWAP es igual a esta mas 2GB, por ejemplo tenemos 3GB de memoria física, la swap se recomienda de 5GB.

La Swap tiene como desventaja que al estar en el disco duro, hace que sea demasiado lento las consultas de este, por ende si se tiene un disco duro con RPM menores a 7200 se recomienda tener la SWAP en un dispositivo externo u otro disco, pero el sistema solo pasara aquellos procesos que estén “Estáticos” o los que demoren mas tiempo en memoria, los procesos temporales si siguen en la memoria ram.

En algunos ambientes es importante tener una memoria SWAP asignada, como:

• Servidores o estaciones donde ya no se pueda aumentar la memoria física.

• Estaciones de Diseño Gráfico o similares, ya que en ocasiones estas estaciones

aunque tengan buena memoria ram, no le es suficiente.

• Servidores de Producción intensa esporádica.

Asi que, como vimos durante la instalación, nosotros no configuramos una SWAP, pero la desventaja de tener la swap directamente sobre una partición en el disco es contraproducente, ya que la swap estará limitada al tamaño del la partición y no podrá aumentarse o disminuirse sin llegar a afectar el sistema de algún modo, por ende en servidores de producción se recomienda tener un disco aparte para la swap o en el común de los casos tenerla en un archivo para poderla manipular a nuestro gusto cuando el sistema asi lo requiera (Aumentarle o disminuirle el tamaño).

Verificamos que no tenemos swap en nuestro sistema. root@sugeek:~# free -m

total used free shared buffers cached Mem: 502 496 6 0 2 466 -/+ buffers/cache: 27 475

Procederemos a crear el archivo que realizara la labor de swap, recordemos que podemos crearlo en una USB 3.0.

root@sugeek:~# dd if=/dev/zero of=/swap bs=1024 count=1048576 1048576+0 registros leídos

1048576+0 registros escritos

1073741824 bytes (1,1 GB) copiados, 4,72171 s, 227 MB/s Desglosemos el anterior comando:

• dd Sirve para crear y convertir ficheros→

• if Indicamos la entrada estándar la cual va a ser puros ceros (/dev/zero)→ • of Indicamos la salida, si el archivo no existe se creación→

• bs Indicamos el tamaño del bloque de 1024 bytes→

• count → Marca hasta donde se deben de crear bloques, es el valor del bs multiplicado por la cantidad de MB que le vamos a asociar a la SWAP, en esta ocasión le asociamos 1GB a la SWAP.

Ahora vamos a crear la SWAP. root@sugeek:~# mkswap /swap

Setting up swapspace version 1, size = 1048572 KiB no label, UUID=387c7671-ada8-428d-8112-98aff59c8ba6 Activamos la swap

root@sugeek:~# swapon /swap root@sugeek:~# free -m

total used free shared buffers cached Mem: 502 496 5 0 2 466 -/+ buffers/cache: 27 475

Swap: 1023 0 1023

Como observamos ya tenemos una swap asociada al sistema, pero esta desaparecerá cada vez que reiniciemos el servidor, por tal motivo debemos de dejarla permanente, esto lo hacemos en el archivo fstab.

Echo “/swap swap swap defaults 0 0 ” >> /etc/fstab

Ya de ese modo la swap estaría montada en nuestro sistema y dispuesta a ser usada, pero el sistema la usa demasiado, asi que vamos a disminuir el uso de esta y solo en casos que en realidad se requiera, aumentando asi el rendimiento del sistema.

Para ello escribimos:

echo 10 > /proc/sys/vm/swappiness

echo “vm.swappiness = 10 ” >> /etc/sysctl.conf