Encrypted LVM and systemd unit file to mount a file system - HaymonEdmur/DockerConfiguration GitHub Wiki
Encrypt device
dd if=/dev/urandom of=/dev/sdb bs=512 count=20480
cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sdb
Open device for LVM physical volume initialization
cryptsetup luksOpen /dev/sdb sdb_crypt
Above command will create a device file which can be used for pvcreate command
ls -l /dev/mapper/sdb_crypt
pvcreate /dev/mapper/sdb_crypt
vgcreate database_vg /dev/mapper/sdb_crypt
lvcreate -n mysql -L10G database_vg
mkfs.ext4 /dev/database_vg/mysql
Systemd Unit file to standard mounting
mkdir /database/mysql
mount /dev/database_vg/mysql /database/mysql
Add unit file in /etc/systemd/system
The mount dirs must be in file name ( /database/mysql = database-mysql.mount )
cat database-mysql.mount
[Unit]
Description=MySQL File System
[Mount]
What=/dev/database_vg/mysql
Where=/database/mysql
Type=ext4
[Install]
WantedBy=multi-user.target