# - bof - #



# -  - #
# - Setup ZfsPool in ProxmoxVEServer - #

# -  - #
# - Documentation - #
https://www.youtube.com/watch?v=oSD-VoloQag



# :a
# -  - #
# - Create ZFS  - #

       Name: tank
Add Storage: NO (uncheck)
 RAID Level: Mirror
Compression: lz4



# :b
# -  - #
# - Create DataSets  - #
sshP;
ssh root@10.0.0.50;

zpool list;
zfs list;
zpool status rpool;

sudo zfs create rpool/Data -o mountpoint=/Data;
zfs list -t all -ro space rpool/Data;
zfs list -t all -ro space /Data;

sudo zfs create rpool/Data/Documents;
sudo zfs create rpool/Data/Documents/Downloads;
sudo zfs create rpool/Data/Documents/Music;
sudo zfs create rpool/Data/Documents/Pictures;
sudo zfs create rpool/Data/Documents/Videos;

sudo zfs create rpool/Data/Images;
sudo zfs create rpool/Data/Images/Backup;
sudo zfs create rpool/Data/Images/Programs;
sudo zfs create rpool/Data/Images/VManager;



# :c
# -  - #
# - Create DataSets with quota (SambaShare) - #

sudo zfs create -o refquota=5G rpool/Data/SambaShare;
zfs list -t all -ro space /Data;
zfs list -t all -ro space /Data/SambaShare;
zfs list -t all -ro space rpool;



# :d
# -  - #
# - Create DataSets Snapshots - #

sudo zfs snapshot rpool/Data@DataSnapshot_1;
sudo zfs snapshot rpool/Data@DataSnapshot_2;
zfs list -t all -ro space rpool/Data;
#sudo zfs destroy -r rpool/Data@DataSnapshot;



# :d
# -  - #
# - Create directories - #

# - Create these directories on Proxmox Website - #
Datacenter
Storage
Add
Directory

           ID: ISOs
    Directory: /rpool/ISOs
      Content: VZDump backup file, Import, ISO image, Snippets, Container template
        Nodes: ProxmoxMini
       Enable: Yes (Checked)
Preallocation: Default

           ID: OSs
    Directory: /rpool/OSs
      Content: Disk image, Container
        Nodes: ProxmoxMini
       Enable: Yes (Checked)
Preallocation: Default



# -  - #
# - Authorize Data partition to user - #

sudo chown -R $USER:$USER /Data;
sudo chmod -R 775 /Data;
chmod -R 777 /Data/Sambashare;
#chown -R root:root /OSs/subvol*;



cd /Data/SambaShare;
mkdir -p /Data/SambaShare/ProxmoxVE-Documentation;

# -  - #
# - Copy files in ProxmoxVE-Documentation folder - #


# -  - #
# - Create SambaShare zfs snapshot - #
sudo zfs snapshot rpool/Data/SambaShare@SambaShareSnapshot_1;
zfs list -t snapshot;



# :e
# -  - #
# - Rollback zfs snapshot - #
zfs list -t snapshot;
sudo zfs rollback -r rpool/Data/SambaShare@SambaShareSnapshot_1;


# -  - #
# - Rollback zfs snapshot - #
zfs list -t snapshot;
sudo zfs rollback -r rpool/Data@DataSnapshot_2;



# :f
# -  - #
# - Delete folder ProxmoxVE-Documentation - #

#sudo zfs destroy rpool/Data@DataSnapshot;
#sudo zfs destroy rpool/Data/Images/Backup;
#sudo zfs destroy rpool/Data/Images/Programs/Linux.Img;
#sudo zfs destroy rpool/Data/Images/Programs;
#sudo zfs destroy rpool/Data/Images/VManager;




# -  - #
# - ssh is_derayo ProxmoxVEServer - #
ssh is_derayo@10.0.0.50;

zfs list;



# :g
# -  - #
# - Create ZFS swap partition  - #

# -  - #
# - Documentation  - #
https://first2host.co.uk/blog/how-to-create-a-zfs-swap-partition/


# -  - #
# - ssh is_derayo ProxmoxVE-Mini - #
ssh 192.168.1.16;


zpool list;

╭── # is_derayo@ProxmoxMini ~ :
╰─▷ $ zpool list
NAME       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
DataPool  3.62T  70.2G  3.56T        -         -     0%     1%  1.00x    ONLINE  -
rpool      236G  2.07G   234G        -         -     0%     0%  1.00x    ONLINE  -


# :g.1
# -  - #
# - Create ZFS swap partition  - #
sudo zfs create -V 8G -b $(getconf PAGESIZE) -o compression=zle \
                -o logbias=throughput -o sync=standard \
                -o primarycache=metadata -o secondarycache=none \
                -o com.sun:auto-snapshot=false rpool/swap;


# :g.2
# -  - #
# - Format ProxmoxVE ZFS swap partition  - #
sudo mkswap -L Swap -f /dev/zvol/rpool/swap;


# :g.3
# -  - #
# - Mount ZFS swap partition  - #
sudo vim /etc/fstab;

# <file system>       <dir>   <type>  <options>   <dump>  <pass>
proc                   /proc   proc    defaults    0       0
/dev/zvol/rpool/swap   none    swap    defaults    0       0

sudo swapon -av;
free -h;













# :z
# -  - #
# - Clear ZFS DEGRADED status  - #

sudo zpool clear zfsPool;
sudo zpool clear OSs;



# - eof - #