forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.UNIX.BSD

Ответ
 
Опции темы Опции просмотра
  #11  
Старый 20.01.2018, 19:50
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: ashift на древней bsd

Eugene Grosbein написал(а) к Alex Korchmar в Jan 18 21:33:46 по местному времени:

20 янв. 2018, суббота, в 19:10 NOVT, Alex Korchmar написал(а):

AK>>> странная идея - gptzfsboot разьве до сих пор не научился грузиться с
AK>>> зеркал?
EG>> Научился (чего там учиться-то), но ZFS не зеркалирует таблицу разделов
EG>> и начальный загрузчик, а мне надо.
AK> хм, а вручную скопировать при появлении в поле зрения нового диска, типа,
AK> сложнее,

Разбиение может быть достаточно сложным, копировать его надо уметь,
тот код, который изначально был установлен для загрузки в области
вне файловых систем, может быть уже и недоступен, когда потребуется
срочно заменить вышедшую из строя чать зеркала.

AK> чем вот эти все наслоения с КПД в два процента?
EG>> В итоге MBR, загрузчики и систему мне синхронизирует graid,
EG>> а всё остальное ZFS. И диски могут быть любого размера,
EG>> хоть по 6TB.
AK> что-то мне подсказывает, что это писец неэффективный метод доступа к диску.

Да с чего бы? Внутри ядра это просто вложенные вызовы C-функций,
уж в случае НDD (и даже SSD) стоимость I/O несравнима с.

Eugene
--- slrn/1.0.2 (FreeBSD)
Ответить с цитированием
  #12  
Старый 20.01.2018, 20:11
Eugene V. Boontseff
Guest
 
Сообщений: n/a
По умолчанию Re: ashift на древней bsd

Eugene V. Boontseff написал(а) к Eugene Grosbein в Jan 18 18:45:12 по местному времени:

From: "Eugene V. Boontseff" <eugene@home.wdc.spb.ru>


Нello, All!

On 20.01.2018 16:31, Eugene Grosbein wrote:
> 20 янв. 2018, суббота, в 10:51 NOVT, Alex Korchmar написал(а):
>
> AK>>> vfs.zfs.minautoashift оно еще не отрастило.
> EG>> vfs.zfs.minautoashift есть даже в девятке, начиная с r266123
> AK> это, видимо, бэкпорт.
>
> Само собой.
>
> EG>> У тебя там 8.x что ли?
> AK> 10какая-то непоследняя.
>
> С 10.0 оно должно быть.
>

С 10.1 всё-таки


--
Eugene
--- ifmail v.2.15dev5.4
Ответить с цитированием
  #13  
Старый 20.01.2018, 20:11
Alex Korchmar
Guest
 
Сообщений: n/a
По умолчанию Re: ashift на древней bsd

Alex Korchmar написал(а) к Eugene Grosbein в Jan 18 18:51:43 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote:

AK>> что-то мне подсказывает, что это писец неэффективный метод доступа к
AK>> диску.
EG> Да с чего бы? Внутри ядра это просто вложенные вызовы C-функций,
а не копирование ли блока данных, причем максимально неэффективное из-за
разных размеров обрабатываемого блока?

EG> уж в случае НDD (и даже SSD) стоимость I/O несравнима с.
то-то мы изобрели sendfile пятнадцать лет назад, когда диски были медленнее
чуть не вдвое...

> Alex

--- ifmail v.2.15dev5.4
Ответить с цитированием
  #14  
Старый 20.01.2018, 21:50
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: ashift на древней bsd

Eugene Grosbein написал(а) к Alex Korchmar в Jan 18 23:27:13 по местному времени:

20 янв. 2018, суббота, в 19:51 NOVT, Alex Korchmar написал(а):

AK>>> что-то мне подсказывает, что это писец неэффективный метод доступа к
AK>>> диску.
EG>> Да с чего бы? Внутри ядра это просто вложенные вызовы C-функций,
AK> а не копирование ли блока данных, причем максимально неэффективное из-за
AK> разных размеров обрабатываемого блока?

В случае томов SINGLE или RAID1 - нет, тут задачей graid является
просто пересчет аргументов и передача запроса дальше нужному
geom_disk'у по правильному смещению.

EG>> уж в случае НDD (и даже SSD) стоимость I/O несравнима с.
AK> то-то мы изобрели sendfile пятнадцать лет назад, когда диски были медленнее
AK> чуть не вдвое...

Ну там-то как раз боролись и с лишними переключениями контекста,
и с лишними копированиями, а тут ничего этого нет.

Eugene
--- slrn/1.0.2 (FreeBSD)
Ответить с цитированием
  #15  
Старый 22.01.2018, 13:20
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: ashift на древней bsd

Eugene Grosbein написал(а) к Alex Korchmar в Jan 18 14:56:56 по местному времени:

20 янв. 2018, суббота, в 19:10 NOVT, Alex Korchmar написал(а):

EG>> В итоге MBR, загрузчики и систему мне синхронизирует graid,
EG>> а всё остальное ZFS. И диски могут быть любого размера,
EG>> хоть по 6TB.
AK> что-то мне подсказывает, что это писец неэффективный метод доступа к диску.

Забыл ещё сказать, что отделение загрузочного пула позволяет
включать на другом пуле checksum=skein вместо sha. Из zpool-features(7):

It provides a very high security margin and high
performance on 64-bit hardware (80% faster than SНA-256).

Booting off of pools using skein is NOT supported.

Eugene
--- slrn/1.0.2 (FreeBSD)
Ответить с цитированием
  #16  
Старый 22.01.2018, 21:10
Alex Korchmar
Guest
 
Сообщений: n/a
По умолчанию Re: ashift на древней bsd

Alex Korchmar написал(а) к Eugene Grosbein в Jan 18 19:49:22 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote:

EG> Забыл ещё сказать, что отделение загрузочного пула позволяет
EG> включать на другом пуле checksum=skein вместо sha. Из zpool-features(7):
о, это интересно. Правда, подозреваю, загрузчик кто-нибудь в ближайшее время
поправит (интересно, зачем ему вообще что-то знать о каких-то контрольных
суммах, да еще на уровне пула, а не отдельной fs)

но это для хранилок, пожалуй, оставлю.

> Alex

--- ifmail v.2.15dev5.4
Ответить с цитированием
  #17  
Старый 24.01.2018, 00:51
Alex Korchmar
Guest
 
Сообщений: n/a
По умолчанию Re: ashift на древней bsd

Alex Korchmar написал(а) к Eugene Grosbein в Jan 18 23:01:13 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote:

AK>> поправит (интересно, зачем ему вообще что-то знать о каких-то контрольных
AK>> суммах, да еще на уровне пула, а не отдельной fs)
EG> Для загрузчика несходимость контрольной суммы означает,
EG> что это место надо пропустить при поиске загрузочного пула.
хмм... однобитовый патч? ;-)

> Alex

--- ifmail v.2.15dev5.4
Ответить с цитированием
  #18  
Старый 26.01.2018, 17:20
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: ashift на древней bsd

Eugene Grosbein написал(а) к Alex Korchmar в Jan 18 20:03:06 по местному времени:

23 янв. 2018, вторник, в 23:01 NOVT, Alex Korchmar написал(а):

AK>>> поправит (интересно, зачем ему вообще что-то знать о каких-то контрольных
AK>>> суммах, да еще на уровне пула, а не отдельной fs)
EG>> Для загрузчика несходимость контрольной суммы означает,
EG>> что это место надо пропустить при поиске загрузочного пула.
AK> хмм... однобитовый патч? ;-)

Не понял реплики.

Вот имеем мы пусть даже просто загрузочный зеркальный пул.
До старта ядра у загрузчика есть только сервисы BIOS/[U]EFI,
для простоты будем называть просто BIOS. Оно загружает с одного из дисков
MBR и передаёт управление в код, который там лежит.

Этот код, как и любой код, использующий сервисы BIOS, может читать
диски, ссылаясь на них как на BIOS disk 0 (тот, с которого загружен сам),
BIOS disk 1 и т.д., в терминах фрёвого загрузчика это disk0 и disk1.

В случае BootEasy (/boot/boot0) в MBR этот код либо находит активный раздел
и читает с него первый сектор, либо читает MBR с BIOS disk 1
(в зависимости от настроек и/или выбора юзера с консоли) и передаёт
туда управление, что в случае ZFS в итоге приводит к запуску zfsboot,
которому всё так же доступны disk0, disk1.

zfsboot не знает, с которого диска и которого раздела его прочитали.
Он "обнюхивает" доступные диски и разделы в поисках сигнатур и суперблоков
ZFS и если видит что-то похожее на ZFS, но контрольная сумма данных
не сходится - разумно пропускает и ищет дальше, потому как это мог быть
и нестойко читающийся soft bad и лучше бы начать грузить zfsloader
с другого компонента.

zfsloader имеет в себе уже гораздо более богатый по возможностям код,
который тем не менее всё ещё может использовать только сервисы BIOS,
но ему уже передаются уникальные id того пула ZFS и файловой системы на нём,
с которого его прочитал zfsboot. Он тоже "обнюхивает" доступные диски
и разделы, находит на них компоненты указанного пула, выбирая нужный
пул по id и читает данные с ZFS и если контрольная сумма не сходится,
то имеет возможность попробовать другой компонент зеркального пула.

В случае с GPT вместо MBR отличие только в последовательности
запуска загрузчиков до старта zfsloader, а дальше всё то же самое.

Eugene
--
Choose no career
--- slrn/1.0.2 (FreeBSD)
Ответить с цитированием
  #19  
Старый 26.01.2018, 20:30
Alex Korchmar
Guest
 
Сообщений: n/a
По умолчанию Re: ashift на древней bsd

Alex Korchmar написал(а) к Eugene Grosbein в Jan 18 19:08:04 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote:

AK>> хмм... однобитовый патч? ;-)
EG> Не понял реплики.
JNZ / JZ ?

EG> zfsboot не знает, с которого диска и которого раздела его прочитали.
EG> Он "обнюхивает" доступные диски и разделы в поисках сигнатур и суперблоков
EG> ZFS и если видит что-то похожее на ZFS, но контрольная сумма данных
EG> не сходится - разумно пропускает и ищет дальше, потому как это мог быть
хотя вполне вероятно что его самого только что именно с такого и загрузили.

EG> и нестойко читающийся soft bad и лучше бы начать грузить zfsloader
EG> с другого компонента.
ну а если другого не находится - чего бы и не?

EG> В случае с GPT вместо MBR отличие только в последовательности
EG> запуска загрузчиков до старта zfsloader, а дальше всё то же самое.
там gtpzfsboot. Которому незачем укладываться в размеры всяких крохотных
зарезервированных областей, и который вполне можно снабдить интеллектом
хотя бы на уровне "если вообще никакие контрольные суммы не сходятся -
попробовать первый попавшийся". Странно, что этого до сих пор не сделано,
но уж точно можно просто отключить ему излишний "ум", чтобы не проверял то,
что не умеет считать.

> Alex

--- ifmail v.2.15dev5.4
Ответить с цитированием
  #20  
Старый 28.01.2018, 19:01
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: ashift на древней bsd

Eugene Grosbein написал(а) к Alex Korchmar в Jan 18 21:33:36 по местному времени:

20 янв. 2018, суббота, в 10:54 NOVT, Alex Korchmar написал(а):

AK>>> был же какой-то фокус с gnop?
EG>> Он стал не нужен ещё в девятке, ЕМНИП, после того как
EG>> в geom добавили достаточно интеллекта специально для того,
EG>> тобы gnop стал не нужен. А ZFS у нас в любом случае живет
AK> там, помнится, надо было не добавлять, а убавлять - чтобы он у диска не
AK> спрашивал то, о чем диск - врет.

Возможно, ты имеешь в виду ручные квирки?
В /usr/src/sys/cam/ata/ata_da.c есть такое:

typedef enum {
ADAQNONE = 0x00,
ADAQ4K = 0x01,
ADAQ_NCQ_TRIMBROKEN = 0x02,
ADAQ_LOGBROKEN = 0x04,
ADAQ_SMRDM = 0x08
} ada_quirks;

И в том же файле ниже:

static struct adaquirk_entry ada_quirktable[] =
{
{
/ Нitachi Advanced Format (4k) drives /
{ TDIRECT, SIP_MEDIAFIXED, "", "Нitachi Н??????????E3*", "" },
/quirks/ADAQ4K
},
{
/ Samsung Advanced Format (4k) drives /
{ TDIRECT, SIP_MEDIAFIXED, "", "SAMSUNG НD155UI*", "" },
/quirks/ADAQ4K
},

И если твоего диска нет в этой таблице, то в loader.conf
можно прописать:

# 4K sectors
kern.cam.ada.0.quirks="1"

Это нужно только на момент создания пула ZFS.

Eugene
--
Поэты - страшные люди. У них все святое.
--- slrn/1.0.2 (FreeBSD)
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 22:37. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot