Add swap service to api

This commit is contained in:
jstefanop 2021-12-14 19:35:27 -05:00
parent dacc6ee88b
commit cda7858259
9 changed files with 73 additions and 28 deletions

View File

@ -1,23 +1,5 @@
#!/bin/bash
# Stop node
systemctl stop node
sleep 10
screen -dmS disk /opt/apolloapi/backend/format_node_disk_c
# Umount disk, remove existing partition
umount /media/nvme
parted /dev/nvme0n1 rm 1
# Format disk
parted /dev/nvme0n1 mklabel gpt -s
parted -a opt /dev/nvme0n1 mkpart primary ext4 0% 100% -s
mkfs.ext4 /dev/nvme0n1p1
#configure node drive
mount /dev/nvme0n1p1 /media/nvme
tune2fs -m .1 /dev/nvme0n1p1
mkdir /media/nvme/Bitcoin
chown -R futurebit /media/nvme/Bitcoin/
#Start node
systemctl start node
sleep 75

25
backend/format_node_disk_c Executable file
View File

@ -0,0 +1,25 @@
#!/bin/bash
# Stop node + swap
systemctl stop node
swapoff /media/nvme/swapfile
sleep 10
# Umount disk, remove existing partition
umount /media/nvme
wipefs -af /dev/nvme0n1
# Format disk
parted /dev/nvme0n1 mklabel gpt -s
parted -a opt /dev/nvme0n1 mkpart primary ext4 0% 100% -s
mkfs.ext4 /dev/nvme0n1p1 -F
#configure node drive
mount /dev/nvme0n1p1 /media/nvme
tune2fs -m .1 /dev/nvme0n1p1
mkdir /media/nvme/Bitcoin
chown -R futurebit /media/nvme/Bitcoin/
#Start node + swap
systemctl start swap
systemctl start node

View File

@ -99,12 +99,14 @@ cp $APOLLO_DIR/backend/apollo-miner/bin/$arch/apollo-miner $APOLLO_DIR/backend/a
echo -e "${YELLOW} ---> Installing systemd files${NC}"
cp $APOLLO_DIR/backend/apollo-ui.service /etc/systemd/system/
cp $APOLLO_DIR/backend/apollo-miner.service /etc/systemd/system/
cp $APOLLO_DIR/backend/node.service /etc/systemd/system/
cp $APOLLO_DIR/backend/systemd/apollo-ui.service /etc/systemd/system/
cp $APOLLO_DIR/backend/systemd/apollo-miner.service /etc/systemd/system/
cp $APOLLO_DIR/backend/systemd/node.service /etc/systemd/system/
cp $APOLLO_DIR/backend/systemd/swap.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable swap
systemctl enable apollo-ui
systemctl enable apollo-miner
systemctl enable node

14
backend/systemd/start_swap.sh Executable file
View File

@ -0,0 +1,14 @@
#!/bin/bash
DEVICE=/dev/nvme0n1p1
SWAPFILE=/media/nvme/swapfile
if [ -b "$DEVICE" ]; then
if [ ! -f "$SWAPFILE" ]; then
fallocate -l 2G $SWAPFILE
chmod 600 $SWAPFILE
mkswap $SWAPFILE
fi
swapon /media/nvme/swapfile
else
exit 0
fi

View File

@ -0,0 +1,13 @@
[Unit]
Description=swap
After=multi-user.target rc-local.service
[Service]
Type=simple
User=root
#Start:
ExecStart=/opt/apolloapi/backend/start_swap.sh
WorkingDirectory=/media/nvme
[Install]
WantedBy=multi-user.target

View File

@ -25,16 +25,25 @@ echo "90" > $TMPFILE
### SYSTEMD ###
echo -e "${YELLOW} ---> Updating systemd files${NC}"
cp $APOLLO_DIR/backend/apollo-ui.service /etc/systemd/system/
cp $APOLLO_DIR/backend/apollo-miner.service /etc/systemd/system/
cp $APOLLO_DIR/backend/node.service /etc/systemd/system/
cp $APOLLO_DIR/backend/systemd/apollo-ui.service /etc/systemd/system/
cp $APOLLO_DIR/backend/systemd/apollo-miner.service /etc/systemd/system/
cp $APOLLO_DIR/backend/systemd/node.service /etc/systemd/system/
cp $APOLLO_DIR/backend/systemd/swap.service /etc/systemd/system/
cp $APOLLO_DIR/backend/systemd/start_swap.sh $APOLLO_DIR/backend/start_swap.sh
echo -e "${YELLOW} ---> Reloading systemd${NC}"
systemctl daemon-reload
echo "100" > $TMPFILE
echo -e "${YELLOW} ---> Restarting APP${NC}"
systemctl restart apollo-ui
systemctl enable swap
systemctl start swap
systemctl restart node
systemctl restart apollo-miner
#Restart UI after old version of UI finishes update progress
( sleep 1 ; systemctl restart apollo-ui ) &
echo "100" > $TMPFILE