Ubuntu 16.04 Root on ZFS

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Beninho
  • Registratie: April 2011
  • Laatst online: 20:27
Vandaag na een crash van de schijf besloten om Ubuntu 16.04 Root on ZFS eens te proberen.

Er staat hier https://github.com/zfsonl.../Ubuntu-16.04-Root-on-ZFS een fantastisch uitgebreide handleiding.

Vanuit de Live -USB gestart en de basis's in orde gemaakt. In plaats van een pool te maken met /dev/disk-by-id/ heb ik /dev/disk/by-partabel/ gebruikt zoals @FireDrunk eens uitlegde in zijn blog.

Ik heb dus niet dit gedaan
Run this if you need legacy (BIOS) booting:
# sgdisk -a1 -n2:34:2047 -t2:EF02 /dev/disk/by-id/scsi-SATA_disk1

Run this for UEFI booting (for use now or in the future):
# sgdisk -n3:1M:+512M -t3:EF00 /dev/disk/by-id/scsi-SATA_disk1

Run these in all cases:
# sgdisk -n9:-8M:0 -t9:BF07 /dev/disk/by-id/scsi-SATA_disk1
# sgdisk -n1:0:0 -t1:BF01 /dev/disk/by-id/scsi-SATA_disk1
maar de methode van Firedrunk gebruikt.

Helaas gaat het hele verhaal mis bij punt 2.3

code:
1
2
3
4
5
6
zpool create -o ashift=12 \
      -O atime=off -O canmount=off -O compression=lz4 -O normalization=formD \
      -O mountpoint=/ -R /mnt \
      rpool /dev/disk/by-partlabel/extern

mountpoint '/mnt/' exists and is not empty


Dan anders geprobeerd

code:
1
2
3
4
5
zpool create -m none -o ashift=12 -O compression=lz4 rpool /dev/disk/by-partlabel/extern

zfs create -o mountpoint=/ rpool/root
cannot mount '/': directory is not empty
filesystem successfully created, but not mounted


na een destroy nog eens wat anders geprobeerd, via link

code:
1
2
3
4
5
6
root@ubuntu:/# zpool create -m none -o ashift=12 -O compression=lz4 rpool /dev/disk/by-partlabel/extern
root@ubuntu:/# zfs create -o canmount=off -o mountpoint=none rpool/ROOT

root@ubuntu:/# zfs create -o canmount=noauto -o mountpoint=/ rpool/ROOT/ubuntu
root@ubuntu:/# zfs mount rpool/ROOT/ubuntu
cannot mount '/': directory is not empty


|:(

Volgens mij is dat mountpoint steeds het punt waar de live-USB vanaf draait en kan ik het daarom ook niet unmounten.

Ik mis ff wat inzicht. Wat vergeet ik hier?

[ Voor 6% gewijzigd door Beninho op 27-02-2017 23:31 ]

panasonic 5KW L-serie | 300L SWW | 3700+3200 Wp oost-west

Alle reacties


Acties:
  • +1 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:30

Hero of Time

Moderator LNX

There is only one Legend

Ja, je vergeet een chroot, of dat je in /mnt/target moet gaan zitten werken als /. Als je meldingen krijgt van "directory is not empty" is het meestal wel een goed idee om er een 'ls' op los te gooien. ;) Of loop jij ook zo tegen een deur aan ipv te kijken of deze wel open is?

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • FireDrunk
  • Registratie: November 2002
  • Laatst online: 30-09 12:37
Een legacy mountpoint opgeven op een nieuw te creeren pool met als mountpoint / is inderdaad niet zo handig :)

Zoals Hero of Time al aangeeft is een chroot een oplossing, maar je kan dit beter achteraf goedzetten.

Wat je dus doet: Je maakt de pool aan met mountpoints in subdirectories, en gaat alles installeren.
Daarna zet je als laatste actie het mountpoint om van /mnt/tijdelijke_installatie naar / en reboot.
Volgens mij wordt het mountpoint niet live omgezet als je die wijzigt, maar wordt hij pas aangepast bij een zfs mount all.
zpool create -o ashift=12 \
-O atime=off -O canmount=off -O compression=lz4 -O normalization=formD \
-O mountpoint=/ -R /mnt \
rpool /dev/disk/by-partlabel/extern
Ik lees hier te snel overheen. Dit is gewoon correct. /mnt moet leeg zijn nadat je via een USB stick opgestart bent. Dit commando betekend:
Maak een zpool met alle -O opties, en het default mountpoint is /, maar we mounten hem tijdelijk op /mnt.

Dat is precies wat zou moeten werken.

[ Voor 32% gewijzigd door FireDrunk op 28-02-2017 08:16 ]

Even niets...


Acties:
  • 0 Henk 'm!

  • Beninho
  • Registratie: April 2011
  • Laatst online: 20:27
Hero of Time schreef op dinsdag 28 februari 2017 @ 08:08:
Als je meldingen krijgt van "directory is not empty" is het meestal wel een goed idee om er een 'ls' op los te gooien.
zowel / als /mnt waren niet leeg op het moment dat ik checkte. /mnt bevatte homes (leeg) en in / stonden volgens mij alle usb live directories.
FireDrunk schreef op dinsdag 28 februari 2017 @ 08:12:
Ik lees hier te snel overheen. Dit is gewoon correct. /mnt moet leeg zijn nadat je via een USB stick opgestart bent. Dit commando betekend:
Maak een zpool met alle -O opties, en het default mountpoint is /, maar we mounten hem tijdelijk op /mnt.

Dat is precies wat zou moeten werken.
Precies. En handmatig unmouten met umount /mnt en umount / (die /zat volgens mij ook vol met livedirectories dus oke.) of verwijderen (rm -r /mnt) van de mount werkt(e) niet.

Ik ga het vanavond nog eens proberen en even checken of die /mnt daadwerkelijk ook leeg is na de boot.

[ Voor 20% gewijzigd door Beninho op 28-02-2017 09:26 ]

panasonic 5KW L-serie | 300L SWW | 3700+3200 Wp oost-west


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:30

Hero of Time

Moderator LNX

There is only one Legend

En anders pak je toch een andere map? Maak er een aan in /mnt of /media of maak iets aan als /zfs en gebruik dat om mee te werken.

Commandline FTW | Tweakt met mate