diff options
Diffstat (limited to 'doc/admin-guide/en-US/markdown/admin_settingup_clients.md')
-rw-r--r-- | doc/admin-guide/en-US/markdown/admin_settingup_clients.md | 641 |
1 files changed, 641 insertions, 0 deletions
diff --git a/doc/admin-guide/en-US/markdown/admin_settingup_clients.md b/doc/admin-guide/en-US/markdown/admin_settingup_clients.md new file mode 100644 index 000000000..85b28c952 --- /dev/null +++ b/doc/admin-guide/en-US/markdown/admin_settingup_clients.md @@ -0,0 +1,641 @@ +Accessing Data - Setting Up GlusterFS Client +============================================ + +You can access gluster volumes in multiple ways. You can use Gluster +Native Client method for high concurrency, performance and transparent +failover in GNU/Linux clients. You can also use NFS v3 to access gluster +volumes. Extensive testing has be done on GNU/Linux clients and NFS +implementation in other operating system, such as FreeBSD, and Mac OS X, +as well as Windows 7 (Professional and Up) and Windows Server 2003. +Other NFS client implementations may work with gluster NFS server. + +You can use CIFS to access volumes when using Microsoft Windows as well +as SAMBA clients. For this access method, Samba packages need to be +present on the client side. + +Gluster Native Client +===================== + +The Gluster Native Client is a FUSE-based client running in user space. +Gluster Native Client is the recommended method for accessing volumes +when high concurrency and high write performance is required. + +This section introduces the Gluster Native Client and explains how to +install the software on client machines. This section also describes how +to mount volumes on clients (both manually and automatically) and how to +verify that the volume has mounted successfully. + +Installing the Gluster Native Client +------------------------------------ + +Before you begin installing the Gluster Native Client, you need to +verify that the FUSE module is loaded on the client and has access to +the required modules as follows: + +1. Add the FUSE loadable kernel module (LKM) to the Linux kernel: + + `# modprobe fuse` + +2. Verify that the FUSE module is loaded: + + `# dmesg | grep -i fuse ` + + `fuse init (API version 7.13)` + +### Installing on Red Hat Package Manager (RPM) Distributions + +To install Gluster Native Client on RPM distribution-based systems + +1. Install required prerequisites on the client using the following + command: + + `$ sudo yum -y install openssh-server wget fuse fuse-libs openib libibverbs` + +2. Ensure that TCP and UDP ports 24007 and 24008 are open on all + Gluster servers. Apart from these ports, you need to open one port + for each brick starting from port 24009. For example: if you have + five bricks, you need to have ports 24009 to 24013 open. + + You can use the following chains with iptables: + + `$ sudo iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 24007:24008 -j ACCEPT ` + + `$ sudo iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 24009:24014 -j ACCEPT` + + > **Note** + > + > If you already have iptable chains, make sure that the above + > ACCEPT rules precede the DROP rules. This can be achieved by + > providing a lower rule number than the DROP rule. + +3. Download the latest glusterfs, glusterfs-fuse, and glusterfs-rdma + RPM files to each client. The glusterfs package contains the Gluster + Native Client. The glusterfs-fuse package contains the FUSE + translator required for mounting on client systems and the + glusterfs-rdma packages contain OpenFabrics verbs RDMA module for + Infiniband. + + You can download the software at [][]. + +4. Install Gluster Native Client on the client. + + `$ sudo rpm -i glusterfs-3.3.0qa30-1.x86_64.rpm ` + + `$ sudo rpm -i glusterfs-fuse-3.3.0qa30-1.x86_64.rpm ` + + `$ sudo rpm -i glusterfs-rdma-3.3.0qa30-1.x86_64.rpm` + + > **Note** + > + > The RDMA module is only required when using Infiniband. + +### Installing on Debian-based Distributions + +To install Gluster Native Client on Debian-based distributions + +1. Install OpenSSH Server on each client using the following command: + + `$ sudo apt-get install openssh-server vim wget` + +2. Download the latest GlusterFS .deb file and checksum to each client. + + You can download the software at [][1]. + +3. For each .deb file, get the checksum (using the following command) + and compare it against the checksum for that file in the md5sum + file. + + `$ md5sum GlusterFS_DEB_file.deb ` + + The md5sum of the packages is available at: [][2] + +4. Uninstall GlusterFS v3.1 (or an earlier version) from the client + using the following command: + + `$ sudo dpkg -r glusterfs ` + + (Optional) Run `$ sudo dpkg -purge glusterfs `to purge the + configuration files. + +5. Install Gluster Native Client on the client using the following + command: + + `$ sudo dpkg -i GlusterFS_DEB_file ` + + For example: + + `$ sudo dpkg -i glusterfs-3.3.x.deb ` + +6. Ensure that TCP and UDP ports 24007 and 24008 are open on all + Gluster servers. Apart from these ports, you need to open one port + for each brick starting from port 24009. For example: if you have + five bricks, you need to have ports 24009 to 24013 open. + + You can use the following chains with iptables: + + `$ sudo iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 24007:24008 -j ACCEPT ` + + `$ sudo iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 24009:24014 -j ACCEPT` + + > **Note** + > + > If you already have iptable chains, make sure that the above + > ACCEPT rules precede the DROP rules. This can be achieved by + > providing a lower rule number than the DROP rule. + +### Performing a Source Installation + +To build and install Gluster Native Client from the source code + +1. Create a new directory using the following commands: + + `# mkdir glusterfs ` + + `# cd glusterfs` + +2. Download the source code. + + You can download the source at [][1]. + +3. Extract the source code using the following command: + + `# tar -xvzf SOURCE-FILE ` + +4. Run the configuration utility using the following command: + + `# ./configure ` + + `GlusterFS configure summary ` + + `================== ` + + `FUSE client : yes ` + + `Infiniband verbs : yes ` + + `epoll IO multiplex : yes ` + + `argp-standalone : no ` + + `fusermount : no ` + + `readline : yes` + + The configuration summary shows the components that will be built + with Gluster Native Client. + +5. Build the Gluster Native Client software using the following + commands: + + `# make ` + + `# make install` + +6. Verify that the correct version of Gluster Native Client is + installed, using the following command: + + `# glusterfs –-version` + +Mounting Volumes +---------------- + +After installing the Gluster Native Client, you need to mount Gluster +volumes to access data. There are two methods you can choose: + +- ? + +- ? + +After mounting a volume, you can test the mounted volume using the +procedure described in ?. + +> **Note** +> +> Server names selected during creation of Volumes should be resolvable +> in the client machine. You can use appropriate /etc/hosts entries or +> DNS server to resolve server names to IP addresses. + +### Manually Mounting Volumes + +To manually mount a Gluster volume + +- To mount a volume, use the following command: + + `# mount -t glusterfs HOSTNAME-OR-IPADDRESS:/VOLNAME MOUNTDIR` + + For example: + + `# mount -t glusterfs server1:/test-volume /mnt/glusterfs` + + > **Note** + > + > The server specified in the mount command is only used to fetch + > the gluster configuration volfile describing the volume name. + > Subsequently, the client will communicate directly with the + > servers mentioned in the volfile (which might not even include the + > one used for mount). + > + > If you see a usage message like "Usage: mount.glusterfs", mount + > usually requires you to create a directory to be used as the mount + > point. Run "mkdir /mnt/glusterfs" before you attempt to run the + > mount command listed above. + +**Mounting Options** + +You can specify the following options when using the +`mount -t glusterfs` command. Note that you need to separate all options +with commas. + +backupvolfile-server=server-name + +volfile-max-fetch-attempts=number of attempts + +log-level=loglevel + +log-file=logfile + +transport=transport-type + +direct-io-mode=[enable|disable] + +For example: + +`# mount -t glusterfs -o backupvolfile-server=volfile_server2 --volfile-max-fetch-attempts=2 log-level=WARNING,log-file=/var/log/gluster.log server1:/test-volume /mnt/glusterfs` + +If `backupvolfile-server` option is added while mounting fuse client, +when the first volfile server fails, then the server specified in +`backupvolfile-server` option is used as volfile server to mount the +client. + +In `--volfile-max-fetch-attempts=X` option, specify the number of +attempts to fetch volume files while mounting a volume. This option is +useful when you mount a server with multiple IP addresses or when +round-robin DNS is configured for the server-name.. + +### Automatically Mounting Volumes + +You can configure your system to automatically mount the Gluster volume +each time your system starts. + +The server specified in the mount command is only used to fetch the +gluster configuration volfile describing the volume name. Subsequently, +the client will communicate directly with the servers mentioned in the +volfile (which might not even include the one used for mount). + +**To automatically mount a Gluster volume** + +- To mount a volume, edit the /etc/fstab file and add the following + line: + + `HOSTNAME-OR-IPADDRESS:/VOLNAME MOUNTDIR glusterfs defaults,_netdev 0 0 ` + + For example: + + `server1:/test-volume /mnt/glusterfs glusterfs defaults,_netdev 0 0` + +**Mounting Options** + +You can specify the following options when updating the /etc/fstab file. +Note that you need to separate all options with commas. + +log-level=loglevel + +log-file=logfile + +transport=transport-type + +direct-io-mode=[enable|disable] + +For example: + +`HOSTNAME-OR-IPADDRESS:/VOLNAME MOUNTDIR glusterfs defaults,_netdev,log-level=WARNING,log-file=/var/log/gluster.log 0 0 ` + +### Testing Mounted Volumes + +To test mounted volumes + +- Use the following command: + + `# mount ` + + If the gluster volume was successfully mounted, the output of the + mount command on the client will be similar to this example: + + `server1:/test-volume on /mnt/glusterfs type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072` + +- Use the following command: + + `# df` + + The output of df command on the client will display the aggregated + storage space from all the bricks in a volume similar to this + example: + + `# df -h /mnt/glusterfs Filesystem Size Used Avail Use% Mounted on server1:/test-volume 28T 22T 5.4T 82% /mnt/glusterfs` + +- Change to the directory and list the contents by entering the + following: + + `# cd MOUNTDIR ` + + `# ls` + +- For example, + + `# cd /mnt/glusterfs ` + + `# ls` + +NFS +=== + +You can use NFS v3 to access to gluster volumes. Extensive testing has +be done on GNU/Linux clients and NFS implementation in other operating +system, such as FreeBSD, and Mac OS X, as well as Windows 7 +(Professional and Up), Windows Server 2003, and others, may work with +gluster NFS server implementation. + +GlusterFS now includes network lock manager (NLM) v4. NLM enables +applications on NFSv3 clients to do record locking on files on NFS +server. It is started automatically whenever the NFS server is run. + +You must install nfs-common package on both servers and clients (only +for Debian-based) distribution. + +This section describes how to use NFS to mount Gluster volumes (both +manually and automatically) and how to verify that the volume has been +mounted successfully. + +Using NFS to Mount Volumes +-------------------------- + +You can use either of the following methods to mount Gluster volumes: + +- ? + +- ? + +**Prerequisite**: Install nfs-common package on both servers and clients +(only for Debian-based distribution), using the following command: + +`$ sudo aptitude install nfs-common ` + +After mounting a volume, you can test the mounted volume using the +procedure described in ?. + +### Manually Mounting Volumes Using NFS + +To manually mount a Gluster volume using NFS + +- To mount a volume, use the following command: + + `# mount -t nfs -o vers=3 HOSTNAME-OR-IPADDRESS:/VOLNAME MOUNTDIR` + + For example: + + `# mount -t nfs -o vers=3 server1:/test-volume /mnt/glusterfs` + + > **Note** + > + > Gluster NFS server does not support UDP. If the NFS client you are + > using defaults to connecting using UDP, the following message + > appears: + > + > `requested NFS version or transport protocol is not supported`. + + **To connect using TCP** + +- Add the following option to the mount command: + + `-o mountproto=tcp ` + + For example: + + `# mount -o mountproto=tcp -t nfs server1:/test-volume /mnt/glusterfs` + +**To mount Gluster NFS server from a Solaris client** + +- Use the following command: + + `# mount -o proto=tcp,vers=3 nfs://HOSTNAME-OR-IPADDRESS:38467/VOLNAME MOUNTDIR` + + For example: + + ` # mount -o proto=tcp,vers=3 nfs://server1:38467/test-volume /mnt/glusterfs` + +### Automatically Mounting Volumes Using NFS + +You can configure your system to automatically mount Gluster volumes +using NFS each time the system starts. + +**To automatically mount a Gluster volume using NFS** + +- To mount a volume, edit the /etc/fstab file and add the following + line: + + `HOSTNAME-OR-IPADDRESS:/VOLNAME MOUNTDIR nfs defaults,_netdev,vers=3 0 0` + + For example, + + `server1:/test-volume /mnt/glusterfs nfs defaults,_netdev,vers=3 0 0` + + > **Note** + > + > Gluster NFS server does not support UDP. If the NFS client you are + > using defaults to connecting using UDP, the following message + > appears: + > + > `requested NFS version or transport protocol is not supported.` + + To connect using TCP + +- Add the following entry in /etc/fstab file : + + `HOSTNAME-OR-IPADDRESS:/VOLNAME MOUNTDIR nfs defaults,_netdev,mountproto=tcp 0 0` + + For example, + + `server1:/test-volume /mnt/glusterfs nfs defaults,_netdev,mountproto=tcp 0 0` + +**To automount NFS mounts** + +Gluster supports \*nix standard method of automounting NFS mounts. +Update the /etc/auto.master and /etc/auto.misc and restart the autofs +service. After that, whenever a user or process attempts to access the +directory it will be mounted in the background. + +### Testing Volumes Mounted Using NFS + +You can confirm that Gluster directories are mounting successfully. + +**To test mounted volumes** + +- Use the mount command by entering the following: + + `# mount` + + For example, the output of the mount command on the client will + display an entry like the following: + + `server1:/test-volume on /mnt/glusterfs type nfs (rw,vers=3,addr=server1)` + +- Use the df command by entering the following: + + `# df` + + For example, the output of df command on the client will display the + aggregated storage space from all the bricks in a volume. + + # df -h /mnt/glusterfs + Filesystem Size Used Avail Use% Mounted on + server1:/test-volume 28T 22T 5.4T 82% /mnt/glusterfs + +- Change to the directory and list the contents by entering the + following: + + `# cd MOUNTDIR` + + `# ls` + + For example, + + ` + + ` + + `# ls` + +CIFS +==== + +You can use CIFS to access to volumes when using Microsoft Windows as +well as SAMBA clients. For this access method, Samba packages need to be +present on the client side. You can export glusterfs mount point as the +samba export, and then mount it using CIFS protocol. + +This section describes how to mount CIFS shares on Microsoft +Windows-based clients (both manually and automatically) and how to +verify that the volume has mounted successfully. + +> **Note** +> +> CIFS access using the Mac OS X Finder is not supported, however, you +> can use the Mac OS X command line to access Gluster volumes using +> CIFS. + +Using CIFS to Mount Volumes +--------------------------- + +You can use either of the following methods to mount Gluster volumes: + +- ? + +- ? + +After mounting a volume, you can test the mounted volume using the +procedure described in ?. + +You can also use Samba for exporting Gluster Volumes through CIFS +protocol. + +### Exporting Gluster Volumes Through Samba + +We recommend you to use Samba for exporting Gluster volumes through the +CIFS protocol. + +**To export volumes through CIFS protocol** + +1. Mount a Gluster volume. For more information on mounting volumes, + see ?. + +2. Setup Samba configuration to export the mount point of the Gluster + volume. + + For example, if a Gluster volume is mounted on /mnt/gluster, you + must edit smb.conf file to enable exporting this through CIFS. Open + smb.conf file in an editor and add the following lines for a simple + configuration: + + [glustertest] + + comment = For testing a Gluster volume exported through CIFS + + path = /mnt/glusterfs + + read only = no + + guest ok = yes + +Save the changes and start the smb service using your systems init +scripts (/etc/init.d/smb [re]start). + +> **Note** +> +> To be able mount from any server in the trusted storage pool, you must +> repeat these steps on each Gluster node. For more advanced +> configurations, see Samba documentation. + +### Manually Mounting Volumes Using CIFS + +You can manually mount Gluster volumes using CIFS on Microsoft +Windows-based client machines. + +**To manually mount a Gluster volume using CIFS** + +1. Using Windows Explorer, choose **Tools \> Map Network Drive…** from + the menu. The **Map Network Drive**window appears. + +2. Choose the drive letter using the **Drive** drop-down list. + +3. Click **Browse**, select the volume to map to the network drive, and + click **OK**. + +4. Click **Finish.** + +The network drive (mapped to the volume) appears in the Computer window. + +**Alternatively, to manually mount a Gluster volume using CIFS.** + +- Click **Start \> Run** and enter the following: + + ` + + ` + + For example: + + ` + + ` + +### Automatically Mounting Volumes Using CIFS + +You can configure your system to automatically mount Gluster volumes +using CIFS on Microsoft Windows-based clients each time the system +starts. + +**To automatically mount a Gluster volume using CIFS** + +The network drive (mapped to the volume) appears in the Computer window +and is reconnected each time the system starts. + +1. Using Windows Explorer, choose **Tools \> Map Network Drive…** from + the menu. The **Map Network Drive**window appears. + +2. Choose the drive letter using the **Drive** drop-down list. + +3. Click **Browse**, select the volume to map to the network drive, and + click **OK**. + +4. Click the **Reconnect** at logon checkbox. + +5. Click **Finish.** + +### Testing Volumes Mounted Using CIFS + +You can confirm that Gluster directories are mounting successfully by +navigating to the directory using Windows Explorer. + + []: http://bits.gluster.com/gluster/glusterfs/3.3.0qa30/x86_64/ + [1]: http://www.gluster.org/download/ + [2]: http://download.gluster.com/pub/gluster/glusterfs |