
2º PARTE (ojo con las particiones seleccionadas, deben estar creadas pero no formateadas, perderemos todos los datos que se encuentren en ellas)
Creamos 2 particiones sin formatear, una en sda (o en otro disco interno de nuestro ordenador) y otra en el disco USB, como ejemplo voy a utilizar una partición en sda /dev/sda5 y un disco entero USB /dev/sdb1.
Podemos utilizar fdisk -cu o gparted, lo que prefiera cada uno. Después creamos el mirror:
# zpool create zfsdatos mirror /dev/sda5 /dev/sdb1# zpool status# Ya tenemos creado el pool, pool: zfsdatos state: ONLINE scan: none requestedconfig: NAME STATE READ WRITE CKSUMzfsdatos ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 sda5 ONLINE 0 0 0 sdb1 ONLINE 0 0 0 errors: No known data errors # zfs create zfsdatos/datos# ahora creamos el sistema de archivos # zfs listNAME USED AVAIL REFER MOUNTPOINTzfsdatos 129K 19,6G 30K /zfsdatoszfsdatos/datos 30K 19,6G 30K /zfsdatos/datos # zfs set mountpoint=none zfsdatos # No exponemos el pool completo quitando el punto de montaje # zfs set mountpoint=/media/zfsdatos/ zfsdatos/datos # Creamos punto de montaje para el sistema de ficheros "datos" # zfs listNAME USED AVAIL REFER MOUNTPOINTzfsdatos 148K 19,6G 31K nonezfsdatos/datos 30K 19,6G 30K /media/zfsdatos/Podemos hacer muchas mas cosas con nuestro recien creado zfs, como crear cuotas pero esto es lo fundamental.
Ahora vamos a desmontar el disco USB y conectarlo a nuetro ordenador "trabajo", vamos a hacerlo de la manera correcta pero si debemos seguir trabajando con nuestros datos en "casa", desenchufamos el disco USB y listo (esto ultimo solo funciona en Solaris, en Centos hay que exportar el pool de manera correcta):
# cp /etc/archivitos /media/zfsdatos # copiamos 2 archivos cualquiera para comprobar que funciona la sincronizacion.# ls -l /media/zfsdatos/ total 3-rw-rw-r--. 1 root root 783 jun 11 20:09 fstab-rw-r--r--. 1 root root 9 sep 23 2011 host.conf # zpool status# desenchufando el disco USB a lo burro. pool: zfsdatos state: DEGRADEDstatus: One or more devices could not be used because the label is missing orinvalid. Sufficient replicas exist for the pool to continuefunctioning in a degraded state.action: Replace the device using 'zpool replace'. see: http://zfsonlinux.org/msg/ZFS-8000-4J scan: none requestedconfig: NAME STATE READ WRITE CKSUMzfsdatos DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 sda5 ONLINE 0 0 0 sdb1 UNAVAIL 0 0 0 errors: No known data errors # ls -l /media/zfsdatos/ # pero los datos del mirror siguen disponiblestotal 3-rw-rw-r--. 1 root root 783 jun 11 20:09 fstab-rw-r--r--. 1 root root 9 sep 23 2011 host.conf # cal > /media/zfsdatos/cal.txt# y podemos seguir trabajando # ls -l /media/zfsdatos/total 4-rw-r--r--. 1 root root 146 jun 11 21:52 cal.txt-rw-rw-r--. 1 root root 783 jun 11 20:09 fstab-rw-r--r--. 1 root root 9 sep 23 2011 host.conf # zpool export zfsdatos # manera correcta # zpool statusno pools availableEn el equipo "trabajo"
[student@centos02 ~]$ su -Password:
# zpool import# comprobamos pools disponibles. Como es normal sda5 no esta disponible, es la partición del equipo "casa". pool: zfsdatos id: 9289215283373009370 state: DEGRADEDstatus: One or more devices contains corrupted data.action: The pool can be imported despite missing or damaged devices. Thefault tolerance of the pool may be compromised if imported. see: http://zfsonlinux.org/msg/ZFS-8000-4Jconfig:zfsdatos DEGRADED mirror-0 DEGRADED sda5 UNAVAIL sdb1 ONLINE# zpool import -f zfsdatos# zpool statuspool: zfsdatosstate: DEGRADEDstatus: One or more devices could not be used because the label is missing orinvalid. Sufficient replicas exist for the pool to continuefunctioning in a degraded state.action: Replace the device using 'zpool replace'.see: http://zfsonlinux.org/msg/ZFS-8000-4Jscan: resilvered 25,5K in 0h0m with 0 errors on Mon Jun 11 21:57:45 2012config:ls /media/zfsdatos/cal.txt fstab host.conf pruebapool.txtNAME STATE READ WRITE CKSUMzfsdatos DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 12220040685383063855 UNAVAIL 0 0 0 was /dev/sda5 sdb1 ONLINE 0 0 0errors: No known data errors# ls /media/zfsdatos/# nuestros datos en "trabajo"cal.txt fstab host.conf# echo "hola pool casa" > /media/zfsdatos/pruebapool.txt# modificamos y creamos en "trabajo" # ls /media/zfsdatos/cal.txt fstab host.conf pruebapool.txt# zpool export zfsdatos# exportamos el pool en "trabajo" para llevarlo a "casa"# init 0 [student@centos01 ~]$ su -Password: # zpool import# ok, tengo el pool disponible para importar en "casa" pool: zfsdatos id: 9289215283373009370 state: ONLINEaction: The pool can be imported using its name or numeric identifier.config: zfsdatos ONLINE mirror-0 ONLINE sda5 ONLINE sdb1 ONLINE # zpool import zfsdatos# ls /media/zfsdatos/cal.txt fstab host.conf pruebapool.txt # esta pruebpool.txt creado en "trabajo" # cat /media/zfsdatos/pruebapool.txt hola pool casaHay 8 invitados y ningún miembro en línea