Last active
November 28, 2016 00:31
-
-
Save ArseniyShestakov/42b9f76bee0a53a172de07e91e0d2700 to your computer and use it in GitHub Desktop.
Setup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
PREREQ="lvm2" | |
prereqs() | |
{ | |
echo "$PREREQ" | |
} | |
case $1 in | |
prereqs) | |
prereqs | |
exit 0 | |
;; | |
esac | |
if [ ! -x /usr/sbin/cache_check ]; then | |
exit 0 | |
fi | |
. /usr/share/initramfs-tools/hook-functions | |
copy_exec /usr/sbin/cache_check | |
manual_add_modules dm_cache dm_cache_mq dm_cache_smq dm_persistent_data dm_bufio |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
PREREQ="lvm2" | |
prereqs() | |
{ | |
echo "$PREREQ" | |
} | |
case $1 in | |
prereqs) | |
prereqs | |
exit 0 | |
;; | |
esac | |
if [ ! -x /usr/sbin/thin_check ]; then | |
exit 0 | |
fi | |
. /usr/share/initramfs-tools/hook-functions | |
copy_exec /usr/sbin/thin_check | |
manual_add_modules dm_thin_pool |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dm_thin_pool | |
dm_cache | |
dm_cache_mq | |
dm_cache_smq | |
dm_persistent_data | |
dm_bufio | |
vfio | |
vfio_iommu_type1 | |
vfio_pci | |
vfio_virqfd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# wiping drive | |
openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero | pv -pterb > /dev/sdf1 | |
openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero | pv -pterb > /dev/sdf2 | |
openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero | pv -pterb > /dev/sdf3 | |
openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero | pv -pterb > /dev/sdf4 | |
# initialize raid1 arrays | |
mdadm --create /dev/md/250gb --name=250gb --level=1 --raid-devices=2 /dev/sdf1 missing | |
mdadm --create /dev/md/500gb --name=500gb --level=1 --raid-devices=2 /dev/sdf2 missing | |
mdadm --create /dev/md/160gb --name=160gb --level=1 --raid-devices=2 /dev/sdf3 missing | |
mdadm --create /dev/md/90gb --name=90gb --level=1 --raid-devices=2 /dev/sdf4 missing | |
# setting encrypted drives | |
cryptsetup luksFormat -c aes-xts-plain -s 256 -h sha256 /dev/md/250gb | |
cryptsetup luksFormat -c aes-xts-plain -s 256 -h sha256 /dev/md/500gb | |
cryptsetup luksFormat -c aes-xts-plain -s 256 -h sha256 /dev/md/160gb | |
cryptsetup luksFormat -c aes-xts-plain -s 256 -h sha256 /dev/md/90gb | |
# open them | |
cryptsetup luksOpen -c aes-xts-plain -s 256 -h sha256 /dev/md/250gb 250gb_crypt | |
cryptsetup luksOpen -c aes-xts-plain -s 256 -h sha256 /dev/md/500gb 500gb_crypt | |
cryptsetup luksOpen -c aes-xts-plain -s 256 -h sha256 /dev/md/160gb 160gb_crypt | |
cryptsetup luksOpen -c aes-xts-plain -s 256 -h sha256 /dev/md/90gb 90gb_crypt | |
## build lvm | |
pvcreate /dev/mapper/250gb_crypt | |
pvcreate /dev/mapper/500gb_crypt | |
pvcreate /dev/mapper/160gb_crypt | |
pvcreate /dev/mapper/90gb_crypt | |
vgcreate clvmone /dev/mapper/250gb_crypt /dev/mapper/500gb_crypt /dev/mapper/160gb_crypt | |
vgcreate clvmtwo /dev/mapper/90gb_crypt | |
lvcreate -i3 -l 100%FREE -n cdatalv clvmone /dev/mapper/250gb_crypt /dev/mapper/500gb_crypt /dev/mapper/160gb_crypt | |
lvcreate -i2 -l 100%FREE -n crootlv clvmone /dev/mapper/250gb_crypt /dev/mapper/500gb_crypt | |
lvcreate -l 100%FREE -n cxtra clmone | |
# Setup filesystems | |
mkfs.btrfs /dev/clvmone/cdatalv | |
mkfs.ext4 /dev/clvmone/crootlv | |
mkfs.ext4 /dev/clvmone/cxtra | |
# Setup other FS | |
lvcreate -l 100%FREE -n cbackuplv ctrashvg | |
mkfs.ext4 /dev/ctrashvg/cbackuplv | |
# Cache | |
cryptsetup luksFormat -c aes-xts-plain -s 256 -h sha256 /dev/sdc3 | |
cryptsetup luksOpen --allow-discards -c aes-xts-plain -s 256 -h sha256 /dev/sdc3 cache_crypt | |
pvcreate /dev/mapper/cache_crypt | |
vgextend cmainvg /dev/mapper/cache_crypt | |
# Enable caching | |
lvcreate --type cache --cachepolicy mq --cachemode writeback -L 10G -n crootlv_cachepool cmainvg/crootlv /dev/mapper/cache_crypt | |
lvcreate --type cache --cachepolicy mq --cachemode writeback -l 100%FREE -n cdatalv_cachepool cmainvg/cdatalv /dev/mapper/cache_crypt | |
# set writemostly for 1TB drive | |
mdadm /dev/md/160gb --grow --bitmap=none | |
mdadm /dev/md/160gb --grow --bitmap=internal --write-behind=4096 | |
mdadm /dev/md/250gb --grow --bitmap=none | |
mdadm /dev/md/250gb --grow --bitmap=internal --write-behind=4096 | |
mdadm /dev/md/500gb --grow --bitmap=none | |
mdadm /dev/md/500gb --grow --bitmap=internal --write-behind=4096 | |
ls -lia /sys/block/md*/md/dev-sdf*/state | |
echo writemostly > |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment