J'utilise pour installer des machines distantes un script et un jeu de configuration que j'ai déposé
chez GitLab.
Il permet d'installer tout un système sur un
zpool d'une seule traite, jusqu'à la saisie de mot de passe et l'ajout d'utilisateurs.
Il existe deux branches:
- master, avec un partitionnement à la fois EFI et BIOS(Legacy)
- mbr, avec un partitionnement uniquement BIOS(Legacy).
Ce dernier est mal nommé car j'utilise un schémas
GPT dans tous les cas.
Les premières lignes vous permettent de configurer un peu l'ensemble, le seul élément important est en fait la liste des disques à utiliser.
Attention, je fusionne les disques dans le pool (strip), pas en mirroir.
Pensez à télécharger la version que vous voulez en modifiant l'adresse du
fetch.
Essayez le dans une
VM avec
bhyve, copiez le projet dans un endroit accessible par
ssh.
Téléchargez un ISO ou un
mfbsd:
Code:fetch https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.0/FreeBSD-12.0-BETA2-amd64-bootonly.iso
Créer deux disques:
Code:zfs create -V32G -o volmode=dev mypool/fada0
zfs create -V32G -o volmode=dev mypool/fada1
Préparez le réseau, ici un réseau virtuel basé sur un
bridge Code:ifconfig bridge0 create
ifconfig bridge0 inet 192.168.2.1/24
ifconfig tap0 create
ifconfig bridge0 addm tap0
Ce schéma oblige à de la translation d'adresse, par exemple, avec
pf:
Code:int_if="bridge0"
localnet=$int_if:network
...
nat on $ext_if from $localnet to any -> ($ext_if)
block in log all
pass out all
...
pass from $localnet to any keep state
...
Une fois le projet récupéré, modifiez les disques du scripts par `
vtbd0 vtbd1`.
Puis modifiez la configuration qui sera copiée sur le disque à votre convenance.
Notamment, préciser la
route par défaut, :
Code:root@test:~ # cat /etc/rc.conf.d/hostname
hostname="test"
root@test:~ # cat /etc/rc.conf.d/routing
defaultrouter="192.168.0.1"
root@test:~ # cat /etc/rc.conf.d/network/vtnet0
ifconfig_vtnet0="inet 192.168.2.5/24"
Lancez:
Code:sh /usr/share/examples/bhyve/vmrun.sh -c 1 -m 1024M -t tap0 -d /dev/zvol/mypool/fata0 -d /dev/zvol/mypool/fata1 -i -I ./FreeBSD-12.0-BETA2-amd64-bootonly.iso fbsd12
Une fois lancé, choisissez le shell, puis:
Code:ifconfig vtnet0 inet 192.168.2.5/24
route add default 192.168.2.1
mdmfs -s 5m md0 /mnt
scp moi@192.168.2.1:zfsinstaller .
cd /mnt/zfsinstaller
sh zfsinstall.sh
C'est prêt:
Code:sh /usr/share/examples/bhyve/vmrun.sh -c 3 -m 2048M -t tap0 -d /dev/zvol/mypool/fata0 -d /dev/zvol/mypool/fata1 fbsd12