hi,

 Mon, Oct 24, 2016 at 02:51:30, eugen wrote about "Re: [freebsd] /dev/ada*p* 
или /dev/diskid/DISK-${id}p*?": 

> > У меня нет над ними ничего вообще. Это просто два диска.
> А причем тогда fstab?

При том, что присутствует или /dev/ada1p1, или
/dev/diskid/DISK-S1E2D7FYp1, но не одновременно.
И если в fstab записан один, а GEOM выставила другой - загрузка
ломается.

> Если "просто два диска" без разметки, понимаемой
> GEOM_PART_*, то никакой GEOM и не занимает диски и не мешает созданию diskid,
> тогда это штатное поведение системы. Если после этого нечто вроде ZFS
> откроет diskid, то ada* пропадут. Так и задумано.

В данном случае я вообще привёл id _свопа_. Никакой ZFS тут не
участвует. Но такое же происходит и с двумя соседними UFS разделами,
причём со всеми одновременно - у ada1 или появляются p1, p2..., 
или у serialʼа диска появляются подзаписи p1, p2... в diskid.
А, значит, по сравнению с тем, что ты говоришь - кто-то таки мешает
созданию diskids, причём для всего диска.

> Упомянутый loader tunnable запрещает создание diskid полностью.
> Скорее всего, тебе надо его выставить в ноль и расслабиться.

Я, наоборот, предпочёл бы видеть, как будто он всегда в 1, а лучше в 2
(чтобы присутствовали оба варианта). :)

> > Ага. То есть может быть race?
> 
> Не думаю, ни разу не видел race в GEOM, там всё детерминировано,
> хотя и не очевидным образом. У разных GEOM разные свойства - кто-то
> захватывает диск эксклюзивно, кто-то нет; кто-то получает его на "обнюхивание"
> (taste) раньше, кто-то позже.

Тем не менее, что-то там работает неустойчиво.
На текущей загрузке есть, например, /dev/ada0s1 и /dev/ada0s2e,
но нет /dev/ada0s1c; на предыдущей к этим двум были и /dev/ada0s1c,
и /dev/ada0s1ce (!!) и аналогично для остальных букв под ним.

К сожалению, если не просить verbose boot, dmesg этого ничего не
пишет, так что все сегодняшние чудеса в логах не отразились. Знал бы
прикуп - сохранил бы kern.geom.confxml для истории.


-netch-

Ответить