diff options
Diffstat (limited to 'CentOS')
-rw-r--r-- | CentOS/Dockerfile | 2 | ||||
-rw-r--r-- | CentOS/gluster-setup.sh | 107 |
2 files changed, 68 insertions, 41 deletions
diff --git a/CentOS/Dockerfile b/CentOS/Dockerfile index db7a578..c2a12f2 100644 --- a/CentOS/Dockerfile +++ b/CentOS/Dockerfile @@ -23,7 +23,7 @@ rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ rm -f /lib/systemd/system/basic.target.wants/*;\ rm -f /lib/systemd/system/anaconda.target.wants/*;\ -yum --setopt=tsflags=nodocs -y install wget nfs-utils attr iputils iproute openssh-server openssh-clients ntp rsync tar cronie sudo xfsprogs glusterfs glusterfs-server glusterfs-geo-replication;yum clean all; \ +yum --setopt=tsflags=nodocs -y install nfs-utils attr iputils iproute openssh-server openssh-clients ntp rsync tar cronie sudo xfsprogs glusterfs glusterfs-server glusterfs-geo-replication;yum clean all; \ sed -i '/Defaults requiretty/c\#Defaults requiretty' /etc/sudoers; \ sed -i '/Port 22/c\Port 2222' /etc/ssh/sshd_config; \ sed -i 's/Requires\=rpcbind\.service//g' /usr/lib/systemd/system/glusterd.service; \ diff --git a/CentOS/gluster-setup.sh b/CentOS/gluster-setup.sh index 98570f5..1fdaf37 100644 --- a/CentOS/gluster-setup.sh +++ b/CentOS/gluster-setup.sh @@ -13,57 +13,84 @@ ### main () { - if test "$(ls /var/lib/heketi/fstab)" - then - mount -a --fstab /var/lib/heketi/fstab - if [ $? -eq 1 ] - then - echo "mount failed" - exit 1 - fi - echo "Mount Successful" - else - echo "heketi-fstab not found" - fi - DIR_1="/etc/glusterfs" - DIR_2="/var/log/glusterfs" - DIR_3="/var/lib/glusterd" - var=0 - for i in $DIR_1 $DIR_2 $DIR_3 + GLUSTERFS_CONF_DIR="/etc/glusterfs" + GLUSTERFS_LOG_DIR="/var/log/glusterfs" + GLUSTERFS_META_DIR="/var/lib/glusterd" + GLUSTERFS_LOG_CONT_DIR="/var/log/glusterfs/container" + GLUSTERFS_CUSTOM_FSTAB="/var/lib/heketi/fstab" + + mkdir $GLUSTERFS_LOG_CONT_DIR + for i in $GLUSTERFS_CONF_DIR $GLUSTERFS_LOG_DIR $GLUSTERFS_META_DIR do if test "$(ls $i)" then - echo "$i is not empty" - var=$((var+1)) + echo "$i is not empty" + else + bkp=$i"_bkp" + cp -r $bkp/* $i + if [ $? -eq 1 ] + then + echo "Failed to copy $i" + exit 1 + fi + ls -R $i > ${GLUSTERFS_LOG_CONT_DIR}/${i}_ls fi done - if [ $var -eq 3 ] + if test "$(ls $GLUSTERFS_LOG_CONT_DIR)" then - exit 1 + echo "" > $GLUSTERFS_LOG_CONT_DIR/brickattr + echo "" > $GLUSTERFS_LOG_CONT_DIR/failed_bricks + echo "" > $GLUSTERFS_LOG_CONT_DIR/lvscan + echo "" > $GLUSTERFS_LOG_CONT_DIR/mountfstab + else + mkdir $GLUSTERFS_LOG_CONT_DIR + echo "" > $GLUSTERFS_LOG_CONT_DIR/brickattr + echo "" > $GLUSTERFS_LOG_CONT_DIR/failed_bricks fi - - cp -r /etc/glusterfs_bkp/* /etc/glusterfs - if [ $? -eq 1 ] + if test "$(ls $GLUSTERFS_CUSTOM_FSTAB)" then - echo "Failed to copy $DIR_1" - exit 1 - fi - - cp -r /var/log/glusterfs_bkp/* /var/log/glusterfs - if [ $? -eq 1 ] - then - echo "Failed to copy $DIR_2" - exit 1 + sleep 5 + pvscan > $GLUSTERFS_LOG_CONT_DIR/pvscan + vgscan > $GLUSTERFS_LOG_CONT_DIR/vgscan + lvscan > $GLUSTERFS_LOG_CONT_DIR/lvscan + mount -a --fstab $GLUSTERFS_CUSTOM_FSTAB > $GLUSTERFS_LOG_CONT_DIR/mountfstab + if [ $? -eq 1 ] + then + echo "mount binary not failed" >> $GLUSTERFS_LOG_CONT_DIR/mountfstab + exit 1 + fi + echo "Mount command Successful" >> $GLUSTERFS_LOG_CONT_DIR/mountfstab + sleep 40 + cut -f 2 -d " " $GLUSTERFS_CUSTOM_FSTAB | while read -r line + do + if grep -qs "$line" /proc/mounts; then + echo "$line mounted." >> $GLUSTERFS_LOG_CONT_DIR/mountfstab + if test "ls $line/brick" + then + echo "$line/brick is present" >> $GLUSTERFS_LOG_CONT_DIR/mountfstab + getfattr -d -m . -e hex "$line"/brick >> $GLUSTERFS_LOG_CONT_DIR/brickattr + else + echo "$line/brick is not present" >> $GLUSTERFS_LOG_CONT_DIR/mountfstab + sleep 1 + fi + else + grep "$line" $GLUSTERFS_CUSTOM_FSTAB >> $GLUSTERFS_LOG_CONT_DIR/failed_bricks + echo "$line not mounted." >> $GLUSTERFS_LOG_CONT_DIR/mountfstab + sleep 0.5 + fi + done + if [ "$(wc -l $GLUSTERFS_LOG_CONT_DIR/failed_bricks )" -gt 1 ] + then + vgscan --mknodes > $GLUSTERFS_LOG_CONT_DIR/vgscan_mknodes + sleep 10 + mount -a --fstab $GLUSTERFS_LOG_CONT_DIR/failed_bricks + fi + else + echo "heketi-fstab not found" fi - cp -r /var/lib/glusterd_bkp/* /var/lib/glusterd - if [ $? -eq 1 ] - then - echo "Failed to copy $DIR_3" - exit 1 - fi - echo "Script Ran Successfully" + exit 0 } main |