Zum Inhalt

Ports

https://www.freebsd.org/doc/handbook/ports-using.html

download ports

portsnap fetch

extract downlods

portsnap extract

portsnap auf neuesten stand bringen

portsnap fetch update

Ports sind installiert in /usr/ports

Bauen eines Pakets an einem Beispiel:

cd /usr/ports/net-mgmt/icinga2
make install

unattended install

cd /usr/ports/sysutils/screen
export BATCH=yes
make rmconfig
make install clean

Autostart

/usr/local/etc/rc.d
https://www.freebsddiary.org/startup.php

bhyve

In /boot/loader.conf

vmm_load="YES"

In /etc/sysctl.conf

net.link.tap.up_on_open=1

Dann die bridge anlegen und tap0 Interface erzeugen und mit an die Bridge hängen.

Offen ist hier, wie ich das ordentlich mache, weil ich ja explizit keine IP-Adresse weder auf dem tap Interface haben möchte, noch auf der bridge.

Dann ein ZFS device anlegen als Speicher für den Gast. Größe ist hier 30GiB und zfs pool Name ist zroot.

zfs create -o quota=100G zroot/bhyveimages

FreeBSD Guest

FreeBSD Image herunterladen

cd /media/bhyveimages
fetchhttps://ftp.halifax.rwth-aachen.de/freebsd/releases/ISO-IMAGES/11.2/FreeBSD-11.2-RELEASE-amd64-bootonly.iso

Installation und Gast starten. Wenn Installation fertig, in die Shell des Gastes wechseln bevor neu gestartet wird. Neustart auswählen und im Bootloader die Option für Neustart wählen um aus der shellscript loop heraus zu kommen.

sh /usr/share/examples/bhyve/vmrun.sh -c 2 -m 4096 -t tap0 -d /dev/zvol/zroot/bhyveguest0 -i -I /media/bhyveimages/FreeBSD-11.2-RELEASE-amd64-bootonly.iso bhyveguest0

Nach erfolgreicher Installation Gast starten mit:

sh /usr/share/examples/bhyve/vmrun.sh -c 2 -m 4096 -t tap0 -d /dev/zvol/zroot/bhyveguest0 bhyveguest0

Wenn man das System detached starten will?

Unklar

iohyve

pkg install iohyve grub2-bhyve
iohyve setup pool=zroot
iohyve setup net=em0
iohyve setup kmod=1
vim /etc/rc.conf
iohyve_enable="YES"
iohyve_flags="kmod=1 net=em0"
iohyve fetchisohttps://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-amd64-disc1.iso
iohyve isolist
iohyve install bsdguest FreeBSD-12.0-RELEASE-amd64-disc1.iso
iohyve console bsdguest
exit console (~~.)
iohyve start bsdguest
iohyve stop bsdguest
iohyve set bsdguest description "VM description"
iohyve set bsdguest ram=512M cpu=1 boost=1

chyves

Networking is managed manually not by chyves.

chyves dataset tank install

create BSD guest

chyves bsdguest create 20G
cd /chyves/tank/guests/bsdguest/img/
fetchhttps://download.freebsd.org/ftp/releases/VM-IMAGES/12.0-RELEASE/amd64/Latest/FreeBSD-12.0-RELEASE-amd64.raw.xz
xz -d FreeBSD-12.0-RELEASE-amd64.raw.xz
chyves info -z
chyves network bridge0 private
chyves network bridge1 private
chyves bsdguest start
chyves bsdguest console

OpenWrt

chyves openwrt1 create 1g
chyves openwrt1 set loader=grub-bhyve
chyves openwrt1 set description="OpenWrt test"
mv /home/setup/openwrt-18.06.4-x86-64-combined-ext4.img /chyves/tank/guests/openwrt1/img/openwrt-18.06.4-x86-64-combined-ext4.raw
chyves network openwrt1 add tap50 bridge1
chyves network openwrt1 add tap51 bridge0

Format

Delete Partition

Example Delete partition 1 from disk ada0

gpart delete -i 1 ada0

Partitionstabelle entfernen

gpart destroy ada0

Partitionstabelle erstellen

gpart create -s gpt ada0

Partitionen anzeigen

gpart show ada0

Partition erstellen (ZFS)

gpart add -t freebsd-zfs -b 2048 -a 4k -l log0 ada0

ZFS

Einzelne Platte mit ZFS

log (zil) Partition hinzufügen

Vorher wurde eine Partition namens log0 angelegt mit

gpart add -z freebsd-zfs -b 2048 -a 4k -l log0 ada0

Dann das schreibcache hinzufügen, kann was dauern.

zpool add zroot log gpt/log0

Volume anlegen

Prüfen ob es Volumes gibt die man nicht mehr benötigt:

gpart show

Löschen der Partition mit dem Index 1 2 und 3 auf dem device ada0

gpart delete -i1 ada0 gpart delete -i2 ada0 gpart delete -i3 ada0

Anlegen einer neuen ZFS Partition

gpart add -t freebsd-zfs -l tank ada0

Anlegen des ZFS pools auf der neuen Partition ada0p1

zpool create tank ada0p1

ZFS Volume auf dem pool anlegen

zfs create zroot/bhyveguest0 zfs set quota=100g zroot/bhyveguest0

Defekte Festplatte austauschen

Festplatte wwn-0x5000039433b0843f ist nicht mehr existent und soll ersetzt werden mit wwn-0x500a0751e149d1e5

zpool replace tank wwn-0x5000039433b0843f wwn-0x500a0751e149d1e5

Netzwerk

Bridge

Am Beispiel einer Netzwerkkarte alc0 und der Bridgename ist bridge0. Kommt in /etc/rc.conf oberhalb der anderen configs

hostname="bsdrx1"
cloned_interfaces="bridge0"
ifconfig_bridge0="addm vtnet0 up"
ifconfig_vtnet0="up"
ifconfig_bridge0_ipv6="inet6 2a00:afe:3f:7::fee1 prefixlen 64 auto_linklocal"
sshd_enable="yes"
ipv6_activate_all_interfaces="yes"
ipv6_defaultrouter="2a00:afe:3f:7::3"

Sehr wichtig, dass man das auto_linklocal noch hinten anfügt, denn ansonsten verfügt das bridge interface nicht über eine link local Adresse, das hat zur Folge dass NDP nicht auf neighbor solicitations antwortet, was wiederum zur Folge hat, dass die IPv6 Konnektivität nicht vorhanden ist.

Möchte man auf einer Bridge DHCP verwenden so streicht man diesen Eintrag

~~ifconfig_bridge="DHCP"~~

und ersetzt:

ifconfig_bridge0="addm vtnet0 up"

durch

ifconfig_bridge0="addm vtnet0 SYNCDHCP"

Bridge + vlan ohne IP

Am Beispiel mit vlan 10 an bridge1 mit echter NIC alc0

cloned_interfaces="bridge1"
ifconfig_bridge1="addm alc0_10 addm up"