mount.sh
                        
                             · 1.7 KiB · Bash
                        
                    
                    
                      
                        Raw
                      
                    
                      
                    
                        
                          
                        
                    
                    
                
                
                
            # Assuming using /dev/sdb is your new empty disk
# Assuming 10.0.0.* is your private network
# Install and configure GlusterFS. (Run on all nodes)
apt-get install glusterfs-server -y
systemctl start glusterd
systemctl enable glusterd
# Format the disk and mount it (Run on all nodes)
mkfs.xfs /dev/sdb
echo '/dev/sdb /var/no-direct-write-here/gluster-bricks xfs defaults 0 0' >> /etc/fstab
mkdir -p /var/no-direct-write-here/gluster-bricks
mount /var/no-direct-write-here/gluster-bricks
# Add the peers (Run on node1)
gluster peer probe node2
gluster peer probe node3
gluster peer status
gluster pool list
# Create the volume (Run on node1)
gluster volume create swarm-vol replica 3 \
  node1:/var/no-direct-write-here/gluster-bricks/swarm-vol \
  node2:/var/no-direct-write-here/gluster-bricks/swarm-vol \
  node3:/var/no-direct-write-here/gluster-bricks/swarm-vol
gluster volume set swarm-vol auth.allow 10.64.50.*
gluster volume start swarm-vol
gluster volume status
gluster volume info swarm-vol
# Mount the volume (Run on all nodes)
echo 'localhost:/swarm-vol /swarm-vol glusterfs defaults,_netdev,backupvolfile-server=localhost 0 0' >> /etc/fstab
mkdir -p /swarm-vol
mount /swarm-vol
chown -R root:docker /swarm-vol
# Hack to fix gluster not mounting on boot (Run on all nodes)
sudo mkdir /etc/systemd/system/swarm-vol.mount.d
echo "[Unit]
Requires=glusterfs-server.service
After=network-online.target
Wants=glusterfs-server.service
StartLimitInterval=0
StartLimitBurst=0
[Intall]
WantedBy=multi-user.target
" | sudo tee /etc/systemd/system/swarm-vol.mount.d/override.conf
sudo systemctl daemon-reload
sudo systemctl start swarm\\x2dvol.mount
# Final check
cd /swarm-vol/
df -Th .
                | 1 | # Assuming using /dev/sdb is your new empty disk | 
| 2 | # Assuming 10.0.0.* is your private network | 
| 3 | |
| 4 | # Install and configure GlusterFS. (Run on all nodes) | 
| 5 | apt-get install glusterfs-server -y | 
| 6 | systemctl start glusterd | 
| 7 | systemctl enable glusterd | 
| 8 | |
| 9 | # Format the disk and mount it (Run on all nodes) | 
| 10 | mkfs.xfs /dev/sdb | 
| 11 | echo '/dev/sdb /var/no-direct-write-here/gluster-bricks xfs defaults 0 0' >> /etc/fstab | 
| 12 | mkdir -p /var/no-direct-write-here/gluster-bricks | 
| 13 | mount /var/no-direct-write-here/gluster-bricks | 
| 14 | |
| 15 | # Add the peers (Run on node1) | 
| 16 | gluster peer probe node2 | 
| 17 | gluster peer probe node3 | 
| 18 | gluster peer status | 
| 19 | gluster pool list | 
| 20 | |
| 21 | # Create the volume (Run on node1) | 
| 22 | gluster volume create swarm-vol replica 3 \ | 
| 23 | node1:/var/no-direct-write-here/gluster-bricks/swarm-vol \ | 
| 24 | node2:/var/no-direct-write-here/gluster-bricks/swarm-vol \ | 
| 25 | node3:/var/no-direct-write-here/gluster-bricks/swarm-vol | 
| 26 | gluster volume set swarm-vol auth.allow 10.64.50.* | 
| 27 | gluster volume start swarm-vol | 
| 28 | gluster volume status | 
| 29 | gluster volume info swarm-vol | 
| 30 | |
| 31 | # Mount the volume (Run on all nodes) | 
| 32 | echo 'localhost:/swarm-vol /swarm-vol glusterfs defaults,_netdev,backupvolfile-server=localhost 0 0' >> /etc/fstab | 
| 33 | mkdir -p /swarm-vol | 
| 34 | mount /swarm-vol | 
| 35 | chown -R root:docker /swarm-vol | 
| 36 | |
| 37 | # Hack to fix gluster not mounting on boot (Run on all nodes) | 
| 38 | sudo mkdir /etc/systemd/system/swarm-vol.mount.d | 
| 39 | echo "[Unit] | 
| 40 | Requires=glusterfs-server.service | 
| 41 | After=network-online.target | 
| 42 | Wants=glusterfs-server.service | 
| 43 | StartLimitInterval=0 | 
| 44 | StartLimitBurst=0 | 
| 45 | |
| 46 | [Intall] | 
| 47 | WantedBy=multi-user.target | 
| 48 | " | sudo tee /etc/systemd/system/swarm-vol.mount.d/override.conf | 
| 49 | sudo systemctl daemon-reload | 
| 50 | sudo systemctl start swarm\\x2dvol.mount | 
| 51 | |
| 52 | # Final check | 
| 53 | cd /swarm-vol/ | 
| 54 | df -Th . |