ZFS rpool не удается смонтировать при загрузке - proUbuntu
0 голосов
/ 05 мая

Моя система загружалась нормально, но я пытался исправить пару связанных с ZFS ошибок загрузки, в которых говорилось:

cannot mount '/root': directory is not empty
cannot mount '/var/cache': directory is not empty

С моей бесконечной мудростью я добавил «rpool / var / cache / var / cache zfs по умолчанию 0 0 "для моего fstab, и моя система не перезагрузилась, и это привело меня к терминалу, где я смог удалить эту строку из fstab и перезагрузить мою систему. Вот текущее состояние / etc / fstab:

rpool/var/log /var/log zfs defaults 0 0
rpool/var/tmp /var/tmp zfs defaults 0 0
/dev/zvol/rpool/swap none swap defaults 0 0

Одна странная вещь, после r он перезагрузился, он застрял в логине l oop, и мне пришлось go на терминал и chown my username folde r в домашнем каталоге pe r эти инструкции .

Теперь rpool не будет монтироваться, и, как следствие, мои папки отсутствуют в моем доме каталог вместе со всеми моими файлами, поскольку многие из моих системных папок унаследованы от rpool. Вот как выглядит моя ZFS:

$ zfs get mountpoint,mounted,canmount,overlay rpool -t filesystem -r
NAME               PROPERTY    VALUE                SOURCE
rpool              mountpoint  /                    local
rpool              mounted     no                   -
rpool              canmount    on                   local
rpool              overlay     off                  default
rpool/ROOT         mountpoint  none                 local
rpool/ROOT         mounted     no                   -
rpool/ROOT         canmount    off                  local
rpool/ROOT         overlay     off                  local
rpool/ROOT/ubuntu  mountpoint  /                    local
rpool/ROOT/ubuntu  mounted     yes                  -
rpool/ROOT/ubuntu  canmount    noauto               local
rpool/ROOT/ubuntu  overlay     off                  inherited from rpool/ROOT
rpool/home         mountpoint  /home                inherited from rpool
rpool/home         mounted     no                   -
rpool/home         canmount    on                   default
rpool/home         overlay     off                  default
rpool/home/greg    mountpoint  /home/greg           inherited from rpool
rpool/home/greg    mounted     yes                  -
rpool/home/greg    canmount    on                   default
rpool/home/greg    overlay     off                  default
rpool/home/root    mountpoint  /root                local
rpool/home/root    mounted     no                   -
rpool/home/root    canmount    on                   default
rpool/home/root    overlay     off                  default
rpool/srv          mountpoint  /srv                 inherited from rpool
rpool/srv          mounted     yes                  -
rpool/srv          canmount    on                   default
rpool/srv          overlay     off                  default
rpool/var          mountpoint  /var                 inherited from rpool
rpool/var          mounted     no                   -
rpool/var          canmount    off                  local
rpool/var          overlay     off                  default
rpool/var/cache    mountpoint  /var/cache           inherited from rpool
rpool/var/cache    mounted     yes                  -
rpool/var/cache    canmount    on                   default
rpool/var/cache    overlay     off                  default
rpool/var/games    mountpoint  /var/games           inherited from rpool
rpool/var/games    mounted     yes                  -
rpool/var/games    canmount    on                   default
rpool/var/games    overlay     off                  default
rpool/var/log      mountpoint  legacy               local
rpool/var/log      mounted     yes                  -
rpool/var/log      canmount    on                   default
rpool/var/log      overlay     off                  default
rpool/var/mail     mountpoint  /var/mail            inherited from rpool
rpool/var/mail     mounted     yes                  -
rpool/var/mail     canmount    on                   default
rpool/var/mail     overlay     off                  default
rpool/var/spool    mountpoint  /var/spool           inherited from rpool
rpool/var/spool    mounted     yes                  -
rpool/var/spool    canmount    on                   default
rpool/var/spool    overlay     off                  default
rpool/var/tmp      mountpoint  legacy               local
rpool/var/tmp      mounted     yes                  -
rpool/var/tmp      canmount    on                   default
rpool/var/tmp      overlay     off                  default

Все мои пулы в моем списке zpool:

$ zpool list
NAME         SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
Pool-1tb     976G   414G   562G         -     4%    42%  1.00x  ONLINE  -
Pool-500gb   488G  70.1G   418G         -     0%    14%  1.00x  ONLINE  -
rpool        952G   684G   268G         -    57%    71%  1.00x  ONLINE  -

Я не могу смонтировать rpool после r загрузки:

$ zfs mount rpool
cannot mount '/': directory is not empty

Вот текущая ошибка, связанная с ZFS r при запуске journalctl -b: enter image description here

Любые предложения о том, как установить rpool при загрузке и как вернуть мою систему?

Запуск Ubuntu 18.04 с zfsutils- linux 0.7.5 и zfs-dkms 0.7.5

EDIT:

Вывод df -h on /

$ ls -la
total 174
drwxr-xr-x   26 root root   30 Apr 29 06:58 .
drwxr-xr-x   26 root root   30 Apr 29 06:58 ..
drwxr-xr-x    2 root root  166 Apr 29 06:56 bin
drwxr-xr-x    4 root root   22 May  5 06:21 boot
drwxr-xr-x   24 root root 5380 May  5 07:22 dev
drwxr-xr-x  154 root root  265 May  5 07:24 etc
drwxr-xr-x    3 root root    3 May  4 12:21 home
lrwxrwxrwx    1 root root   33 Apr 29 06:58 initrd.img -> boot/initrd.img-4.15.0-99-generic
lrwxrwxrwx    1 root root   33 Apr 29 06:58 initrd.img.old -> boot/initrd.img-4.15.0-96-generic
drwxr-xr-x   24 root root   37 Apr 20 18:58 lib
drwxr-xr-x    2 root root   45 Jan 20  2019 lib32
drwxr-xr-x    2 root root    3 Jul 10  2019 lib64
drwxr-xr-x    3 root root    3 May  3 01:32 media
drwxr-xr-x    2 root root    2 Apr 27  2018 mnt
drwxr-xr-x   13 root root   13 Mar 29 12:34 opt
drwxr-xr-x    5 greg root    5 Apr 23 11:42 Pool-1tb
drwxr-xr-x    6 greg root    6 Apr 21 14:17 Pool-500gb
dr-xr-xr-x 1325 root root    0 May  5 07:21 proc
drwxr-xr-x   11 root root   12 Apr 20 19:27 root
drwxr-xr-x   37 root root 1140 May  5 07:22 run
drwxr-xr-x    2 root root  218 May  2 17:25 sbin
drwxr-xr-x   16 root root   17 Apr 30 13:02 snap
drwxr-xr-x    2 root root    2 Apr 27  2018 srv
dr-xr-xr-x   13 root root    0 May  5 07:21 sys
drwxrwxrwt   20 root root   21 May  5 07:31 tmp
drwx------    4 root root    4 Apr 28  2018 .Trash-0
drwxr-xr-x   12 root root   12 Jul 27  2019 usr
drwxr-xr-x   15 root root   17 Apr 27  2018 var
lrwxrwxrwx    1 root root   30 Apr 29 06:58 vmlinuz -> boot/vmlinuz-4.15.0-99-generic
lrwxrwxrwx    1 root root   30 Apr 29 06:58 vmlinuz.old -> boot/vmlinuz-4.15.0-96-generic

Вывод ls -la on / home

$ ls -la
total 18
drwxr-xr-x  3 root root  3 May  4 12:21 .
drwxr-xr-x 26 root root 30 Apr 29 06:58 ..
drwxr-xr-x 22 greg greg 25 May  5 08:46 greg

Вывод ls -la на / home / greg

$ df -h
Filesystem         Size  Used Avail Use% Mounted on
udev                95G     0   95G   0% /dev
tmpfs               19G  4.6M   19G   1% /run
rpool/ROOT/ubuntu  258G   24G  235G  10% /
tmpfs               95G  4.0K   95G   1% /dev/shm
tmpfs              5.0M  4.0K  5.0M   1% /run/lock
tmpfs               95G     0   95G   0% /sys/fs/cgroup
rpool/var/log      236G  1.4G  235G   1% /var/log
rpool/var/tmp      235G  128K  235G   1% /var/tmp
/dev/loop0         161M  161M     0 100% /snap/gnome-3-28-1804/116
/dev/loop3          94M   94M     0 100% /snap/core/9066
/dev/loop1          94M   94M     0 100% /snap/darktable-kyrofa/49
/dev/loop4         243M  243M     0 100% /snap/gnome-3-34-1804/27
/dev/loop2         141M  141M     0 100% /snap/gnome-3-26-1604/97
/dev/loop5         116M  116M     0 100% /snap/checksum-validator/2
/dev/loop6         141M  141M     0 100% /snap/gnome-3-26-1604/98
/dev/loop7         157M  157M     0 100% /snap/gnome-3-28-1804/110
/dev/loop8         2.5M  2.5M     0 100% /snap/gnome-calculator/730
/dev/loop9          93M   93M     0 100% /snap/darktable-kyrofa/45
/dev/loop10         44M   44M     0 100% /snap/snap-store/415
/dev/loop11         94M   94M     0 100% /snap/core/8935
/dev/loop12         63M   63M     0 100% /snap/gtk-common-themes/1506
/dev/loop13        143M  143M     0 100% /snap/slack/23
/dev/loop14        143M  143M     0 100% /snap/slack/22
/dev/loop15         55M   55M     0 100% /snap/core18/1705
/dev/loop16         62M   62M     0 100% /snap/authy/3
/dev/loop17         55M   55M     0 100% /snap/gtk-common-themes/1502
/dev/loop18        9.2M  9.2M     0 100% /snap/canonical-livepatch/95
/dev/loop19         55M   55M     0 100% /snap/core18/1754
/dev/loop20        4.4M  4.4M     0 100% /snap/gnome-calculator/704
Pool-1tb           946G  415G  532G  44% /Pool-1tb
Pool-500gb         473G   71G  403G  15% /Pool-500gb
rpool/srv          235G  128K  235G   1% /srv
rpool/var/games    235G  128K  235G   1% /var/games
rpool/var/mail     235G  128K  235G   1% /var/mail
tmpfs               19G   16K   19G   1% /run/user/120
tmpfs               19G   36K   19G   1% /run/user/1000

Вывод ls -la on /

$ ls -la
ls: cannot access '.gvfs': Permission denied
total 69
drwxr-xr-x 23 greg greg   26 May  5 07:22 .
drwxr-xr-x  3 root root    3 May  4 12:21 ..
-rw-------  1 greg greg 2938 May  5 07:24 .bash_history
drwx------ 18 greg greg   20 May  5 05:57 .cache
drwx------ 17 greg greg   20 May  4 17:49 .config
drwx------  3 root root    3 May  4 13:07 .dbus
drwxr-xr-x  2 greg greg    2 May  4 13:04 Desktop
drwxr-xr-x  2 greg greg    2 May  4 13:04 Documents
drwxr-xr-x  2 greg greg    2 May  4 13:04 Downloads
drwx------  2 greg greg    2 May  4 13:04 .gconf
drwx------  3 greg greg    5 May  4 13:06 .gnupg
d?????????  ? ?    ?       ?            ? .gvfs
-rw-------  1 greg greg 2480 May  5 07:22 .ICEauthority
drwx------  3 greg greg    3 May  4 13:04 .local
drwx------  5 greg greg    5 May  4 17:49 .mozilla
drwxr-xr-x  2 greg greg    2 May  4 13:04 Music
drwxr-xr-x  2 greg greg    2 May  4 12:21 NAS
drwx------  3 greg greg    3 May  4 13:04 .nv
drwxr-xr-x  2 greg greg    3 May  5 05:57 Pictures
drwx------  3 greg greg    3 May  4 17:49 .pki
drwxr-xr-x  2 greg greg    2 May  4 13:04 Public
drwxr-xr-x  3 greg greg    3 May  4 13:06 snap
drwx------  2 greg greg    2 May  4 13:06 .ssh
-rw-r--r--  1 greg greg    0 May  4 13:07 .sudo_as_admin_successful
drwxr-xr-x  2 greg greg    2 May  4 13:04 Templates
drwxr-xr-x  2 greg greg    2 May  4 13:04 Videos

Вывод ls -la on / root

$ ls -la
total 42
drwxr-xr-x 11 root root  12 Apr 20 19:27 .
drwxr-xr-x 26 root root  30 Apr 29 06:58 ..
-rw-------  1 root root 399 May  4 12:59 .bash_history
drwx------  4 root root   4 Apr 28  2018 .cache
drwx------  6 root root   6 Jun 23  2018 .config
drwx------  3 root root   3 Apr 28  2018 .dbus
drwx------  2 root root   3 Apr 20 20:01 .ecryptfs
drwx------  2 root root   2 Nov  8  2018 .gconf
drwxr-xr-x  2 root root   3 May  5 07:21 .hplip
drwxr-xr-x  3 root root   3 Apr 28  2018 .local
drwxr-xr-x  3 root root   3 Mar 29 19:01 snap
drwx------  3 root root   6 May  5 06:24 .synaptic

Вывод ls -la on / var / cache

$ ls -la
total 142
drwxr-xr-x 18 root root  19 Feb 18 06:30 .
drwxr-xr-x 15 root root  17 Apr 27  2018 ..
drwx------  2 root root  22 Apr 30 13:02 apparmor
drwxr-xr-x  4 root root   4 Dec  6  2018 app-info
drwxr-xr-x  3 root root   5 May  5 06:21 apt
drwxr-xr-x  2 root root   6 Apr 29  2018 cracklib
drwxrwx---  3 root lp    11 May  5 06:31 cups
drwxr-xr-x  2 root root   7 May  5 06:21 debconf
drwxr-xr-x  2 root root 153 Apr 30 13:02 fontconfig
drwxr-xr-x  2 root root   4 May  4 13:05 fwupd
drwxr-xr-x  2 root root   2 Jun  5  2018 gdm
drwx------  2 root root   3 May  2 17:26 ldconfig
drwxr-xr-x 35 man  man   37 May  5 06:21 man
-rw-r--r--  1 root root 227 May  5 05:28 motd-news
drwxr-xr-x  3 root root   3 Sep  3  2018 PackageKit
drwxr-xr-x  3 root root   5 May  5 07:22 samba
drwx------  2 root root   2 Aug 30  2016 slack
drwxr-xr-x  3 root root   6 May  4 15:28 snapd
drwxr-xr-x  2 root root   3 Apr 29  2018 ubuntu-advantage-tools

Вывод команды ls -la on / var / spool

$ ls -la
total 11
drwxr-xr-x  5 root   root  5 May  4 12:26 .
drwxr-xr-x 15 root   root 17 Apr 27  2018 ..
drwxr-xr-x  3 root   root  3 May  4 12:26 cron
drwx--x---  3 root   lp    3 May  4 12:26 cups
drwx------  2 syslog adm   2 May  4 12:21 rsyslog

1 Ответ

0 голосов
/ 11 мая

Вам необходимо удалить избыточный, неиспользуемый атрибут mountpoint из наборов данных. Если rpool (набор данных root) фактически не используется, удалите атрибут mountpoint и установите его в фактически используемом наборе данных (rpool/ROOT/ubuntu):

zfs set mountpoint=none rpool

И самое главное, вы должен установить атрибут rootfs zpool в дополнение к установке mountpoint=/ на уровне набора данных:

zpool set bootfs=rpool/ROOT/ubuntu rpool

Кроме того, можно безопасно удалить каталоги точек монтирования (ZFS создаст их при монтаже). Пожалуйста, переименуйте o r backup этих каталогов.

Если у вас нет аварийного диска, вы можете получить оболочку Busybox, добавив init=/bin/Busybox sh и удалив аргумент root= в аргументах командной строки загрузки . Затем вы можете импортировать пул без монтирования (zpool import -R /mnt -n rpool), а затем отредактировать атрибуты по своему усмотрению.

Наконец, neve r полагаться на fstab fo r mount zfs файловая система наборы данных (кроме fo r zvols, например swap), если вы не знаете, что делаете, поскольку наборы данных со стандартным атрибутом mountpoint монтируются раньше. Используйте mountpoint=legacy, чтобы можно было установить его с помощью mount o r желоба fstab.

...