Added 3.8.2
[ikiwiki.git] / docs / how_to_implement_hammer_pseudo_file_system__40___pfs___41___slave_mirroring_from_pfs_master / index.mdwn
index e996e75..42cece7 100644 (file)
@@ -1,15 +1,15 @@
 [[!toc]]
 #Scenario
-I have two 500 GB hard disks both with the Hammer file system. I want to create a master PFS in one hard disk and a slave PFS in the other disk. I want to mirror the data continuously from the master PFS to the slave PFS. This will help me avoid long 'fsck' and raid parity rewrite times after an unclean shut down, and also will give me a set up somewhat like RAID 1.
+I have two 500 GB hard disks both with the Hammer file system. I want to create a master PFS in one hard disk and a slave PFS in the other disk. I want to mirror the data continuously from the master PFS to the slave PFS. This will help me avoid long 'fsck' and RAID parity rewrite times after an unclean shut down, and also will give me a setup somewhat like RAID 1.
 
 #Creating the master PFS on Disk 1
 
-The Hammer file systems on Disk 1 and Disk2 are mounted in '/etc/fstab' according to the following.
+The Hammer file systems on Disk 1 and Disk 2 are mounted in '/etc/fstab' according to the following.
 
     /dev/ad4s1h             /Backup1        hammer  rw              2       2
     /dev/ad6s1h             /Backup2        hammer  rw              2       2
 
-Go to the Hammer file system on Disk 1. We will be creaing a master PFS called 'test' and will be mounting it using a null mount. If you don't have a directory called 'pfs' under the hammer file system you should create it.
+Go to the Hammer file system on Disk 1. We will be creaing a master PFS called 'test' and will be mounting it using a null mount. If you don't have a directory called 'pfs' under the Hammer file system you should create it.
 
     # pwd
     /Backup1
@@ -30,7 +30,7 @@ If you already have the pfs directory under the Hammer file system you can skip
     snapshots dir for master defaults to <fs>/snapshots
 
     
-Now the master PFS 'test' is created. make a note of its 'shared-uuid' because we will need to use that to create the slave PFS for mirroring.
+Now the master PFS 'test' is created. Make a note of its 'shared-uuid' because we will need to use that to create the slave PFS for mirroring.
 You can mount the PFS under the Hammer file system on Disk 1 by doing the following.
 
     # mkdir /Backup1/test
@@ -47,7 +47,7 @@ Now mount the PFS by doing.
 
 #Creating the slave PFS on Disk 2. 
 
-Note that we will be using the 'shared-uuid of the master PFS so enable mirroring.
+Note that we must use the 'shared-uuid' of the master PFS to enable mirroring.
     
     # hammer pfs-slave /Backup2/pfs/test shared-uuid=9043570e-b3d9-11de-9bef-011617202aa6
     Creating PFS #3 succeeded!
@@ -63,13 +63,15 @@ Note that we will be using the 'shared-uuid of the master PFS so enable mirrorin
     snapshots directory not set for slave
 
 
-The slave PFS is not mounted but a symlink is created in the root Hammer file system to point to it.
+The slave PFS is not mounted but a symlink can be created in the root Hammer file system to point to it.
 
     # ln -s /Backup2/pfs/test /Backup2/test
     # ls -l /Backup2/test
     lrwxr-xr-x  1 root  wheel  17 Oct  8 12:07 /Backup2/test -> /Backup2/pfs/test
 
-#Copying contents from PFS on Disk 1 to PFS on Disk2 to enable mirroring. 
+(This step is optional, the PFS can be read through the original magic symlink /Backup2/pfs/test.)
+
+#Copying contents from PFS on Disk 1 to PFS on Disk 2 to enable mirroring. 
 
 The slave PFS will be accessible only after the first 'mirror-copy' operation.
 
@@ -90,33 +92,10 @@ We do the "sync" so that the file creation operation in flushed from the kernel
 
 #Enabling continuous mirroring.
 
-You can enable continuous mirroring by editing a few files.
-One way to make sure the mirroring works continuously is to use the 'lockf' utility.
-This is one way to do it.
-
-    # mkdir /root/adm && cd /root/adm
-    # touch .lockfile
-
-Now make two scripts 'hms' and 'hmc' with the following contents inside /root/adm
-
-    # cat hms
-    hammer mirror-stream /Backup1/test /Backup2/test &
-
-    # cat hmc
-    hammer synctid /Backup1/test
-    hammer mirror-copy /Backup1/test /Backup2/test 
-
-Edit '/etc/rc.local' and add the following line.
+The hammer mirror-stream will automatically restart if the connection is lost so you only need to start it up once at boot.You can do this with an @reboot entry in the crontab.
 
-    (cd /root/adm; /usr/bin/lockf -k -t 0 .lockfile ./hms) &
+    @reboot hammer mirror-stream /Backup1/test /Backup2/test
 
-Edit 'crontab' and add the following Lines.
 
-    #Check and restart mirroring if needed every 10 minutes
-    10 1 * * * (cd /root/adm; /usr/bin/lockf -k -t 0 .lockfile ./hms) &
 
-Edit '/etc/rc.shutdown.local' and add the following lines.
 
-    pkill -f /usr/bin/lockf -k -t 0 .lockfile ./hms
-    pkill -f hammer mirror-stream /Backup1/test /Backup2/test
-    (cd /root/adm; /usr/bin/lockf -k -t 10 .lockfile ./hmc)