High-Availability Storage With GlusterFS On Debian Lenny - Automatic File Replication Across Two Storage Servers - Page 2
3 Setting Up The GlusterFS Clientclient1.example.com: On the client, we need to install fuse and GlusterFS. Instead of installing the libfuse2 package from the Debian repository, we install a patched version with better support for GlusterFS. First we install the prerequisites again: aptitude install sshfs build-essential flex bison byacc libdb4.6 libdb4.6-dev Then we build fuse as follows (you can find the latest patched fuse version on ftp://ftp.zresearch.com/pub/gluster/glusterfs/fuse/): cd /tmp Afterwards we build GlusterFS (just like on the server)... cd /tmp make && make install ... and create the following two directories: mkdir /mnt/glusterfs Next we create the file /etc/glusterfs/glusterfs.vol: vi /etc/glusterfs/glusterfs.vol
Make sure you use the correct server hostnames or IP addresses in the option remote-host lines! That's it! Now we can mount the GlusterFS filesystem to /mnt/glusterfs with one of the following two commands: glusterfs -f /etc/glusterfs/glusterfs.vol /mnt/glusterfs or mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs You should now see the new share in the outputs of... mount client1:/tmp/glusterfs-2.0.1# mount ... and... df -h client1:/tmp/glusterfs-2.0.1# df -h (server1.example.com and server2.example.com each have 19GB of space for the GlusterFS filesystem, but because the data is mirrored, the client doesn't see 38GB (2 x 19GB), but only 19GB.) Instead of mounting the GlusterFS share manually on the client, you could modify /etc/fstab so that the share gets mounted automatically when the client boots. Open /etc/fstab and append the following line: vi /etc/fstab
To test if your modified /etc/fstab is working, reboot the client: reboot After the reboot, you should find the share in the outputs of... df -h ... and... mount
4 TestingNow let's create some test files on the GlusterFS share: client1.example.com: touch /mnt/glusterfs/test1 Now let's check the /data/export directory on server1.example.com and server2.example.com. The test1 and test2 files should be present on each node: server1.example.com/server2.example.com: ls -l /data/export server1:~# ls -l /data/export Now we shut down server1.example.com and add/delete some files on the GlusterFS share on client1.example.com. server1.example.com: shutdown -h now client1.example.com: touch /mnt/glusterfs/test3 The changes should be visible in the /data/export directory on server2.example.com: server2.example.com: ls -l /data/export server2:/tmp/glusterfs-2.0.1# ls -l /data/export Let's boot server1.example.com again and take a look at the /data/export directory: server1.example.com: ls -l /data/export server1:~# ls -l /data/export As you see, server1.example.com hasn't noticed the changes that happened while it was down. This is easy to fix, all we need to do is invoke a read command on the GlusterFS share on client1.example.com, e.g.: client1.example.com: ls -l /mnt/glusterfs/ client1:~# ls -l /mnt/glusterfs/ Now take a look at the /data/export directory on server1.example.com again, and you should see that the changes have been replicated to that node: server1.example.com: ls -l /data/export server1:~# ls -l /data/export
5 Links
|



Recent comments
1 day 7 hours ago
1 day 10 hours ago
1 day 11 hours ago
1 day 13 hours ago
1 day 14 hours ago
1 day 16 hours ago
1 day 17 hours ago
2 days 9 hours ago
2 days 10 hours ago
2 days 14 hours ago