SafeChildren Banner

Havoc Oracle Solaris Experts

lunes, 14 de septiembre de 2009

Cómo ampliar la swap en Solaris

Introducción
Si necesitamos ampliar el espacio swap de Solaris de forma temporal, podemos añadir un archivo a nuestro entorno swap utilizando el comando swap, para ello crearemos un archivo utilizando mkfile y posteriormente lo añadiremos, por ejemplo:

Añadir un archivo a la swap
En nuestro caso tenemos 5,7 Gb asignados a la swap utilizando dos discos SCSI, y vamos a añadir otros 2 Gb
# swap -l
swapfile dev swaplo bloques libre
/dev/dsk/c5t20000004CF8F7B64d0s1 118,1489 16 8389632 7303072
/dev/dsk/c5t20000004CF7FE30Ed0s1 118,1497 16 8389632 7329600
Creamos el archivo de 2Gb en el root
# mkfile 2048m /myswap.file
# ls -lah /myswap.file
-rw------T 1 root root 2,0G sep 14 15:32 /myswap.file
Añadimos el nuevo archivo a nuestra swap
# swap -a /myswap.file
# swap -l
swapfile dev swaplo bloques libre
/dev/dsk/c5t20000004CF8F7B64d0s1 118,1489 16 8389632 7258288
/dev/dsk/c5t20000004CF7FE30Ed0s1 118,1497 16 8389632 7283712
/myswap.file - 16 4194288 4194288
Una vez finalizado nuestro uso intensivo, podemos eliminar nuestro archivo de la swap utilizando el siguiente comando:
# swap -d /myswap.file
# swap -l
swapfile dev swaplo bloques libre
/dev/dsk/c5t20000004CF8F7B64d0s1 118,1489 16 8389632 7258288
/dev/dsk/c5t20000004CF7FE30Ed0s1 118,1497 16 8389632 7283728
Si quisieramos hacer permanente este cambio, simplemente editariamos el archivo /etc/vfstab e incluiriamos la siguiente línea:
/myswap.file - - swap - no -
Añadir una partición raw
Si por el contrario (y más recomendable) quisieramos añadir un nuevo disco (o partición) a nuestra swap, haríamos lo siguiente:
# swap -l
swapfile dev swaplo bloques libre
/dev/dsk/c5t20000004CF8F7B64d0s1 118,1489 16 8389632 7258288
# swap -a /dev/dsk/c5t20000004CF7FE30Ed0s1
# vi /etc/vfstab
/dev/dsk/c5t20000004CF7FE30Ed0s1 - - swap - no -
:wq
# swap -l
swapfile dev swaplo bloques libre
/dev/dsk/c5t20000004CF8F7B64d0s1 118,1489 16 8389632 7258288
/dev/dsk/c5t20000004CF7FE30Ed0s1 118,1497 16 8389632 7283728

Problemas al intentar añadir una partición raw
Puede que Solaris nos de un error al intentar añadir una partición raw diciendo:
# swap -a /dev/dsk/c5t20000004CF7FE30Ed0s1
/dev/dsk/c5t20000004CF7FE30Ed0s1 está normalmente montado en de acuerdo con /etc/vfstab. Elimine esta entrada para utilizar este dispositivo.

Esto es debido a:
  1. Hemos añadido al fichero /etc/vfstab la partición antes de ejecutar swap -a
  2. Hemos eliminado la partición (por algún motivo) y ésta está incluida en el archivo /etc/vfstab
Para solucionarlo, simplemente editaremos el archivo /etc/vfstab y comentaremos la entrada de nuestra partición raw
# vi /etc/vfstab
# swap el primer disco
/dev/dsk/c5t20000004CF8F7B64d0s1 - - swap - no -
# swap en el segundo disco
#/dev/dsk/c5t20000004CF7FE30Ed0s1 - - swap - no -

:wq

# swap -a /dev/dsk/c5t20000004CF7FE30Ed0s1
# vi /etc/vfstab
# swap el primer disco
/dev/dsk/c5t20000004CF8F7B64d0s1 - - swap - no -
# swap en el segundo disco
/dev/dsk/c5t20000004CF7FE30Ed0s1 - - swap - no -

:wq

Referencias

4 comentarios:

  1. Muchas gracias, me sirvió mucho esta información.

    ResponderEliminar
  2. Hola anónimo,

    Muchas gracias,

    Me legro que te sirva el post,

    Un Saludo,
    Urko

    ResponderEliminar
  3. Muchas gracias, me ha servido mucho esta información!

    ResponderEliminar
  4. root@gis7000 # df -h
    Filesystem size used avail capacity Mounted on
    /dev/md/dsk/d10 3.7G 3.3G 431M 89% /
    /devices 0K 0K 0K 0% /devices
    ctfs 0K 0K 0K 0% /system/contract
    proc 0K 0K 0K 0% /proc
    mnttab 0K 0K 0K 0% /etc/mnttab
    swap 3.0G 660K 3.0G 1% /etc/svc/volatile
    objfs 0K 0K 0K 0% /system/object
    /usr/lib/libc/libc_hwcap2.so.1
    3.7G 3.3G 431M 89% /lib/libc.so.1
    fd 0K 0K 0K 0% /dev/fd
    swap 3.0G 4K 3.0G 1% /tmp
    swap 3.0G 28K 3.0G 1% /var/run
    /dev/md/dsk/d40 5.4G 441M 4.9G 9% /temp01
    /dev/md/dsk/d30 47G 47G 0K 100% /data
    /dev/md/dsk/d70 9.7G 5.9G 3.7G 62% /export/home

    necesito ampliar espacio en data pero por lo visto mi disco es de 80 GB y ya lo tengo lleno puedo reducir a algun file system y aumentarlo a data

    ResponderEliminar