ZFS, ubuntu 20.04. - Frissítési hiba és nem indul a gép...

Fórumok

Sziasztok,

sajnos sikerült valamit "javítanom" a serveremen, így most már nem indul el.

A file rendszer ZFS, ubuntu 20.04.

Hiba:

Van grub menu tudok választani, de ha elindítom, akkor megáll inintramfs promttal.

A hibát onnan származtatom, hogy próbáltam frissíteni a rendszert, de dobott egy hasonló hibát:

https://askubuntu.com/questions/1246502/ubuntu-20-04-with-root-on-zfs-e…

Probáltam helyre hozni, de a képlet mutattja nem sikerült:

Bootoláskor ezzel áll meg:

ALERT! ZFS=systempool/ROOT/ubuntu does not exist.

Kép a jelenlegi állásról:

https://ibb.co/yNxjTHV

Nagyon tovább nem merem javítani, kérdésem, hogy hogyan tudnám helyre hozni a rendszert?

Köszi!

Kalmi

Hozzászólások

Igen megy :)

Próbálkozok ezzel:

# update-initramfs -u -k all

vagy (nem tudom melyikkel jó)

# update-initramfs -k all -c

# update-grub

Itt viszont ilyen hibát dob: https://ctxt.io/2/AACgfiInFQ

Továbbá vissza jött az eredeti hibám:

https://ctxt.io/2/AACg5VpuFQ

canmount= on / off -al lett létrehozva a zfs filerendszer.?

God bless you, Captain Hindsight..

A rendszer tökéletesen működött. Csak az utóbbi napokban volt egy frissítés, ami feldobta ezt a hibát. Megnéztem: canmount=off

 

# zfs get all systempool

NAME        PROPERTY              VALUE                  SOURCE
systempool  type                  filesystem             -
systempool  creation              Sat Aug 10 14:52 2019  -
systempool  used                  82.2G                  -
systempool  available             18.5G                  -
systempool  referenced            96K                    -
systempool  compressratio         1.22x                  -
systempool  mounted               no                     -
systempool  quota                 none                   default
systempool  reservation           none                   default
systempool  recordsize            64K                    local
systempool  mountpoint            /                      local
systempool  sharenfs              off                    default
systempool  checksum              on                     default
systempool  compression           lz4                    local
systempool  atime                 off                    local
systempool  devices               off                    local
systempool  exec                  off                    local
systempool  setuid                off                    local
systempool  readonly              off                    default
systempool  zoned                 off                    default
systempool  snapdir               hidden                 default
systempool  aclinherit            restricted             default
systempool  createtxg             1                      -
systempool  canmount              off                    local
systempool  xattr                 on                     default
systempool  copies                1                      default
systempool  version               5                      -
systempool  utf8only              on                     -
systempool  normalization         formD                  -
systempool  casesensitivity       sensitive              -
systempool  vscan                 off                    default
systempool  nbmand                off                    default
systempool  sharesmb              off                    default
systempool  refquota              none                   default
systempool  refreservation        none                   default
systempool  guid                  846405862762816691     -
systempool  primarycache          all                    default
systempool  secondarycache        all                    default
systempool  usedbysnapshots       0B                     -
systempool  usedbydataset         96K                    -
systempool  usedbychildren        82.2G                  -
systempool  usedbyrefreservation  0B                     -
systempool  logbias               latency                default
systempool  objsetid              51                     -
systempool  dedup                 off                    default
systempool  mlslabel              none                   default
systempool  sync                  standard               default
systempool  dnodesize             legacy                 default
systempool  refcompressratio      1.00x                  -
systempool  written               0                      -
systempool  logicalused           76.1G                  -
systempool  logicalreferenced     40K                    -
systempool  volmode               default                default
systempool  filesystem_limit      none                   default
systempool  snapshot_limit        none                   default
systempool  filesystem_count      none                   default
systempool  snapshot_count        none                   default
systempool  snapdev               hidden                 default
systempool  acltype               posixacl               local
systempool  context               none                   default
systempool  fscontext             none                   default
systempool  defcontext            none                   default
systempool  rootcontext           none                   default
systempool  relatime              off                    default
systempool  redundant_metadata    all                    default
systempool  overlay               off                    default
systempool  encryption            off                    default
systempool  keylocation           none                   default
systempool  keyformat             none                   default
systempool  pbkdf2iters           0                      default
systempool  special_small_blocks  0                      default

initramfs-es shell prompt esetén nem találta a zfs-es parancsot. Nem tudom csak azért mert ilyenkor nincs benne a PATHban vagy még nincs /usr mountolva vagy hol vannak mostanság.De meg kellene találni  hol van a zfs-es parancs és látni kéne hogy a pool importálható-e. Mert kérdés teljesen kinyirta-e az update vagy csak elirt valami hivatkozást. Amúgy az egyik képen az volt hogy azért nem mountolta a zfs-t mert volt valami a könyvtárban már, zfs ilyen, ha van ott bármi kis fájl már nem mountol. Ilyenkor csak az ottlévő fájlokat elmozgatnám egy általám létrehozott könyvtárba hogy meglegyen később is és reboot, hátha akkor belemountol már. Solarisnál is volt ilyen a régi időkbe.

ha máshogy nem megy, akkor direktben hozzá kell adni a zfs-t ill. a moduljait az initramfs-hez.

a /etc/initramfs-tools/conf fájlba felveszed a köv. sorokat:

zfs
zunicode
zzstd
zlua
zavl
icp
zcommon
znvpair
spl

aztán egy konzolon kiadod a(z):

sudo update-initramfs -u
sudo update-grub

parancsokat

és újrabootolás próba..

UPDATE: bocsi nem /etc/initramfs-tools/conf hanem /etc/initramfs-tools/modules

az is lehetséges, hogy egyszerűen elfogyott a hely a /boot partición, ezért nem volt képes az initramfs updatelésére.
ez esetben a

sudo apt --purge autoremove

paranccsal meg tudsz szabadulni a régi nem használt kernelektől, és azok alkatrészeitől a boot partíción.

A csatolásos hibát értem is (törölni kellene) meg nem is.

Amit nem értek. A file rendszerem full ZFS, azaz ha most recovery módban elinduló rendszer mit csatol fel? Honnan veszi az adatokat, ha sikeresen beimportálta a systempool-t, mit szeretne még csatolni? Elméletileg minden file, amit látok, az feltételzem a systempool-on van és annak a könytárában, mivel máshol nem lehet. Azaz ha kitörlöm ezeket a fileokat, akkor mi fog elindulni, honnan fog betőltődni a rendszer?

Mostani fileok, amik a recovery módban jönnek elő:

/root
total 68K
drwxr-xr-x 2 root root    2 Feb 16  2020 Downloads
drwxr-xr-x 2 root root    6 Nov 14 20:34 ISO
-rw-r--r-- 1 root root    0 Jan 14  2020 ist
drwxr-xr-x 3 root root    4 Mar 10 18:56 sh
drwxr-xr-x 3 root root    3 Jan 18  2020 snap
-rw------- 1 root root  46K May  3 00:43 .bash_history
-rw-r--r-- 1 root root  139 Mar 25 19:03 .bash_profile
-rw-rw-rw- 1 root root 1.8K Mar 25 19:56 .bashrc
drwx------ 4 root root    4 Feb 16  2020 .cache
drwx------ 5 root root    5 Feb 16  2020 .config
-rw-r--r-- 1 root root 4.4K Dec 10  2019 Release.key
drwx------ 3 root root    3 Dec  2  2019 .local
-rw------- 1 root root  201 Jan 19  2020 .mysql_history
-rw-r--r-- 1 root root   66 Jan 20  2020 .selected_editor
drwx------ 2 root root    7 May 25  2020 .ssh
-rw-r--r-- 1 root root  210 Nov 14 20:09 .wget-hsts

 

# ls /var/log
total 1.6M
drwxr-xr-x 2 root    root      51 May  3 00:00 apache2
drwxr-xr-x 2 root    root      11 May  2 20:27 apt
-rw-rw---- 1 root    utmp    1.2K May  2 20:02 btmp
drwxr-xr-x 2 _chrony _chrony    2 Mar 13 00:36 chrony
drwxr-xr-x 2 clamav  clamav    18 May  2 00:00 clamav
drwxr-xr-x 3 root    root      11 Mar 25 18:30 dist-upgrade
-rw-r--r-- 1 root    adm      72K May  2 20:01 dmesg
-rw-r--r-- 1 root    root       0 May  2 20:01 ipmiutil_wdt
-rw-rw-r-- 1 root    utmp    286K May  3 09:25 lastlog
drwxr-x--- 2 mysql   adm        9 May  3 00:00 mysql
drwx------ 2 root    root       2 Mar 25 18:07 private
drwxr-x--- 3 root    adm       30 May  2 00:00 samba
-rw-r----- 1 syslog  adm      26K May  3 09:30 syslog
-rw------- 1 root    root    7.2K Mar 25 18:19 tallylog
drwxr-x--- 2 root    adm       14 May  1 20:14 unattended-upgrades
drwxr-xr-x 2 root    root       3 Mar 25 18:30 upgrade
-rw-rw-r-- 1 root    utmp    103K May  3 09:25 wtmp
-rw-r--r-- 1 root    adm      71K May  1 20:14 dmesg.0
-rw-r--r-- 1 root    root     170 Apr 17 23:13 alternatives.log.1
-rw-r----- 1 syslog  adm      95K May  1 23:45 auth.log.1
-rw-rw---- 1 root    utmp     768 Apr 14 23:39 btmp.1
-rw-r--r-- 1 root    root     70K Apr 30 23:48 dpkg.log.1
-rw-r----- 1 root    adm     4.5K May  1 20:14 fail2ban.log.1
-rw-r----- 1 syslog  adm     183K May  1 20:20 kern.log.1
-rw-r----- 1 syslog  adm     5.7K Mar 25 18:29 mail.log.1
-rw-r----- 1 syslog  adm     829K May  3 00:00 syslog.1
-rw-rw-r-- 1 root    utmp     39K Mar 18 01:43 wtmp.1
-rw-r--r-- 1 root    root     18K Mar 25 18:29 alternatives.log.2
-rw-r----- 1 syslog  adm      49K Apr 24 23:45 auth.log.2
-rw-r--r-- 1 root    root    521K Mar 31 11:38 dpkg.log.2
-rw-r----- 1 root    adm     3.6K Apr 24 19:49 fail2ban.log.2
-rw-r----- 1 syslog  adm      90K Apr 24 19:55 kern.log.2
-rw-r----- 1 syslog  adm     2.8K Mar 17 20:24 mail.log.2
-rw-r----- 1 syslog  adm     116K May  2 00:00 syslog.2
-rw-r--r-- 1 root    root    2.3K Mar 10 18:21 alternatives.log.3
-rw-r----- 1 syslog  adm     116K Apr 18 20:23 auth.log.3
-rw-r--r-- 1 root    root     23K Mar 16 00:38 dpkg.log.3
-rw-r----- 1 root    adm      14K Apr 17 23:17 fail2ban.log.3
-rw-r----- 1 syslog  adm     633K Apr 18 20:23 kern.log.3
-rw-r----- 1 syslog  adm     294K May  1 20:14 syslog.3
-rw-r----- 1 syslog  adm      81K Apr 11 13:44 auth.log.4
-rw-r----- 1 root    adm      11K Apr 11 13:44 fail2ban.log.4
-rw-r----- 1 syslog  adm     452K Apr 11 13:44 kern.log.4
-rw-r----- 1 syslog  adm     175K Apr 30 21:21 syslog.4
-rw-r----- 1 syslog  adm     551K Apr 27 00:00 syslog.5
-rw-r----- 1 syslog  adm     561K Apr 26 00:00 syslog.6
-rw-r----- 1 syslog  adm     125K Apr 25 00:00 syslog.7
-rw------- 1 root    root    1.4K Apr  4 12:58 fail2ban.log-2021040412.backup
-rw-r--r-- 1 root    adm      18K Apr 30 21:21 dmesg.1.gz
-rw-r--r-- 1 root    adm      18K Apr 24 19:49 dmesg.2.gz
-rw-r--r-- 1 root    adm      18K Apr 18 20:23 dmesg.3.gz
-rw-r--r-- 1 root    adm      18K Apr 16 20:56 dmesg.4.gz
-rw-r--r-- 1 root    root       0 May  1 20:14 alternatives.log
-rw-r----- 1 syslog  adm      48K May  3 09:30 auth.log
-rw-r--r-- 1 root    root    7.5K May  2 20:27 dpkg.log
-rw-r----- 1 root    adm     2.3K May  2 20:01 fail2ban.log
-rw-r----- 1 syslog  adm      95K May  3 07:39 kern.log
-rw-r----- 1 syslog  adm        0 Mar 26 11:18 mail.log
-rw------- 1 root    root       0 Mar 25 18:25 ubuntu-advantage.log
ls /var/cache
total 62K
drwxr-xr-x  3 root root  3 Mar 25 18:06 apache2
drwx------  4 root root  4 Mar 25 18:56 apparmor
drwxr-xr-x  3 root root  5 May  2 20:27 apt
drwxr-xr-x  2 root root  7 Apr 30 23:47 debconf
drwxr-xr-x  2 root root 41 Apr  9 22:09 fontconfig
drwx------  2 root root  3 Apr 30 23:47 ldconfig
drwxr-xr-x  2 root root  3 May  3 07:41 locate
drwxr-xr-x 24 man  man  26 May  3 00:00 man
drwx------  2 root root  2 Mar 25 18:07 private
drwxr-xr-x  3 root root  5 May  3 09:28 samba
drwxr-xr-x  3 root root  6 May  3 03:11 snapd
ls /var/spool
total 2.0K
drwxr-xr-x 2 root   root 5 Mar 25 18:18 anacron
drwxr-xr-x 3 root   root 3 Mar 10 17:18 cron
drwx------ 2 syslog adm  2 Mar 10 17:15 rsyslog
drwxrwxrwt 2 root   root 2 Oct 16  2020 samba

A /root a userdir és nem a valós root. boot-ot se látni.

A kellően fejlett technológia, megkülönböztethetetlen a varázslattól.
Arthur C. Clark

Kapcsolja vissza a mikrofont!
Winston Churcill

Egy kicsit erőből sikerült megcsinálmom szerveremet, ami azt jelenti nem teljesen tudom mit csináltam, de sikerült a kerekbe beleütnüm a négyszöget :)

A ZFS-el amit nem tudtam, hogy hogyan csatoljak USB telepítőről úgy egy rendszert, amivel már tudok új kernelt és grubot generálni.

Ebben ez az oldal nagyon sokat segített:
https://askubuntu.com/questions/826209/re-initialise-grub-for-non-boota…

Főleg ez a rész :)

Step 3: Chroot into ZFS pool
3.1 Import pool to non-default location. The -N flag (don’t automatically mount) is necessary because otherwise the rpool root, and the rpool/root/UBUNTU pool, will both try to mount on /mnt

# zpool import -N -R /mnt rpool
3.2 Mount the root system

# zfs mount rpool/ROOT/ubuntu
3.3 Mount the remaining file systems

# zfs mount -a

Az importálásnál "zfs mount -a" már dobálta fel, hogy mely könyvtárakra nem tud csatlakozni. Ezek tartalmát töröltem. A tartalmuk a szerveremmel megegyező dolgokkal volt teli, valamikor nem jól álhatott le a szerver és valószínű csatolva maradt és így lett duplikált - passz....

Itt a biztonság kedvéért csináltam egy rendszer újra telepítést:
apt -y install debootstrap
debootstrap focal /mnt

3.4 Bind the virtual filesystems from the LiveCD environment to the new system and chroot into it:

# mount --rbind /dev  /mnt/dev
# mount --rbind /proc /mnt/proc
# mount --rbind /sys  /mnt/sys
# chroot /mnt /bin/bash --login

A chroot ba lépést követően tudtam darálni a rendszert:

# apt purge linux-image-generic
# apt purge zfsutils-linux zfs-zed spl
# apt -y install --no-install-recommends linux-image-generic
# apt -y install zfsutils-linux zfs-zed spl
# apt update
#apt -y full-upgrade

# mount /dev/disk/by-partlabel/sda1-EFI /boot/efi

# apt -y install grub-efi

# mount /dev/disk/by-id/scsi-SATA_disk1-part3 /boot/efi

Voltak snapshot hibák is, ezt is töröltem - https://ctxt.io/2/AACgfiInFQ

# zfs list -H -o name -t snapshot | xargs -n1 zfs destroy

#grub-probe /
#update-initramfs -c -k all
#update-grub
#grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck --no-floppy

exit

reboot

Ennek ellenére is (initramfs) prompt lett, de szerencsére már volt zfs is (lehet ennek köszönhetően - https://hup.hu/comment/2625939#comment-2625939)

Egyszerűen # zpool import systempool és reboot és működik a rendszerem, minden file meg van rajta (remélem)

Pontos megoldást nem igazán tudom, de KB ezek voltak a lépéseim, remélem valakinek segít még :)