Skip to main content

NFS

NFS

NAS

Server

  • sudo apt-get update
  • sudo apt install nfs-common nfs-kernel-server portmap
  • sudo mkdir -p /data/tomcat
  • sudo chown nobody:nogroup /data/tomcat
  • sudo chmod 777 /data/tomcat
  • sudo vi /etc/exports
    /mnt/sharedfolderdata/tomcat client1IP(*(rw,sync,no_subtree_check)
    /mnt/sharedfolder client2IP(rw,sync,no_subtree_check)
    
    서브넷 
    /mnt/sharedfolder subnetIP/24(rw,sync,no_subtree_check)async,no_root_squash,no_subtree_check,no_root_squash)
  • sudo exportfs -a
  • sudo systemctl restart nfs-kernel-server

 


 

Client

  • sudo ufw allow from [clientIP or clientSubnetIP] to any port nfs
      sudo ufw allow from 192.168.56.1/24 to any port nfs
  • sudo ufw status
  • sudo apt-get update
  • sudo apt-get install nfs-common
  • sudo mkdir -p /data/tomcat
  • sudo mount 192.168.56.1:[nfs folder] [client folder]
     sudo mount 192.168.56.6:/data/tomcat /data/tomcat
  • fstab
     192.168.56.6:/data/tomcat /data/tomcat nfs rsize=8192,wsize=8192,timeo=14,intr

 


  • Backup
    • Host와 Guest의 공유 볼륨을 만든다. - 인터넷을 찾아서 동일하게 처리 https://helpdeskgeek.com/virtualization/virtualbox-share-folder-host-guest/

    • All you have to do is run your virtual machine and then click Devices and then Insert Guest Additions CD Image…
    • root로 실행하기
      •     vi /etc/cron.allow
            crontab -e 
            에디터를 변경하고 싶으면 select-editor
      • backup shell 만들기
        export FinalBackupCnt=10
        export FinalBackupDueDay=100
        export BackupTarget=$1
        export NOW=`date +%Y%m%d%H%m`
        export FinalBackupDay=`date +%Y%m%d%H%m --date="$FinalBackupDueDay days ago"`
        export BackupFolder=/host
        
        
        
        # Backup Delete
        DeleteBackupVm()
        {
        
          echo "## Old $BackupTarget.tar backup file delete ! ##"
          TotalBackupCnt=`find $BackupFolder -name "*$BackupTarget.tar" | wc -l`
          echo ' >> Total backup files count = ' $TotalBackupCnt
          echo ' >> Final backup files remain count = ' $FinalBackupCnt
          TargetDeleteBackupCnt=`expr $TotalBackupCnt - $FinalBackupCnt`
          echo ' > Total backup files count - Final backup files count =' $TargetDeleteBackupCnt
          BackupAllFiles=$(find $BackupFolder -name "*$BackupTarget.tar" | awk -F "/" '{print $3}' | sort -n)
        
        
          cnt=1
          echo ' > ' $FinalBackupDueDay ' day before delete target snapshot list'
          for i in $BackupAllFiles
          do
            backupFileDate=`echo $i | awk -F "-" '{print $1}'`
            echo $cnt " : " $i
            if [ $backupFileDate -le $FinalBackupDay ]
            then
              echo "     DELETE!"
              if [ $TargetDeleteBackupCnt -ge $cnt ]
              then
                   echo "     DELETEED! " $BackupFolder/$i
                   rm $BackupFolder/$i
              else
                   echo "     DELETE SKIP!"
              fi
            fi
          cnt=$(expr $cnt + 1)
          done
        }
        
        
        # Make Backup file
        MakeBackUp()
        {
          echo "Backup date is " $NOW
          tar cfP $BackupFolder/$NOW-$BackupTarget.tar /data/tomcat/$BackupTarget
        
        }
        
        
        echo "\n"
        echo "=========== SNAPSHOT START ! ============="
        echo ">> Backup Target : $BackupTarget"
        echo ">> DATE : $NOW"
        echo ">> Final Backup Due Day : $FinalBackupDueDay"
        echo ">> Final Backup Day : $FinalBackupDay"
        
        DeleteBackupVm
        MakeBackUp
        
        echo "============== $1 BACKUP END   ! ==========="
        echo "\n"
        
      • Crontab -e 등록
        0 4 2,9,16,23 * * /host/backup.sh meta >> /host/meta-backup.log
        0 4 2,9,16,23 * * /host/backup.sh mysql >> /host/mysql-backup.log