Вопрос про zfs. FreeBSD 13.1
Есть диск с zfs (созданный bsdinstall).
Затем добавили еще диск с целью перенести на нее систему, а второй оставить для разных больших файлов.
Загрузился с флешки и bsdinstall создал на весь диск zfs и установил.
В биосе сказал грузиться с нового диско, но FreeBSD все равно грузиться со старого диска.
Что еще нужно подкрутить?
_______________________________________________
freebsd mailing list
fre...@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd
Привет.
Вопрос про zfs. FreeBSD 13.1
Есть диск с zfs (созданный bsdinstall).
Затем добавили еще диск с целью перенести на нее систему, а второй
оставить для разных больших файлов.
Загрузился с флешки и bsdinstall создал на весь диск zfs и установил.
В биосе сказал грузиться с нового диско, но FreeBSD все равно
грузиться со старого диска.
Что еще нужно подкрутить?
Ой, оба из под bsdinstall, значит одинаковые. А как выкрутиться в этой ситуации?
Читаю про ZFS: все про зеркала рассказывают...
А как же поступают в такой ситуации: вставил диск с другой компьютера что-бы данные скопировать?
Не надо было так делать. Есть гораздо более простой и быстрый путь:
добавить второй диск в существующий пул командой zpool attach poolname old_device new_device
Это делает пул зеркалом. Надо дождаться окончания зеркалирования данных,
проверяя прогресс командой zpool status. Затем можно удалить старый диск из пула
командой zpool detach.
Предварительно почитать man zpool-attach и man zpool-detach.
Важно не спутать с командой zpool add, которая тоже добавляет диск в пул,
но делает из пула не зеркало, а аналог gconcat, когда объём пула становится
суммарным объёмом двух дисков, данные распределяются по всему объёму и такой
пул уже невозможно разобрать потом, только через спасение данных и уничтожение пула целиком.
>>> Что еще нужно подкрутить?
>>
>> Название рутового пула случайно не одинаковое?
>
> Ой, оба из под bsdinstall, значит одинаковые. А как выкрутиться в этой ситуации?
>
> Читаю про ZFS: все про зеркала рассказывают...
> А как же поступают в такой ситуации: вставил диск с другой компьютера что-бы данные скопировать?
У пулов кроме имени есть уникальные ID, импортировать пул с тем же именем можно вручную по ID.
man zpool-import.
Импортировать по ID получилось, если загрузиться с install флешки.
А при загрузке с диска один пулл, наверное, ложиться поверх второго.
Когда их назвал разными именами, то при загрузке импортировался только пулл с диска, с которого шла загрузка.
Почему, если имена совпадаю, загрузчик лезет в другой диск - не понятно.
Далее возник вопрос, как добраться до данных второго диска.
Некоторые каталоги оказываются пустые, например /usr/local/
# zpool import -N tank
# zfs list
tank 743M 107G 96K /zroot
tank/ROOT 740M 107G 96K none
tank/ROOT/default 740M 107G 740M /
tank/tmp 120K 107G 120K /tmp
tank/usr 484K 107G 96K /usr
tank/usr/home 196K 107G 196K /usr/home
tank/usr/ports 96K 107G 96K /usr/ports
tank/usr/src 96K 107G 96K /usr/src
tank/var 648K 107G 96K /var
tank/var/audit 96K 107G 96K /var/audit
tank/var/crash 96K 107G 96K /var/crash
tank/var/log 160K 107G 160K /var/log
tank/var/mail 104K 107G 104K /var/mail
tank/var/tmp 96K 107G 96K /var/tmp
# mount -t zfs tank/ROOT/default /mnt
# ll /mnt/usr/local/
total 0
# umount /mnt
# mount -t zfs tank/usr /mnt
# ll /mnt/
total 0
Почем так не понятно.
> On Tue, 14 Jun 2022 01:44:22 +0700
> Eugene Grosbein <eu...@grosbein.net> wrote:
>
>> 13.06.2022 22:57, Nick Kostirya via freebsd пишет:
>>> On Mon, 13 Jun 2022 18:39:41 +0300
>>> Владимир Друзенко via freebsd <fre...@uafug.org.ua> wrote:
>>>> Nick Kostirya via freebsd писал(а) 2022-06-13 17:52:
>>>>>
>>>>> Вопрос про zfs. FreeBSD 13.1
>>>>> Есть диск с zfs (созданный bsdinstall).
>>>>> Затем добавили еще диск с целью перенести на нее систему, а второй
>>>>> оставить для разных больших файлов.
>>>>> Загрузился с флешки и bsdinstall создал на весь диск zfs и установил.
>>>>> В биосе сказал грузиться с нового диско, но FreeBSD все равно
>>>>> грузиться со старого диска.
>>
>> Не надо было так делать. Есть гораздо более простой и быстрый путь:
>> добавить второй диск в существующий пул командой zpool attach poolname old_device new_device
[skip]
>> У пулов кроме имени есть уникальные ID, импортировать пул с тем же именем можно вручную по ID.
>> man zpool-import.
>
> Импортировать по ID получилось, если загрузиться с install флешки.
> А при загрузке с диска один пулл, наверное, ложиться поверх второго.
> Когда их назвал разными именами, то при загрузке импортировался только пулл с диска, с которого шла загрузка.
> Почему, если имена совпадаю, загрузчик лезет в другой диск - не понятно.
Какой пул подхватился, туда и лезет.
Не рассчитана система на работу с одноименными пулами,
а точнее сказать она работает с ними не так, как ты ожидаешь.
> Далее возник вопрос, как добраться до данных второго диска.
Не надо заниматься этим в гамаке и на лыжах.
Убей один из пулов, освободившийся диск добавь в пул,
как выше написано и ZFS тебе сама всё скопирует.
Не надо было так делать. Есть гораздо более простой и быстрый путь:
добавить второй диск в существующий пул командой zpool attach poolname old_device new_device
Это делает пул зеркалом. Надо дождаться окончания зеркалирования данных,
проверяя прогресс командой zpool status. Затем можно удалить старый диск из пула
командой zpool detach.
Это зависит от того, что хочется получить в итоге - свободный диск или два пула,
занимающие разные диски.