Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

testing #7

Open
HankB opened this issue Apr 27, 2019 · 7 comments
Open

testing #7

HankB opened this issue Apr 27, 2019 · 7 comments
Labels
help wanted Extra attention is needed

Comments

@HankB
Copy link
Owner

HankB commented Apr 27, 2019

As features are added, they result in combinatorial explosion. Various combinations of features should be tested. These include (full disk, use partitions, use pools) x (encryption, no encryption)

Maybe not as bad as all that, but more testing would still be great!

@HankB HankB added the help wanted Extra attention is needed label Apr 27, 2019
@HankB
Copy link
Owner Author

HankB commented May 1, 2019

I've put up a grid to document testing at https://docs.google.com/spreadsheets/d/1aqDocC9FZhQqJpilyDI7LxOcShHNU8znhwk0IFEm-gQ/edit?usp=sharing,
For now it's permissioned to allow anyone to comment. If you test one of the configurations, either comment on the spreadsheet or followup with a note to this issue. Let me know the date you test and whether it is in a VM or real H/W and anything else you feel is important.
The way I plan to make the Sheet work is that the name of the tab is the number listed on the "commits" page (https://github.com/HankB/Linux_ZFS_Root/commits/master). When there is a significant new commit, I will add a new tab.

@HankB
Copy link
Owner Author

HankB commented May 1, 2019

Most recent variant 1184950 was tested 2019-04-29 on Virtualbox with the Debian 9.9 installer (Gnome) Configuration was

hbarta@olive05:~/Documents/ZFS$ cat vbx01.whole.sh
# source this script to set these variables in the user environment
# adjust to your needs
set -u  # treat unset vars as errors
export ETHERNET=enp0s3
export NEW_HOSTNAME=vbx01
export YOURUSERNAME=hbarta
export ROOT_POOL_NAME=rpool
export BOOT_POOL_NAME=bpool
export ENCRYPT=no
# export ENCRYPT=yes # must be set

# Select the type of installation
export INSTALL_TYPE="whole_disk"

# for INSTALL_TYPE=use_partitions

export EFI_PART=
export ROOT_PART=
export BOOT_PART=
# Specify entire path
# e.g. 'export EFI_PART=/dev/disk/by-id/ata-SATA_SSD_18120612000764-part2'

# for INSTALL_TYPE=whole_disk

export DRIVE_ID=ata-VBOX_HARDDISK_VBcd1d4854-e6190a19
# specify only the last part of the path.
# e,g `export DRIVE_ID=ata-SATA_SSD_18120612000764`

# for INSTALL_TYPE=use_pools
export EFI_PART=
# Specify entire path
# e.g. 'export EFI_PART=/dev/disk/by-id/ata-SATA_SSD_18120612000764-part2'

# export ENCRYPT="yes|no"
hbarta@olive05:~/Documents/ZFS$ 

@HankB
Copy link
Owner Author

HankB commented May 1, 2019

Test 1184950 whole disk, encrypted

# source this script to set these variables in the user environment
# adjust to your needs
set -u  # treat unset vars as errors
export ETHERNET=enp0s3
export NEW_HOSTNAME=vbx01
export YOURUSERNAME=hbarta
export ROOT_POOL_NAME=rpool
export BOOT_POOL_NAME=bpool
export ENCRYPT=yes
# export ENCRYPT=yes # must be set

# Select the type of installation
export INSTALL_TYPE="whole_disk"

# for INSTALL_TYPE=use_partitions

export EFI_PART=
export ROOT_PART=
export BOOT_PART=
# Specify entire path
# e.g. 'export EFI_PART=/dev/disk/by-id/ata-SATA_SSD_18120612000764-part2'

# for INSTALL_TYPE=whole_disk

export DRIVE_ID=ata-VBOX_HARDDISK_VBcd1d4854-e6190a19
# specify only the last part of the path.
# e,g `export DRIVE_ID=ata-SATA_SSD_18120612000764`

# for INSTALL_TYPE=use_pools
export EFI_PART=
# Specify entire path
# e.g. 'export EFI_PART=/dev/disk/by-id/ata-SATA_SSD_18120612000764-part2'

# export ENCRYPT="yes|no"
hbarta@olive05:~/Documents/ZFS$ 

No problems noted.

@HankB
Copy link
Owner Author

HankB commented May 1, 2019

Test 1184950 using predefined partitions. (Partitions are created in the configuration script.)

hbarta@olive05:~/Documents/ZFS$ cat vbx01.partitions.sh
# source this script to set these variables in the user environment
# adjust to your needs
set -u  # treat unset vars as errors
export ETHERNET=enp0s3
export NEW_HOSTNAME=vbx01
export YOURUSERNAME=hbarta
export ROOT_POOL_NAME=rpool
export BOOT_POOL_NAME=bpool
export ENCRYPT=no
# export ENCRYPT=yes # must be set

# Select the type of installation
export INSTALL_TYPE="use_partitions"

# for INSTALL_TYPE=use_partitions
##### build the partitions for the test
DRIVE_ID=ata-VBOX_HARDDISK_VB11016b68-60bc19dc
wipefs -a /dev/disk/by-id/$DRIVE_ID # useful if the drive already had ZFS pools
sgdisk --zap-all /dev/disk/by-id/$DRIVE_ID
# EFI
sgdisk -n2:1M:+512M -t2:EF00 /dev/disk/by-id/$DRIVE_ID
apt update
apt install dosfstools
mkdosfs -F 32 -s 1 -n EFI /dev/disk/by-id/${DRIVE_ID}-part2

# boot
sgdisk -n3:0:+512M -t3:BF01 /dev/disk/by-id/$DRIVE_ID

# root
sgdisk -n4:0:0 -t4:BF01 /dev/disk/by-id/$DRIVE_ID
#####

export EFI_PART=/dev/disk/by-id/${DRIVE_ID}-part2
export BOOT_PART=/dev/disk/by-id/${DRIVE_ID}-part3
export ROOT_PART=/dev/disk/by-id/${DRIVE_ID}-part4
# Specify entire path
# e.g. 'export EFI_PART=/dev/disk/by-id/ata-SATA_SSD_18120612000764-part2'

hbarta@olive05:~/Documents/ZFS$ 

No problems noted.

@HankB
Copy link
Owner Author

HankB commented May 1, 2019

Test 1184950 using predefined partitions and encrypting them. (Partitions are created in the configuration script.)

hbarta@olive05:~/Documents/ZFS$ cat vbx01.partitions-encrypt.sh
# source this script to set these variables in the user environment
# adjust to your needs
set -u  # treat unset vars as errors
export ETHERNET=enp0s3
export NEW_HOSTNAME=vbx01
export YOURUSERNAME=hbarta
export ROOT_POOL_NAME=rpool
export BOOT_POOL_NAME=bpool
export ENCRYPT=yes
# export ENCRYPT=yes # must be set

# Select the type of installation
export INSTALL_TYPE="use_partitions"

# for INSTALL_TYPE=use_partitions
##### build the partitions for the test
DRIVE_ID=ata-VBOX_HARDDISK_VB11016b68-60bc19dc
wipefs -a /dev/disk/by-id/$DRIVE_ID # useful if the drive already had ZFS pools
sgdisk --zap-all /dev/disk/by-id/$DRIVE_ID
# EFI
sgdisk -n2:1M:+512M -t2:EF00 /dev/disk/by-id/$DRIVE_ID
apt update
apt install dosfstools
mkdosfs -F 32 -s 1 -n EFI /dev/disk/by-id/${DRIVE_ID}-part2

# boot
sgdisk -n3:0:+512M -t3:BF01 /dev/disk/by-id/$DRIVE_ID

# root
sgdisk -n4:0:0 -t4:BF01 /dev/disk/by-id/$DRIVE_ID
#####

export EFI_PART=/dev/disk/by-id/${DRIVE_ID}-part2
export BOOT_PART=/dev/disk/by-id/${DRIVE_ID}-part3
export ROOT_PART=/dev/disk/by-id/${DRIVE_ID}-part4
# Specify entire path
# e.g. 'export EFI_PART=/dev/disk/by-id/ata-SATA_SSD_18120612000764-part2'

hbarta@olive05:~/Documents/ZFS$ 

@HankB
Copy link
Owner Author

HankB commented May 2, 2019

Test 1184950 using predefined pools. (Partitions are created in the configuration script.)

# source this script to set these variables in the user environment
# adjust to your needs
set -u  # treat unset vars as errors
export ETHERNET=enp0s3
export NEW_HOSTNAME=vbx01
export YOURUSERNAME=hbarta
export ROOT_POOL_NAME=rpool
export BOOT_POOL_NAME=bpool
export ENCRYPT=no
# export ENCRYPT=yes # must be set

# Select the type of installation
export INSTALL_TYPE="use_pools"

# for INSTALL_TYPE=use_partitions
##### build the partitions for the test

if [ -e /etc/apt/sources.list ] 
then
    echo deb http://ftp.debian.org/debian stretch contrib > /etc/apt/sources.list
    echo deb http://deb.debian.org/debian stretch-backports main contrib >> /etc/apt/sources.list
else
    if [ -d /etc/apt/sources.list.d ]
    then
        echo "deb http://ftp.debian.org/debian stretch main contrib" > /etc/apt/sources.list.d/contrib.list
        echo deb http://deb.debian.org/debian stretch-backports main contrib > /etc/apt/sources.list.d/backports.list
    else
        echo "can't find sources file"
        exit 1
    fi
fi
apt update

# 1.5 Install ZFS in the Live CD environment
apt install --yes debootstrap gdisk dkms dpkg-dev linux-headers-$(uname -r)
apt install --yes -t stretch-backports zfs-dkms
modprobe zfs


DRIVE_ID=ata-VBOX_HARDDISK_VB11016b68-60bc19dc
wipefs -a /dev/disk/by-id/$DRIVE_ID # useful if the drive already had ZFS pools
sgdisk --zap-all /dev/disk/by-id/$DRIVE_ID
# EFI
sgdisk -n2:1M:+512M -t2:EF00 /dev/disk/by-id/$DRIVE_ID
# boot
sgdisk -n3:0:+512M -t3:BF01 /dev/disk/by-id/$DRIVE_ID
# root
sgdisk -n4:0:0 -t4:BF01 /dev/disk/by-id/$DRIVE_ID
partprobe  /dev/disk/by-id/$DRIVE_ID

# efi
apt update
apt install dosfstools
mkdosfs -F 32 -s 1 -n EFI /dev/disk/by-id/${DRIVE_ID}-part2

# boot
export BOOT_PART=/dev/disk/by-id/${DRIVE_ID}-part3
zpool create -o ashift=12 -d \
    -o feature@async_destroy=enabled \
    -o feature@bookmarks=enabled \
    -o feature@embedded_data=enabled \
    -o feature@empty_bpobj=enabled \
    -o feature@enabled_txg=enabled \
    -o feature@extensible_dataset=enabled \
    -o feature@filesystem_limits=enabled \
    -o feature@hole_birth=enabled \
    -o feature@large_blocks=enabled \
    -o feature@lz4_compress=enabled \
    -o feature@spacemap_histogram=enabled \
    -o feature@userobj_accounting=enabled \
    -O acltype=posixacl -O canmount=off -O compression=lz4 -O devices=off \
    -O normalization=formD -O relatime=on -O xattr=sa \
    -O mountpoint=/ -R /mnt -f \
    ${BOOT_POOL_NAME} $BOOT_PART

# root
export ROOT_PART=/dev/disk/by-id/${DRIVE_ID}-part4
        zpool create -o ashift=12 \
            -O acltype=posixacl -O canmount=off -O compression=lz4 \
            -O dnodesize=auto -O normalization=formD -O relatime=on -O xattr=sa \
            -O mountpoint=/ -R /mnt -f \
            ${ROOT_POOL_NAME} $ROOT_PART

#####




# for INSTALL_TYPE=use_pools
export EFI_PART=/dev/disk/by-id/${DRIVE_ID}-part2
# Specify entire path
# e.g. 'export EFI_PART=/dev/disk/by-id/ata-SATA_SSD_18120612000764-part2'

No problems noted.

@HankB
Copy link
Owner Author

HankB commented May 2, 2019

Test 1184950 using predefined pools. (Partitions are created in the configuration script.)

hbarta@olive05:~/Documents/ZFS$ cat vbx01.pools-encrypt.sh
# source this script to set these variables in the user environment
# adjust to your needs
set -u  # treat unset vars as errors
export ETHERNET=enp0s3
export NEW_HOSTNAME=vbx01
export YOURUSERNAME=hbarta
export ROOT_POOL_NAME=rpool
export BOOT_POOL_NAME=bpool
export ENCRYPT=yes
# export ENCRYPT=yes # must be set

# Select the type of installation
export INSTALL_TYPE="use_pools"

# for INSTALL_TYPE=use_partitions
##### build the partitions for the test

if [ -e /etc/apt/sources.list ] 
then
    echo deb http://ftp.debian.org/debian stretch contrib > /etc/apt/sources.list
    echo deb http://deb.debian.org/debian stretch-backports main contrib >> /etc/apt/sources.list
else
    if [ -d /etc/apt/sources.list.d ]
    then
        echo "deb http://ftp.debian.org/debian stretch main contrib" > /etc/apt/sources.list.d/contrib.list
        echo deb http://deb.debian.org/debian stretch-backports main contrib > /etc/apt/sources.list.d/backports.list
    else
        echo "can't find sources file"
        exit 1
    fi
fi
apt update

# 1.5 Install ZFS in the Live CD environment
apt install --yes debootstrap gdisk dkms dpkg-dev linux-headers-$(uname -r)
apt install --yes -t stretch-backports zfs-dkms
modprobe zfs


DRIVE_ID=ata-VBOX_HARDDISK_VB11016b68-60bc19dc
wipefs -a /dev/disk/by-id/$DRIVE_ID # useful if the drive already had ZFS pools
sgdisk --zap-all /dev/disk/by-id/$DRIVE_ID
# EFI
sgdisk -n2:1M:+512M -t2:EF00 /dev/disk/by-id/$DRIVE_ID
# boot
sgdisk -n3:0:+512M -t3:BF01 /dev/disk/by-id/$DRIVE_ID
# root
sgdisk -n4:0:0 -t4:BF01 /dev/disk/by-id/$DRIVE_ID
partprobe  /dev/disk/by-id/$DRIVE_ID

# efi
apt update
apt install dosfstools
mkdosfs -F 32 -s 1 -n EFI /dev/disk/by-id/${DRIVE_ID}-part2

# boot
export BOOT_PART=/dev/disk/by-id/${DRIVE_ID}-part3
zpool create -o ashift=12 -d \
    -o feature@async_destroy=enabled \
    -o feature@bookmarks=enabled \
    -o feature@embedded_data=enabled \
    -o feature@empty_bpobj=enabled \
    -o feature@enabled_txg=enabled \
    -o feature@extensible_dataset=enabled \
    -o feature@filesystem_limits=enabled \
    -o feature@hole_birth=enabled \
    -o feature@large_blocks=enabled \
    -o feature@lz4_compress=enabled \
    -o feature@spacemap_histogram=enabled \
    -o feature@userobj_accounting=enabled \
    -O acltype=posixacl -O canmount=off -O compression=lz4 -O devices=off \
    -O normalization=formD -O relatime=on -O xattr=sa \
    -O mountpoint=/ -R /mnt -f \
    ${BOOT_POOL_NAME} $BOOT_PART

# root
export ROOT_PART=/dev/disk/by-id/${DRIVE_ID}-part4
apt install --yes cryptsetup
cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha256 $ROOT_PART
cryptsetup luksOpen $ROOT_PART luks1
zpool create -o ashift=12 \
    -O acltype=posixacl -O canmount=off -O compression=lz4 \
    -O dnodesize=auto -O normalization=formD -O relatime=on -O xattr=sa \
    -O mountpoint=/ -R /mnt -f \
    ${ROOT_POOL_NAME} /dev/mapper/luks1

#####




# for INSTALL_TYPE=use_pools
export EFI_PART=/dev/disk/by-id/${DRIVE_ID}-part2
# Specify entire path
# e.g. 'export EFI_PART=/dev/disk/by-id/ata-SATA_SSD_18120612000764-part2'

hbarta@olive05:~/Documents/ZFS$ 

No problems noted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant