Compare commits

..

No commits in common. "e017320e8c78d023edc3887538792102ac0f7d94" and "f42d97ba02bd23a9a83aff959d197873933d521f" have entirely different histories.

9 changed files with 7 additions and 155 deletions

View File

@ -1,13 +0,0 @@
# [asgard] K0S
## Installation
`curl -sSLf https://get.k0s.sh | sudo K0S_VERSION=v1.29.4+k0s.0 sh`
`sudo mkdir /etc/k0s`
`sudo k0s config create | sudo tee /etc/k0s/k0s.yml`
`sudo k0s install controller --data-dir /data/k0s --single -c /etc/k0s/k0s.yml`
`sudo k0s start`

View File

@ -1,43 +0,0 @@
# [asgard] Stockage
## Schéma de partitionnement cible
- **vda** (disque système cloud-init) 10G
- vda14 (BIOS boot)
- vda15 (EFI)
- vda1 (partition racine /)
- **vdb** (disque secondaire LVM) 5G
### Schéma de partitionnement LVM
- **data** (LVM volume group) : **vdb**
- **k0s** (LVM logical volume) : 5G
## Initialisation LVM pour le disque secondaire
Création du *physical volume* **vdb**
`sudo pvcreate /dev/vdb`
Création du *volume groupe* **data**
`sudo vgcreate data /dev/vdb`
Création du *logical volume* **k0s**
`sudo lvcreate -l+100%FREE -n k0s data`
### Formatage et montage des volumes de données
Formatage du volume en EXT4
`sudo mkfs.ext4 /dev/data/k0s`
Création des répertoires `/data/k0s`
`sudo mkdir -p /data/k0s`
Montage des volumes. Via `/etc/fstab`
```
/dev/data/k0s /data/k0s ext4 rw,discard,errors=remount-ro 0 1
```
`sudo mount /data/k0s`

View File

@ -1,10 +0,0 @@
#!/bin/sh
set -e
BASEDIR=$(dirname "$0")
install -o root -g root -m 755 "$BASEDIR/mkpsqlbackup" /usr/local/bin/mkpsqlbackup
install -o root -g root -m 644 "$BASEDIR/mkpsqlbackup.conf" /etc/mkpsqlbackup.conf
install -o root -g root -m 644 "$BASEDIR/mkpsqlbackup.service" /etc/systemd/system/mkpsqlbackup.service
install -o root -g root -m 644 "$BASEDIR/mkpsqlbackup.timer" /etc/systemd/system/mkpsqlbackup.timer

View File

@ -1,35 +0,0 @@
#!/bin/sh
set -e
# Default configuration
DATABASES=''
BACKUP_DIR=/data/backup/postgresql
RETENTION_DAYS=7
if ! source /etc/mkpsqlbackup.conf ; then
echo '[MKPSQLBACKUP] : Unable to load configuration file' >&2
exit 1
fi
if [ "$(id -un)" != 'postgres' ] ; then
echo '[MKPSQLBACKUP] : This script must be run as postgres user' >&2
exit 2
fi
FINAL_BACKUP_DIR="$BACKUP_DIR/-$(date '+%Y-%m-%d')"
echo "[MKPSQLBACKUP] : Creating backup directory $FINAL_BACKUP_DIR"
if ! mkdir -p "$FINAL_BACKUP_DIR" ; then
echo "[MKPSQLBACKUP] : Unable to create backup directory $FINAL_BACKUP_DIR"
exit 3
fi
for db in DATABASES ; do
echo "[MKPSQLBACKUP] : Backup of $db"
if ! pg_dump -Fc "$db" -f "$FINAL_BACKUP_DIR/$db" ; then
echo "[MKPSQLBACKUP] : Unable to backup database $db" >&2
fi
done
echo '[MKPSQLBACKUP] : Purging old backups'
find "$BACKUP_DIR" -maxdepth 1 mindepth 1 -mtime +"$RETENTION_DAYS" -exec rm -rf '{}' ';'

View File

@ -1,3 +0,0 @@
DATABASES=''
BACKUP_DIR=/data/backup/postgresql
RETENTION_DAYS=7

View File

@ -1,5 +0,0 @@
[Unit]
Description=Performing PostgreSQL database backups
[Service]
ExecStart=/usr/local/bin/mkpsqlbackup

View File

@ -1,10 +0,0 @@
[Unit]
Description=Performing PostgreSQL database backups every days at 3:00am
[Timer]
# Run every days at 3:00am
OnCalendar=*-*-* 3:00:00
Persistent=true
[Install]
WantedBy=timers.target

View File

@ -1,21 +0,0 @@
# [midgard] PostgreSQL
## Installation
`sudo curl -o /etc/apt/trusted.gpg.d/pgdg.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc`
`echo "deb [signed-by=/etc/apt/trusted.gpg.d/pgdg.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list`
`sudo apt update`
`sudo apt install postgresql-16`
## Configuration
`sudo chown postgres:postgres /data/pgdata /data/pglog`
`sudo pg_dropcluster --stop 16 main`
`sudo pg_createcluster -d /data/pgdata/16/midgard -l /data/pglog/postgresql-16-midgard.log 16 midgard`
`sudo pg_ctlcluster start 16 midgard`

View File

@ -6,13 +6,12 @@
- vda15 (EFI)
- vda1 (partition racine /)
- **vdb** (disque secondaire LVM) 6G
- **vdb** (disque secondaire LVM) 5G
### Schéma de partitionnement LVM
- **data** (LVM volume group) : **vdb**
- **pgdata** (LVM logical volume) : 4G
- **pglog** (LVM logical volume) : 1G
- **backup** (LVM logical volume) : 1G
## Initialisation LVM pour le disque secondaire
@ -24,13 +23,11 @@ Création du *volume groupe* **data**
`sudo vgcreate data /dev/vdb`
Création des *logical volumes* **pgdata**, **pglog** et **backup**
Création des *logical volumes* **pgdata** et **pglog**
`sudo lvcreate -L 4G -n pgdata data`
`sudo lvcreate -L 1G -n pglog data`
`sudo lvcreate -l+100%FREE -n backup data`
`sudo lvcreate -l+100%FREE -n pglog data`
### Formatage et montage des volumes de données
Formatage les deux volumes en EXT4
@ -39,22 +36,17 @@ Formatage les deux volumes en EXT4
`sudo mkfs.ext4 /dev/data/pgdata`
`sudo mkfs.ext4 /dev/data/backup`
Création des répertoires `/data/pgdata` et `/data/pglog`
Création des répertoires `/data/pgdata`, `/data/pglog` et `/data/backup`
`sudo mkdir -p /data/pgdata /data/pglog /data/backup`
`sudo mkdir -p /data/pgdata /data/pglog`
Montage des volumes. Via `/etc/fstab`
```
/dev/data/pgdata /data/pgdata ext4 rw,discard,errors=remount-ro 0 1
/dev/data/pglog /data/pglog ext4 rw,discard,errors=remount-ro 0 1
/dev/data/backup /data/backup ext4 rw,discard,errors=remount-ro 0 1
/dev/data/pgdata /data/pgdata ext4 rw,discard,errors=remount-ro,x-systemd.growfs 0 1
/dev/data/pglog /data/pglog ext4 rw,discard,errors=remount-ro,x-systemd.growfs 0 1
```
`sudo mount /data/pgdata`
`sudo mount /data/pglog`
`sudo mount /data/backup`