mirror of
https://github.com/terem42/zfs-hetzner-vm.git
synced 2025-12-23 23:38:38 +00:00
Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a283542850 | ||
|
|
c23b735462 | ||
|
|
c7b8d13be8 | ||
|
|
d8f796dc38 | ||
|
|
3d93256d17 | ||
|
|
37baec84ca | ||
|
|
3b9a132a1d | ||
|
|
fecb5ca25c | ||
|
|
59e7e2352f | ||
|
|
c1122406eb | ||
|
|
40d0221d18 | ||
|
|
f41b62ad32 | ||
|
|
ccccb6f175 |
24
.github/workflows/shellcheck.yml
vendored
Normal file
24
.github/workflows/shellcheck.yml
vendored
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
name: shellcheck
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [master, develop]
|
||||||
|
pull_request:
|
||||||
|
branches: [master]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Shellcheck:
|
||||||
|
name: Shellcheck
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Code checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Check scripts with Shellcheck
|
||||||
|
uses: essentialkaos/shellcheck-action@v1
|
||||||
|
with:
|
||||||
|
files: hetzner-debian10-zfs-setup.sh hetzner-debian11-zfs-setup.sh hetzner-ubuntu18-zfs-setup.sh hetzner-ubuntu20-zfs-setup.sh
|
||||||
|
severity: error
|
||||||
|
format: gcc
|
||||||
|
shell: bash
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
# zfs-hetzner-vm
|
# zfs-hetzner-vm
|
||||||
|
|
||||||
|
[](https://github.com/terem42/zfs-hetzner-vm/actions/workflows/shellcheck.yml)
|
||||||
|
|
||||||
Scripts to install Debian 11, 10 or Ubuntu 20, 18 with ZFS root on Hetzner root servers (virtual and dedicated).<br/>
|
Scripts to install Debian 11, 10 or Ubuntu 20, 18 with ZFS root on Hetzner root servers (virtual and dedicated).<br/>
|
||||||
__WARNING:__ all data on the disk will be destroyed.
|
__WARNING:__ all data on the disk will be destroyed.
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ c_deb_security_repo=http://mirror.hetzner.de/debian/security
|
|||||||
|
|
||||||
c_default_zfs_arc_max_mb=250
|
c_default_zfs_arc_max_mb=250
|
||||||
c_default_bpool_tweaks="-o ashift=12 -O compression=lz4"
|
c_default_bpool_tweaks="-o ashift=12 -O compression=lz4"
|
||||||
c_default_rpool_tweaks="-o ashift=12 -O acltype=posixacl -O compression=lz4 -O dnodesize=auto -O relatime=on -O xattr=sa -O normalization=formD"
|
c_default_rpool_tweaks="-o ashift=12 -O acltype=posixacl -O compression=zstd-9 -O dnodesize=auto -O relatime=on -O xattr=sa -O normalization=formD"
|
||||||
c_default_hostname=terem
|
c_default_hostname=terem
|
||||||
c_zfs_mount_dir=/mnt
|
c_zfs_mount_dir=/mnt
|
||||||
c_log_dir=$(dirname "$(mktemp)")/zfs-hetzner-vm
|
c_log_dir=$(dirname "$(mktemp)")/zfs-hetzner-vm
|
||||||
@@ -499,7 +499,7 @@ echo "======= installing zfs on rescue system =========="
|
|||||||
apt install --yes zfs-dkms zfsutils-linux
|
apt install --yes zfs-dkms zfsutils-linux
|
||||||
add-apt-repository -r 'deb http://ppa.launchpad.net/jonathonf/zfs/ubuntu focal main'
|
add-apt-repository -r 'deb http://ppa.launchpad.net/jonathonf/zfs/ubuntu focal main'
|
||||||
apt update
|
apt update
|
||||||
find /usr/local/sbin/ -type l | xargs rm
|
find /usr/local/sbin/ -type l -exec rm {} +
|
||||||
zfs --version
|
zfs --version
|
||||||
|
|
||||||
echo "======= partitioning the disk =========="
|
echo "======= partitioning the disk =========="
|
||||||
@@ -542,10 +542,12 @@ echo "======= create zfs pools and datasets =========="
|
|||||||
|
|
||||||
zpool create \
|
zpool create \
|
||||||
$v_bpool_tweaks -O canmount=off -O devices=off \
|
$v_bpool_tweaks -O canmount=off -O devices=off \
|
||||||
|
-o cachefile=/etc/zfs/zpool.cache \
|
||||||
-O mountpoint=/boot -R $c_zfs_mount_dir -f \
|
-O mountpoint=/boot -R $c_zfs_mount_dir -f \
|
||||||
$v_bpool_name $pools_mirror_option "${bpool_disks_partitions[@]}"
|
$v_bpool_name $pools_mirror_option "${bpool_disks_partitions[@]}"
|
||||||
|
|
||||||
echo -n "$v_passphrase" | zpool create \
|
echo -n "$v_passphrase" | zpool create \
|
||||||
|
-o cachefile=/etc/zfs/zpool.cache \
|
||||||
$v_rpool_tweaks \
|
$v_rpool_tweaks \
|
||||||
"${encryption_options[@]}" \
|
"${encryption_options[@]}" \
|
||||||
-O mountpoint=/ -R $c_zfs_mount_dir -f \
|
-O mountpoint=/ -R $c_zfs_mount_dir -f \
|
||||||
@@ -728,25 +730,8 @@ chroot_execute "dpkg-reconfigure openssh-server -f noninteractive"
|
|||||||
echo "======= set root password =========="
|
echo "======= set root password =========="
|
||||||
chroot_execute "echo root:$(printf "%q" "$v_root_password") | chpasswd"
|
chroot_execute "echo root:$(printf "%q" "$v_root_password") | chpasswd"
|
||||||
|
|
||||||
echo "======= setting up zfs services =========="
|
echo "======= setting up zfs cache =========="
|
||||||
chroot_execute "cat > /etc/systemd/system/zfs-import-bpool.service <<UNIT
|
cp /etc/zfs/zpool.cache /mnt/etc/zfs/zpool.cache
|
||||||
[Unit]
|
|
||||||
DefaultDependencies=no
|
|
||||||
Before=zfs-import-scan.service
|
|
||||||
Before=zfs-import-cache.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=yes
|
|
||||||
ExecStartPre=/bin/sh -c '[ -f /etc/zfs/zpool.cache ] && mv /etc/zfs/zpool.cache /etc/zfs/preboot_zpool.cache || true'
|
|
||||||
ExecStart=/sbin/zpool import -N -o cachefile=none -d /dev/disk/by-id $v_bpool_name
|
|
||||||
ExecStartPost=/bin/sh -c '[ -f /etc/zfs/preboot_zpool.cache ] && mv /etc/zfs/preboot_zpool.cache /etc/zfs/zpool.cache || true'
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=zfs-import.target
|
|
||||||
UNIT"
|
|
||||||
|
|
||||||
chroot_execute "systemctl enable zfs-import-bpool.service"
|
|
||||||
|
|
||||||
echo "========setting up zfs module parameters========"
|
echo "========setting up zfs module parameters========"
|
||||||
chroot_execute "echo options zfs zfs_arc_max=$((v_zfs_arc_max_mb * 1024 * 1024)) >> /etc/modprobe.d/zfs.conf"
|
chroot_execute "echo options zfs zfs_arc_max=$((v_zfs_arc_max_mb * 1024 * 1024)) >> /etc/modprobe.d/zfs.conf"
|
||||||
@@ -841,7 +826,7 @@ fi
|
|||||||
|
|
||||||
echo "======= setting mountpoints =========="
|
echo "======= setting mountpoints =========="
|
||||||
chroot_execute "zfs set mountpoint=legacy $v_bpool_name/BOOT/debian"
|
chroot_execute "zfs set mountpoint=legacy $v_bpool_name/BOOT/debian"
|
||||||
chroot_execute "echo $v_bpool_name/BOOT/debian /boot zfs nodev,relatime,x-systemd.requires=zfs-import-bpool.service 0 0 > /etc/fstab"
|
chroot_execute "echo $v_bpool_name/BOOT/debian /boot zfs nodev,relatime,x-systemd.requires=zfs-mount.service,x-systemd.device-timeout=10 0 0 > /etc/fstab"
|
||||||
|
|
||||||
chroot_execute "zfs set mountpoint=legacy $v_rpool_name/var/log"
|
chroot_execute "zfs set mountpoint=legacy $v_rpool_name/var/log"
|
||||||
chroot_execute "echo $v_rpool_name/var/log /var/log zfs nodev,relatime 0 0 >> /etc/fstab"
|
chroot_execute "echo $v_rpool_name/var/log /var/log zfs nodev,relatime 0 0 >> /etc/fstab"
|
||||||
|
|||||||
@@ -499,7 +499,7 @@ echo "======= installing zfs on rescue system =========="
|
|||||||
apt install --yes zfs-dkms zfsutils-linux
|
apt install --yes zfs-dkms zfsutils-linux
|
||||||
add-apt-repository -r 'deb http://ppa.launchpad.net/jonathonf/zfs/ubuntu focal main'
|
add-apt-repository -r 'deb http://ppa.launchpad.net/jonathonf/zfs/ubuntu focal main'
|
||||||
apt update
|
apt update
|
||||||
find /usr/local/sbin/ -type l | xargs rm
|
find /usr/local/sbin/ -type l -exec rm {} +
|
||||||
zfs --version
|
zfs --version
|
||||||
|
|
||||||
echo "======= partitioning the disk =========="
|
echo "======= partitioning the disk =========="
|
||||||
@@ -542,11 +542,13 @@ echo "======= create zfs pools and datasets =========="
|
|||||||
|
|
||||||
zpool create \
|
zpool create \
|
||||||
$v_bpool_tweaks -O canmount=off -O devices=off \
|
$v_bpool_tweaks -O canmount=off -O devices=off \
|
||||||
|
-o cachefile=/etc/zfs/zpool.cache \
|
||||||
-O mountpoint=/boot -R $c_zfs_mount_dir -f \
|
-O mountpoint=/boot -R $c_zfs_mount_dir -f \
|
||||||
$v_bpool_name $pools_mirror_option "${bpool_disks_partitions[@]}"
|
$v_bpool_name $pools_mirror_option "${bpool_disks_partitions[@]}"
|
||||||
|
|
||||||
echo -n "$v_passphrase" | zpool create \
|
echo -n "$v_passphrase" | zpool create \
|
||||||
$v_rpool_tweaks \
|
$v_rpool_tweaks \
|
||||||
|
-o cachefile=/etc/zfs/zpool.cache \
|
||||||
"${encryption_options[@]}" \
|
"${encryption_options[@]}" \
|
||||||
-O mountpoint=/ -R $c_zfs_mount_dir -f \
|
-O mountpoint=/ -R $c_zfs_mount_dir -f \
|
||||||
$v_rpool_name $pools_mirror_option "${rpool_disks_partitions[@]}"
|
$v_rpool_name $pools_mirror_option "${rpool_disks_partitions[@]}"
|
||||||
@@ -728,25 +730,9 @@ chroot_execute "dpkg-reconfigure openssh-server -f noninteractive"
|
|||||||
echo "======= set root password =========="
|
echo "======= set root password =========="
|
||||||
chroot_execute "echo root:$(printf "%q" "$v_root_password") | chpasswd"
|
chroot_execute "echo root:$(printf "%q" "$v_root_password") | chpasswd"
|
||||||
|
|
||||||
echo "======= setting up zfs services =========="
|
echo "======= setting up zfs cache =========="
|
||||||
chroot_execute "cat > /etc/systemd/system/zfs-import-bpool.service <<UNIT
|
|
||||||
[Unit]
|
|
||||||
DefaultDependencies=no
|
|
||||||
Before=zfs-import-scan.service
|
|
||||||
Before=zfs-import-cache.service
|
|
||||||
|
|
||||||
[Service]
|
cp /etc/zfs/zpool.cache /mnt/etc/zfs/zpool.cache
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=yes
|
|
||||||
ExecStartPre=/bin/sh -c '[ -f /etc/zfs/zpool.cache ] && mv /etc/zfs/zpool.cache /etc/zfs/preboot_zpool.cache || true'
|
|
||||||
ExecStart=/sbin/zpool import -N -o cachefile=none -d /dev/disk/by-id $v_bpool_name
|
|
||||||
ExecStartPost=/bin/sh -c '[ -f /etc/zfs/preboot_zpool.cache ] && mv /etc/zfs/preboot_zpool.cache /etc/zfs/zpool.cache || true'
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=zfs-import.target
|
|
||||||
UNIT"
|
|
||||||
|
|
||||||
chroot_execute "systemctl enable zfs-import-bpool.service"
|
|
||||||
|
|
||||||
echo "========setting up zfs module parameters========"
|
echo "========setting up zfs module parameters========"
|
||||||
chroot_execute "echo options zfs zfs_arc_max=$((v_zfs_arc_max_mb * 1024 * 1024)) >> /etc/modprobe.d/zfs.conf"
|
chroot_execute "echo options zfs zfs_arc_max=$((v_zfs_arc_max_mb * 1024 * 1024)) >> /etc/modprobe.d/zfs.conf"
|
||||||
@@ -844,7 +830,7 @@ fi
|
|||||||
|
|
||||||
echo "======= setting mountpoints =========="
|
echo "======= setting mountpoints =========="
|
||||||
chroot_execute "zfs set mountpoint=legacy $v_bpool_name/BOOT/debian"
|
chroot_execute "zfs set mountpoint=legacy $v_bpool_name/BOOT/debian"
|
||||||
chroot_execute "echo $v_bpool_name/BOOT/debian /boot zfs nodev,relatime,x-systemd.requires=zfs-import-bpool.service 0 0 > /etc/fstab"
|
chroot_execute "echo $v_bpool_name/BOOT/debian /boot zfs nodev,relatime,x-systemd.requires=zfs-mount.service,x-systemd.device-timeout=10 0 0 > /etc/fstab"
|
||||||
|
|
||||||
chroot_execute "zfs set mountpoint=legacy $v_rpool_name/var/log"
|
chroot_execute "zfs set mountpoint=legacy $v_rpool_name/var/log"
|
||||||
chroot_execute "echo $v_rpool_name/var/log /var/log zfs nodev,relatime 0 0 >> /etc/fstab"
|
chroot_execute "echo $v_rpool_name/var/log /var/log zfs nodev,relatime 0 0 >> /etc/fstab"
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ c_deb_security_repo=http://mirror.hetzner.de/ubuntu/security
|
|||||||
|
|
||||||
c_default_zfs_arc_max_mb=250
|
c_default_zfs_arc_max_mb=250
|
||||||
c_default_bpool_tweaks="-o ashift=12 -O compression=lz4"
|
c_default_bpool_tweaks="-o ashift=12 -O compression=lz4"
|
||||||
c_default_rpool_tweaks="-o ashift=12 -O acltype=posixacl -O compression=lz4 -O dnodesize=auto -O relatime=on -O xattr=sa -O normalization=formD"
|
c_default_rpool_tweaks="-o ashift=12 -O acltype=posixacl -O compression=zstd-9 -O dnodesize=auto -O relatime=on -O xattr=sa -O normalization=formD"
|
||||||
c_default_hostname=terem
|
c_default_hostname=terem
|
||||||
c_zfs_mount_dir=/mnt
|
c_zfs_mount_dir=/mnt
|
||||||
c_log_dir=$(dirname "$(mktemp)")/zfs-hetzner-vm
|
c_log_dir=$(dirname "$(mktemp)")/zfs-hetzner-vm
|
||||||
@@ -466,7 +466,7 @@ echo "======= installing zfs on rescue system =========="
|
|||||||
apt install --yes zfs-dkms zfsutils-linux
|
apt install --yes zfs-dkms zfsutils-linux
|
||||||
add-apt-repository -r 'deb http://ppa.launchpad.net/jonathonf/zfs/ubuntu focal main'
|
add-apt-repository -r 'deb http://ppa.launchpad.net/jonathonf/zfs/ubuntu focal main'
|
||||||
apt update
|
apt update
|
||||||
find /usr/local/sbin/ -type l | xargs rm
|
find /usr/local/sbin/ -type l -exec rm {} +
|
||||||
zfs --version
|
zfs --version
|
||||||
|
|
||||||
echo "======= partitioning the disk =========="
|
echo "======= partitioning the disk =========="
|
||||||
@@ -509,11 +509,13 @@ echo "======= create zfs pools and datasets =========="
|
|||||||
|
|
||||||
zpool create \
|
zpool create \
|
||||||
$v_bpool_tweaks -O canmount=off -O devices=off \
|
$v_bpool_tweaks -O canmount=off -O devices=off \
|
||||||
|
-o cachefile=/etc/zfs/zpool.cache \
|
||||||
-O mountpoint=/boot -R $c_zfs_mount_dir -f \
|
-O mountpoint=/boot -R $c_zfs_mount_dir -f \
|
||||||
$v_bpool_name $pools_mirror_option "${bpool_disks_partitions[@]}"
|
$v_bpool_name $pools_mirror_option "${bpool_disks_partitions[@]}"
|
||||||
|
|
||||||
echo -n "$v_passphrase" | zpool create \
|
echo -n "$v_passphrase" | zpool create \
|
||||||
$v_rpool_tweaks \
|
$v_rpool_tweaks \
|
||||||
|
-o cachefile=/etc/zfs/zpool.cache \
|
||||||
"${encryption_options[@]}" \
|
"${encryption_options[@]}" \
|
||||||
-O mountpoint=/ -R $c_zfs_mount_dir -f \
|
-O mountpoint=/ -R $c_zfs_mount_dir -f \
|
||||||
$v_rpool_name $pools_mirror_option "${rpool_disks_partitions[@]}"
|
$v_rpool_name $pools_mirror_option "${rpool_disks_partitions[@]}"
|
||||||
@@ -710,25 +712,8 @@ chroot_execute "dpkg-reconfigure openssh-server -f noninteractive"
|
|||||||
echo "======= set root password =========="
|
echo "======= set root password =========="
|
||||||
chroot_execute "echo root:$(printf "%q" "$v_root_password") | chpasswd"
|
chroot_execute "echo root:$(printf "%q" "$v_root_password") | chpasswd"
|
||||||
|
|
||||||
echo "======= setting up zfs services =========="
|
echo "======= setting up zfs cache =========="
|
||||||
chroot_execute "cat > /etc/systemd/system/zfs-import-bpool.service <<UNIT
|
cp /etc/zfs/zpool.cache /mnt/etc/zfs/zpool.cache
|
||||||
[Unit]
|
|
||||||
DefaultDependencies=no
|
|
||||||
Before=zfs-import-scan.service
|
|
||||||
Before=zfs-import-cache.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=yes
|
|
||||||
ExecStartPre=/bin/sh -c '[ -f /etc/zfs/zpool.cache ] && mv /etc/zfs/zpool.cache /etc/zfs/preboot_zpool.cache || true'
|
|
||||||
ExecStart=/sbin/zpool import -N -o cachefile=none $v_bpool_name
|
|
||||||
ExecStartPost=/bin/sh -c '[ -f /etc/zfs/preboot_zpool.cache ] && mv /etc/zfs/preboot_zpool.cache /etc/zfs/zpool.cache || true'
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=zfs-import.target
|
|
||||||
UNIT"
|
|
||||||
|
|
||||||
chroot_execute "systemctl enable zfs-import-bpool.service"
|
|
||||||
|
|
||||||
echo "========setting up zfs module parameters========"
|
echo "========setting up zfs module parameters========"
|
||||||
chroot_execute "echo options zfs zfs_arc_max=$((v_zfs_arc_max_mb * 1024 * 1024)) >> /etc/modprobe.d/zfs.conf"
|
chroot_execute "echo options zfs zfs_arc_max=$((v_zfs_arc_max_mb * 1024 * 1024)) >> /etc/modprobe.d/zfs.conf"
|
||||||
@@ -833,7 +818,7 @@ chroot_execute "zfs set canmount=noauto rpool"
|
|||||||
|
|
||||||
echo "======= setting mountpoints =========="
|
echo "======= setting mountpoints =========="
|
||||||
chroot_execute "zfs set mountpoint=legacy $v_bpool_name/BOOT/ubuntu"
|
chroot_execute "zfs set mountpoint=legacy $v_bpool_name/BOOT/ubuntu"
|
||||||
chroot_execute "echo $v_bpool_name/BOOT/ubuntu /boot zfs nodev,relatime,x-systemd.requires=zfs-import-bpool.service 0 0 > /etc/fstab"
|
chroot_execute "echo $v_bpool_name/BOOT/ubuntu /boot zfs nodev,relatime,x-systemd.requires=zfs-mount.service,x-systemd.device-timeout=10 0 0 > /etc/fstab"
|
||||||
|
|
||||||
chroot_execute "zfs set mountpoint=legacy $v_rpool_name/var/log"
|
chroot_execute "zfs set mountpoint=legacy $v_rpool_name/var/log"
|
||||||
chroot_execute "echo $v_rpool_name/var/log /var/log zfs nodev,relatime 0 0 >> /etc/fstab"
|
chroot_execute "echo $v_rpool_name/var/log /var/log zfs nodev,relatime 0 0 >> /etc/fstab"
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ c_deb_security_repo=http://mirror.hetzner.de/ubuntu/security
|
|||||||
|
|
||||||
c_default_zfs_arc_max_mb=250
|
c_default_zfs_arc_max_mb=250
|
||||||
c_default_bpool_tweaks="-o ashift=12 -O compression=lz4"
|
c_default_bpool_tweaks="-o ashift=12 -O compression=lz4"
|
||||||
c_default_rpool_tweaks="-o ashift=12 -O acltype=posixacl -O compression=lz4 -O dnodesize=auto -O relatime=on -O xattr=sa -O normalization=formD"
|
c_default_rpool_tweaks="-o ashift=12 -O acltype=posixacl -O compression=zstd-9 -O dnodesize=auto -O relatime=on -O xattr=sa -O normalization=formD"
|
||||||
c_default_hostname=terem
|
c_default_hostname=terem
|
||||||
c_zfs_mount_dir=/mnt
|
c_zfs_mount_dir=/mnt
|
||||||
c_log_dir=$(dirname "$(mktemp)")/zfs-hetzner-vm
|
c_log_dir=$(dirname "$(mktemp)")/zfs-hetzner-vm
|
||||||
@@ -466,7 +466,7 @@ echo "======= installing zfs on rescue system =========="
|
|||||||
apt install --yes zfs-dkms zfsutils-linux
|
apt install --yes zfs-dkms zfsutils-linux
|
||||||
add-apt-repository -r 'deb http://ppa.launchpad.net/jonathonf/zfs/ubuntu focal main'
|
add-apt-repository -r 'deb http://ppa.launchpad.net/jonathonf/zfs/ubuntu focal main'
|
||||||
apt update
|
apt update
|
||||||
find /usr/local/sbin/ -type l | xargs rm
|
find /usr/local/sbin/ -type l -exec rm {} +
|
||||||
zfs --version
|
zfs --version
|
||||||
|
|
||||||
echo "======= partitioning the disk =========="
|
echo "======= partitioning the disk =========="
|
||||||
@@ -509,11 +509,13 @@ echo "======= create zfs pools and datasets =========="
|
|||||||
|
|
||||||
zpool create \
|
zpool create \
|
||||||
$v_bpool_tweaks -O canmount=off -O devices=off \
|
$v_bpool_tweaks -O canmount=off -O devices=off \
|
||||||
|
-o cachefile=/etc/zfs/zpool.cache \
|
||||||
-O mountpoint=/boot -R $c_zfs_mount_dir -f \
|
-O mountpoint=/boot -R $c_zfs_mount_dir -f \
|
||||||
$v_bpool_name $pools_mirror_option "${bpool_disks_partitions[@]}"
|
$v_bpool_name $pools_mirror_option "${bpool_disks_partitions[@]}"
|
||||||
|
|
||||||
echo -n "$v_passphrase" | zpool create \
|
echo -n "$v_passphrase" | zpool create \
|
||||||
$v_rpool_tweaks \
|
$v_rpool_tweaks \
|
||||||
|
-o cachefile=/etc/zfs/zpool.cache \
|
||||||
"${encryption_options[@]}" \
|
"${encryption_options[@]}" \
|
||||||
-O mountpoint=/ -R $c_zfs_mount_dir -f \
|
-O mountpoint=/ -R $c_zfs_mount_dir -f \
|
||||||
$v_rpool_name $pools_mirror_option "${rpool_disks_partitions[@]}"
|
$v_rpool_name $pools_mirror_option "${rpool_disks_partitions[@]}"
|
||||||
@@ -711,25 +713,8 @@ chroot_execute "dpkg-reconfigure openssh-server -f noninteractive"
|
|||||||
echo "======= set root password =========="
|
echo "======= set root password =========="
|
||||||
chroot_execute "echo root:$(printf "%q" "$v_root_password") | chpasswd"
|
chroot_execute "echo root:$(printf "%q" "$v_root_password") | chpasswd"
|
||||||
|
|
||||||
echo "======= setting up zfs services =========="
|
echo "======= setting up zfs cache =========="
|
||||||
chroot_execute "cat > /etc/systemd/system/zfs-import-bpool.service <<UNIT
|
cp /etc/zfs/zpool.cache /mnt/etc/zfs/zpool.cache
|
||||||
[Unit]
|
|
||||||
DefaultDependencies=no
|
|
||||||
Before=zfs-import-scan.service
|
|
||||||
Before=zfs-import-cache.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=yes
|
|
||||||
ExecStartPre=/bin/sh -c '[ -f /etc/zfs/zpool.cache ] && mv /etc/zfs/zpool.cache /etc/zfs/preboot_zpool.cache || true'
|
|
||||||
ExecStart=/sbin/zpool import -N -o cachefile=none $v_bpool_name
|
|
||||||
ExecStartPost=/bin/sh -c '[ -f /etc/zfs/preboot_zpool.cache ] && mv /etc/zfs/preboot_zpool.cache /etc/zfs/zpool.cache || true'
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=zfs-import.target
|
|
||||||
UNIT"
|
|
||||||
|
|
||||||
chroot_execute "systemctl enable zfs-import-bpool.service"
|
|
||||||
|
|
||||||
echo "========setting up zfs module parameters========"
|
echo "========setting up zfs module parameters========"
|
||||||
chroot_execute "echo options zfs zfs_arc_max=$((v_zfs_arc_max_mb * 1024 * 1024)) >> /etc/modprobe.d/zfs.conf"
|
chroot_execute "echo options zfs zfs_arc_max=$((v_zfs_arc_max_mb * 1024 * 1024)) >> /etc/modprobe.d/zfs.conf"
|
||||||
@@ -834,7 +819,7 @@ chroot_execute "zfs set canmount=noauto rpool"
|
|||||||
|
|
||||||
echo "======= setting mountpoints =========="
|
echo "======= setting mountpoints =========="
|
||||||
chroot_execute "zfs set mountpoint=legacy $v_bpool_name/BOOT/ubuntu"
|
chroot_execute "zfs set mountpoint=legacy $v_bpool_name/BOOT/ubuntu"
|
||||||
chroot_execute "echo $v_bpool_name/BOOT/ubuntu /boot zfs nodev,relatime,x-systemd.requires=zfs-import-bpool.service 0 0 > /etc/fstab"
|
chroot_execute "echo $v_bpool_name/BOOT/ubuntu /boot zfs nodev,relatime,x-systemd.requires=zfs-mount.service,x-systemd.device-timeout=10 0 0 > /etc/fstab"
|
||||||
|
|
||||||
chroot_execute "zfs set mountpoint=legacy $v_rpool_name/var/log"
|
chroot_execute "zfs set mountpoint=legacy $v_rpool_name/var/log"
|
||||||
chroot_execute "echo $v_rpool_name/var/log /var/log zfs nodev,relatime 0 0 >> /etc/fstab"
|
chroot_execute "echo $v_rpool_name/var/log /var/log zfs nodev,relatime 0 0 >> /etc/fstab"
|
||||||
|
|||||||
Reference in New Issue
Block a user