HammerFS, el nuevo filesystem de DragonFlyBSD

Anuncio
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
HammerFS, el nuevo filesystem de
DragonFlyBSD
Damián Alberto Vicino, Luis Agustı́n Nieto
Grupo de Usuarios de BSD de Exactas
20 de agosto de 2008
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Historia
En un principio estaba UNIX...
I
Unix, desarrollado originalmente en 1969 en los laboratorios
Bell de AT&T autoriza a Berkeley a utilizar el código fuente y
adaptarlo.
I
Cuando AT&T retiró el permiso de uso a la universidad por
motivos comerciales, la universidad promovió la creación de
una versión inspirada en Unix utilizando los aportes que ellos
habı́an realizado, permitiendo luego su distribución con fines
académicos.
I
En 1975 Berkeley publica su propia implementación de Unix,
BSD.
I
En la actualidad los miembros mas conocidos de la familia
BSD son OpenBSD, NetBSD y FreeBSD.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Historia
En un principio estaba UNIX...
I
Unix, desarrollado originalmente en 1969 en los laboratorios
Bell de AT&T autoriza a Berkeley a utilizar el código fuente y
adaptarlo.
I
Cuando AT&T retiró el permiso de uso a la universidad por
motivos comerciales, la universidad promovió la creación de
una versión inspirada en Unix utilizando los aportes que ellos
habı́an realizado, permitiendo luego su distribución con fines
académicos.
I
En 1975 Berkeley publica su propia implementación de Unix,
BSD.
I
En la actualidad los miembros mas conocidos de la familia
BSD son OpenBSD, NetBSD y FreeBSD.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Historia
En un principio estaba UNIX...
I
Unix, desarrollado originalmente en 1969 en los laboratorios
Bell de AT&T autoriza a Berkeley a utilizar el código fuente y
adaptarlo.
I
Cuando AT&T retiró el permiso de uso a la universidad por
motivos comerciales, la universidad promovió la creación de
una versión inspirada en Unix utilizando los aportes que ellos
habı́an realizado, permitiendo luego su distribución con fines
académicos.
I
En 1975 Berkeley publica su propia implementación de Unix,
BSD.
I
En la actualidad los miembros mas conocidos de la familia
BSD son OpenBSD, NetBSD y FreeBSD.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Historia
En un principio estaba UNIX...
I
Unix, desarrollado originalmente en 1969 en los laboratorios
Bell de AT&T autoriza a Berkeley a utilizar el código fuente y
adaptarlo.
I
Cuando AT&T retiró el permiso de uso a la universidad por
motivos comerciales, la universidad promovió la creación de
una versión inspirada en Unix utilizando los aportes que ellos
habı́an realizado, permitiendo luego su distribución con fines
académicos.
I
En 1975 Berkeley publica su propia implementación de Unix,
BSD.
I
En la actualidad los miembros mas conocidos de la familia
BSD son OpenBSD, NetBSD y FreeBSD.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Historia
Y Beastie engendro a Fred...
I
La distribución mas utilizada y reconocida de BSD es
FreeBSD.
I
Aparecio en 1993 de la mano de Nate William, Rod Grimes y
Jordan K. Hubbard. En enero de 1995 salio la versión 2.0
basado en 4.4BSD-Lite.
I
El 16 de julio de 2003 Matthew Dillon, un programador del
kernel de FreeBSD, descontento con el rumbo que estaba
tomando el proyecto anuncia DragonFlyBSD.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Historia
Y Beastie engendro a Fred...
I
La distribución mas utilizada y reconocida de BSD es
FreeBSD.
I
Aparecio en 1993 de la mano de Nate William, Rod Grimes y
Jordan K. Hubbard. En enero de 1995 salio la versión 2.0
basado en 4.4BSD-Lite.
I
El 16 de julio de 2003 Matthew Dillon, un programador del
kernel de FreeBSD, descontento con el rumbo que estaba
tomando el proyecto anuncia DragonFlyBSD.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Historia
Y Beastie engendro a Fred...
I
La distribución mas utilizada y reconocida de BSD es
FreeBSD.
I
Aparecio en 1993 de la mano de Nate William, Rod Grimes y
Jordan K. Hubbard. En enero de 1995 salio la versión 2.0
basado en 4.4BSD-Lite.
I
El 16 de julio de 2003 Matthew Dillon, un programador del
kernel de FreeBSD, descontento con el rumbo que estaba
tomando el proyecto anuncia DragonFlyBSD.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
¡¡Aguante el MicroKernel!!
I
¿Qué es DragonFlyBSD?.
I
I
Objetivos de DragonFlyBSD.
I
I
Un Fork de FreeBSD con una visión completamente diferente
en materia de procesamiento distribuido.
Clustering
Estado actual del proyecto.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
¡¡Aguante el MicroKernel!!
I
¿Qué es DragonFlyBSD?.
I
I
Objetivos de DragonFlyBSD.
I
I
Un Fork de FreeBSD con una visión completamente diferente
en materia de procesamiento distribuido.
Clustering
Estado actual del proyecto.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
¡¡Aguante el MicroKernel!!
I
¿Qué es DragonFlyBSD?.
I
I
Objetivos de DragonFlyBSD.
I
I
Un Fork de FreeBSD con una visión completamente diferente
en materia de procesamiento distribuido.
Clustering
Estado actual del proyecto.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
¡¡Aguante el MicroKernel!!
I
¿Qué es DragonFlyBSD?.
I
I
Objetivos de DragonFlyBSD.
I
I
Un Fork de FreeBSD con una visión completamente diferente
en materia de procesamiento distribuido.
Clustering
Estado actual del proyecto.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
¡¡Aguante el MicroKernel!!
I
¿Qué es DragonFlyBSD?.
I
I
Objetivos de DragonFlyBSD.
I
I
Un Fork de FreeBSD con una visión completamente diferente
en materia de procesamiento distribuido.
Clustering
Estado actual del proyecto.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
Confia en mi, se exactamente lo que hago
I
¿Qué es Hammer?.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
Confia en mi, se exactamente lo que hago
I
¿Qué es Hammer?.
I
Objetivos de HammerFS en DragonFlyBSD.
I
Estado actual del proyecto.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
Confia en mi, se exactamente lo que hago
I
¿Qué es Hammer?.
I
Objetivos de HammerFS en DragonFlyBSD.
I
Estado actual del proyecto.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
Confia en mi, se exactamente lo que hago
I
¿Qué es Hammer?.
I
Objetivos de HammerFS en DragonFlyBSD.
I
Estado actual del proyecto.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
Magia...
I
Montado instantaneo sin necesidad de FSCK.
I
Fácil acceso al histórico completo de archivos y directorios en
tiempo real.
I
Reoptimización en segundo plano.
I
Soporte para grandes espacios (1 Exabyte).
I
Mirroring sin colas (en proximas versiones multimaster para
clustering).
I
Snapshots instantaneos.
I
64 bit de ids para I-nodos y directorios.
I
Chequeos de consistencia de la estructura del directorio y de
los datos.
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
I
newfs hammer
I
hammer prune
I
hammer snapshot
I
hammer history
I
hammer reblock
I
chflags nohistory
I
undo
I
@@transaction ID
8vas Jornadas Regionales de Software Libre
Caracteristicas
Instalacion y Uso
Referencias
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
Creando
# umount /home
# newfs_hammer -L Home /dev/ad3s1g
Volume 0 DEVICE /dev/ad3s1g
size
9.98GB
initialize freemap volume 0
--------------------------------------------1 volume total size
9.98GB
boot-area-size:
32.00MB
memory-log-size:
32.00MB
undo-buffer-size:
16.00MB
total-pre-allocated: 32.00MB
fsid:
1c7444a0-0459-11d6-8382-0111d83dac5f
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
Creando
# mount_hammer /dev/ad3s1g /home
# cd /home
# ls
# touch me
# ls
me
Para montarlo automaticamente hay que agregar en fstab:
/dev/ad3s1g /home hammer rw 2 2
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
¡Ay no! pise un archivo
# touch test
# echo aaa > test
# echo aaa >> test
# cat test
aaa
aaa
# undo -i test
test: objid=0x0000000100928b30
0x0000000100aaf580 20-Aug-2008 03:03:07
0x0000000100aaf5a0 20-Aug-2008 03:03:25
# undo -d test
diff -u test@@0x0000000100aaf580 test (to 31-Dec-1969 21:00:00)
--- test@@0x0000000100aaf580 2008-08-20 03:02:50 -0300
+++ test 2008-08-20 03:03:23 -0300
@@ -1 +1,2 @@
aaa
+aaa
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
¡Ay no! pise un archivo
# undo -u test
# ls
test test.undo
# cat test.undo
aaa
# hammer history test
test 0000000100928b30 clean {
0000000100aaf540 20-Aug-2008 03:02:51
0000000100aaf580 20-Aug-2008 03:03:07
0000000100aaf5a0 20-Aug-2008 03:03:25
}
# cat test@@0x0000000100aaf540
# touch b
# sync
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
¡Ay no! pise un archivo
#
b
}
#
#
b
hammer history b
0000000100928b60 dirty {
sync
hammer history b
0000000100928b60 clean {
0000000100aaf660 20-Aug-2008 03:10:09
}
# undo -o a test@@0x0000000100aaf540
# ls
a b test test.undo test.undo.undo
# cat a
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
¿0xh33l, cuando grabe esto?
# cd /hammer
# mkdir dir1
# touch dir1/a.txt
# hammer snapshot ./snap
# ls
dir1
snap
# ls snap
dir1
# rm -R dir1
# ls
snap
# ls snap
dir1
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
¿Está o no está?
# df -h /hammer
Filesystem
hammerFS
Size
29G
Used
8.0M
Avail
29G
Capacity
0%
Mounted on
/hammer
# dd if=/dev/zero of=/hammer/arch bs=1M count=256
# df -h /hammer/
Filesystem
hammerFS
Size
29G
Used
264M
Avail
29G
Capacity
0%
Mounted on
/hammer
# rm arch
# ls
#
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
Ups, se me llenó el disco
# df -h /hammer/
Filesystem Size
hammerFS
29G
Used
264M
Avail
29G
Capacity
0%
Mounted on
/hammer
# hammer prune /hammer
Prune /hammer/: snapshots
objspace /hammer/ succeeded
Pruned 4159/4171 records (2 directory entries) and 0 bytes
# df -h /hammer/
Filesystem Size
hammerFS
29G
Used
8.0M
Avail
29G
Capacity
0%
Mounted on
/hammer
Tambien existe prune-everything para una limpieza total
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
Acomodame los datos
hammer reblock /home
¿Pero no me mata la máquina limpiar y defragmentar?
-c ciclefile
-t time
8vas Jornadas Regionales de Software Libre
HammerFS
Unix-BSD
FreeBSD
DragonFlyBSD
HammerFS
Caracteristicas
Instalacion y Uso
Referencias
Referencias
I
http://www.dragonflybsd.org/
I
http://www.dragonflybsd.org/hammer/hammer.pdf
I
man 5 hammer
I
man 8 hammer
I
http://bug.dc.uba.ar
8vas Jornadas Regionales de Software Libre
HammerFS
Descargar