Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[FreeBSD] : conversion d'une machine aux boot environments

4 views
Skip to first unread message

Erwan David

unread,
Jun 22, 2023, 3:40:52 PM6/22/23
to

Trouve-t-on des tutoriaux sur comment convertir une machine existante
aux boot environment ? Tous les tuto que j'ai trouvé supposent un
certain layout des dataset, qui n'est pas le mien (notamment parceque je
boote un système minimal pour me connecter en ssh, donner le mot de
passe des disques chiffrés puis rebooter (via reboot -r) sur le pool
chiffré). Donc j'ai besoin de comprendre ce qui est pratique habituelle
et ce qui est nécessaire aux boot environnments, et ensuite comment
adapter à mon système de boot en 2 étapes.






--
Les simplifications c'est trop compliqué

David Marec

unread,
Jul 14, 2023, 4:23:40 PM7/14/23
to
Le 22-06-2023, Erwan David <er...@rail.eu.org> a écrit :
>
> Trouve-t-on des tutoriaux sur comment convertir une machine existante
> aux boot environment ? Tous les tuto que j'ai trouvé supposent un
> certain layout des dataset

A ma connaissance, c'est toujours la base
du fonctionnement des boot environnements.

--
David Marec
http://wiki.fug-fr.org/doku.php?id=start

Erwan David

unread,
Jul 21, 2023, 12:51:40 PM7/21/23
to
David Marec <davi...@davenulle.org> écrivait :

> Le 22-06-2023, Erwan David <er...@rail.eu.org> a écrit :
>>
>> Trouve-t-on des tutoriaux sur comment convertir une machine existante
>> aux boot environment ? Tous les tuto que j'ai trouvé supposent un
>> certain layout des dataset
>
> A ma connaissance, c'est toujours la base
> du fonctionnement des boot environnements.

Donc pas possible de convertir fat tout réinstaller ?

Erwan David

unread,
Jul 21, 2023, 1:02:01 PM7/21/23
to
Pierre-Alain TORET écrivait :

> Le 14/07/2023 à 22:23, David Marec a écrit :
>> Le 22-06-2023, Erwan David <er...@rail.eu.org> a écrit :
>>> Trouve-t-on des tutoriaux sur comment convertir une machine existante
>>> aux boot environment ? Tous les tuto que j'ai trouvé supposent un
>>> certain layout des dataset
>> A ma connaissance, c'est toujours la base
>> du fonctionnement des boot environnements.
>>
> Erwan, j'ai l'impression que je n'ai pas reçu ton message original (j'utilise le
> service news.free.fr, il parait qu'il a quelques soucis, peut-être est-ce lié),
> donc désolé si tu as déjà donné les informations dans ton poste d'origine.
>
> Est-ce que tu pourrais poster l'agencement de la machine en question ?
>
> Le manuel bectl(8) a l'air de lister deux types d'agencements possibles pour les
> datasets, "shallow" et "deep".
>

J'ai 2 zpool, un en clair avec juste un environnement de boot,

zboot 1.48G 2.88G 24K none
zboot/root 1.48G 2.88G 1.48G /

et l'autre sur des partitions chiffrées par geli
Quand j'ai booté sur le premier je déchiffre les partitions, j'importe
le zpool chiffré, et je reboote avec le / qui est dessus

Celui-ci a le layout

tank 292G 1.41T 96K none
tank/data 199G 1.41T 172K /data
[...]
tank/ezjail 50.9G 1.41T 168K /usr/jails
[...]
tank/home 5.51G 1.41T 4.65G /home
tank/poudriere 5.25G 1.41T 96K none
[...]
tank/root 30.9G 1.41T 565M legacy
tank/root/tmp 15.3M 1.41T 15.3M /tmp
tank/root/usr 23.9G 1.41T 1.31G /usr
tank/root/usr/local 1.58G 1.41T 1.52G /usr/local
tank/root/usr/local/etc 63.9M 1.41T 28.6M /usr/local/etc
tank/root/usr/ports 20.2G 1.41T 708M /usr/ports
tank/root/usr/ports/distfiles 19.5G 1.41T 19.5G /usr/ports/distfiles
tank/root/usr/src 785M 1.41T 785M /usr/src
tank/root/var 6.43G 1.41T 6.08G /var
tank/root/var/empty 96K 1.41T 96K /var/empty
tank/root/var/log 359M 1.41T 359M /var/log
tank/root/var/tmp 96K 1.41T 96K /var/tmp

(j'ai omis les datasets des jails, de poudriere ou des data de
certaines applications)

Le script de reboot fait
sudo kenv vfs.root.mountfrom="zfs:tank/root"

sudo reboot -r

Pour rebooter avec / sur tank/root (d'où son "legacy" en point de
montage)

David Marec

unread,
Aug 3, 2023, 4:27:00 PM8/3/23
to
Oui, pour avoir un fonctionnement «nominal» des boot-environments.
Le but étant de pouvoir retrouver un système opérationel
après une mise à jour de la base qui aurait échouée.

Pour ça, il ne faut pas que `/tmp`, `/var` ou `/usr/local`
soient dans le snapshot.
Sinon, ce serait juste un snapshot /global/ pour un rollback /global/.

Le cas de `/var` est plus compliqué
car ça dépend de ce que l'on a collé dans `/var/db`.

Mais si on a déjà la base, soit

```
zroot
zroot/ROOT
zroot/ROOT/default
```

On peut créer les datasets idoines après coup et y copier le contenu
des répertoires qui sont sous la racine.

Je ne l'ai fait qu'une fois, mais j'avais déjà les datasets pour `/var`
et `/tmp` était monté en RAM.
0 new messages