79 lines
2.1 KiB
Bash
79 lines
2.1 KiB
Bash
#!/usr/bin/zsh
|
|
WA_REPO=$HOME/wa_repos
|
|
TASK_PERFORMING=nfs_server_setup
|
|
NFSGRP=vgnfs
|
|
NFSVOL=lvdata
|
|
PNFS=/$NFSGRP/$NFSVOL
|
|
|
|
source <(curl -sk https://git.service.wiseadvice.eu/wiseadvice_public_repos/wa_public_init_repo/raw/branch/main/common_lib.sh)
|
|
|
|
function perform_lvm_tasks() {
|
|
echo -ne "
|
|
Next Step
|
|
1) create /vgnfs/lvdata on $DISK_NAME and mount as xfs
|
|
2) Skip because already done
|
|
0) Exit
|
|
Choose an option: "
|
|
read -r ans
|
|
case $ans in
|
|
1)
|
|
sudo lsblk
|
|
echo -n "disk name (eg vdb): "
|
|
read -r DISK_NAME
|
|
echo "<=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=>"
|
|
echo "seting up lvm and mount $PNFS"
|
|
cat << EOF
|
|
# doing
|
|
sudo mkdir -p $PNFS
|
|
sudo chown nobody:nogroup $PNFS
|
|
sudo vgcreate $NFSGRP /dev/$DISK_NAME
|
|
sudo lvcreate -n $NFSVOL -l +100%FREE $NFSGRP
|
|
sudo mkfs -t xfs -n ftype=1 /dev/$NFSGRP/$NFSVOL
|
|
sudo echo "/dev/mapper/$NFSGRP-$NFSVOL /$NFSGRP/$NFSVOL xfs defaults,nofail,x-systemd.device-timeout=10 0 0" >> /etc/fstab
|
|
sudo mount -a
|
|
EOF
|
|
sudo mkdir -p $PNFS
|
|
sudo chown nobody:nogroup $PNFS
|
|
sudo vgcreate $NFSGRP /dev/$DISK_NAME
|
|
sudo lvcreate -n $NFSVOL -l +100%FREE $NFSGRP
|
|
sudo mkfs -t xfs -n ftype=1 /dev/$NFSGRP/$NFSVOL
|
|
echo "/dev/mapper/$NFSGRP-$NFSVOL /$NFSGRP/$NFSVOL xfs defaults,nofail,x-systemd.device-timeout=10 0 0" sudo tee -a /etc/fstab
|
|
sudo systemctl daemon-reload
|
|
sudo mount -a
|
|
;;
|
|
|
|
2)
|
|
echo "...skipping"
|
|
;;
|
|
|
|
0)
|
|
echo "Bye bye."
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "Wrong option."
|
|
what_to_do
|
|
;;
|
|
esac
|
|
}
|
|
if [ ! -d $PNFS ]; then
|
|
echo "$PNFS does not exist. Performing LVM tasks ..."
|
|
perform_lvm_tasks
|
|
fi
|
|
echo "now initializing repos"
|
|
init_repos
|
|
|
|
sudo apt install nfs-kernel-server rpcbind acl -y
|
|
NFS_INSTRUCTIONS=$CLIENT_REPO/nfs
|
|
if [ -f $NFS_INSTRUCTIONS/folder_structure.sh ]; then
|
|
source $NFS_INSTRUCTIONS/folder_structure.sh
|
|
fi
|
|
if [ -f $NFS_INSTRUCTIONS/exports.txt ]; then
|
|
sudo mv -f $NFS_INSTRUCTIONS/exports.txt /etc/exports
|
|
fi
|
|
|
|
|
|
sudo exportfs -ra #reloading exports
|
|
|
|
sudo chown -R sysadmin:sysadmin $PNFS
|