История изменений
Исправление sanyo1234, (текущая версия) :
а чо не по контроллеру на диск? 😏
Контроллер может не просто выйти из строя, а по тем или иным причинам (которые устраняются заменой контроллера на другой экземпляр или модель) внезапно начать записывать неправильные данные.
Поэтому, чтобы пул выжил, необходимо, чтобы один поехавший контроллер не мог испортить количество дисков больше чем количество дисков избыточности в vdev пула.
Например, для vdev - зеркала из трех дисков избыточным являются два диска, поэтому один контроллер не может обслуживать более двух дисков такого vdev, но в идеале конечно раскидать все 3 диска зеркального vdev по трем разным контроллерам, причем для других зеркальных vdev в одном общем stripe можно легко задействовать те же самые контроллеры, главное чтобы выжил каждый vdev, неважно на каких одном или двух контроллерах из трех.
Другой пример, raidz3 (или dRAID3) из 9 дисков, где образно (не вдаваясь в суть распределения parity по всем дискам vdev) 6 дисков для данных и 3 диска для избыточности. Чтобы сохранить пул, мы не можем одномоментно потерять более 3х дисков в пуле, значит один поехавший контроллер не должен испортить данные более 3х дисков. Значит нужно на один контроллер цеплять не более 3х дисков одного vdev типа raidz3 из 9-и дисков. Всего у нас 9 дисков / 3 диска = 3 контроллера на один vdev raidz3 из 9-и дисков.
Если бы у нас был raidz3 из 8-ми дисков, то 4 контроллера позволили бы при поехавшем одном контроллере сохранить целой инфу уже на 6 дисках, т.е. в отличии от прошлого примера у нас бы остался живым еще и один резервный диск: 8-6=2 < 3 резервных на 1 диск, т.е. из 6 дисков только 5 будут жизненно необходимыми для vdev, а 6-ой резервным (данные на двух резервных испортятся из-за одного поехавшего контроллера).
у нас в корзинах по 2 контроллера на бэкплейн и двухпортовые диски
Двухпортовые диски находят путь до любого работающего контроллера, но только до какого-то одного, который они выберут, верно? Типа load балансера? Тогда если у одного из твоих контроллеров поедет крыша в raidzХ: 8+Х, то можно потерять инфу на 4+X/2 дисках=4+ дисках = очень вероятно на >=5 дисках (при X>=2). Ессно твой пул такого не переживет, ведь у него избыточность от силы=3 и то наврядли, вероятно лишь raidz2?
PS: тогда вероятно оптимальным конфигом raidz3 является vdev из 8-ми (5+3) дисков и 4-х контроллеров (по два диска на каждый контроллер). Причем один контроллер может обслуживать любое количество vdev одного пула, но в пределах одного vdev не более двух дисков. Золотая середина конфига ? :)
А spare диски в ZFS пуле общие для всего пула, а не только для какого-то одного vdev?
Исправление sanyo1234, :
а чо не по контроллеру на диск? 😏
Контроллер может не просто выйти из строя, а по тем или иным причинам (которые устраняются заменой контроллера на другой экземпляр или модель) внезапно начать записывать неправильные данные.
Поэтому, чтобы пул выжил, необходимо, чтобы один поехавший контроллер не мог испортить количество дисков больше чем количество дисков избыточности в vdev пула.
Например, для vdev - зеркала из трех дисков избыточным являются два диска, поэтому один контроллер не может обслуживать более двух дисков такого vdev, но в идеале конечно раскидать все 3 диска зеркального vdev по трем разным контроллерам, причем для других зеркальных vdev в одном общем stripe можно легко задействовать те же самые контроллеры, главное чтобы выжил каждый vdev, неважно на каких одном или двух контроллерах из трех.
Другой пример, raidz3 (или dRAID3) из 9 дисков, где образно (не вдаваясь в суть распределения parity по всем дискам vdev) 6 дисков для данных и 3 диска для избыточности. Чтобы сохранить пул, мы не можем одномоментно потерять более 3х дисков в пуле, значит один поехавший контроллер не должен испортить данные более 3х дисков. Значит нужно на один контроллер цеплять не более 3х дисков одного vdev типа raidz3 из 9-и дисков. Всего у нас 9 дисков / 3 диска = 3 контроллера на один vdev raidz3 из 9-и дисков.
Если бы у нас был raidz3 из 8-ми дисков, то 4 контроллера позволили бы при поехавшем одном контроллере сохранить целой инфу уже на 6 дисках, т.е. в отличии от прошлого примера у нас бы остался живым еще и один резервный диск: 8-6=2 < 3 резервных на 1 диск, т.е. из 6 дисков только 5 будут жизненно необходимыми для vdev, а 6-ой резервным (данные на двух резервных испортятся из-за одного поехавшего контроллера).
у нас в корзинах по 2 контроллера на бэкплейн и двухпортовые диски
Двухпортовые диски находят путь до любого работающего контроллера, но только до какого-то одного, который они выберут, верно? Типа load балансера? Тогда если у одного из твоих контроллеров поедет крыша в raidzХ: 8+Х, то можно потерять инфу на 4+X/2 дисках=4+ дисках = очень вероятно на >=5 дисках (при X>=2). Ессно твой пул такого не переживет, ведь у него избыточность от силы=3 и то наврядли, вероятно лишь raidz2?
PS: тогда вероятно оптимальным конфигом raidz3 является vdev из 8-ми (5+3) дисков и 4-х контроллеров (по два диска на каждый контроллер). Причем один контроллер может обслуживать любое количество vdev одного пула, но в пределах одного vdev не более двух дисков. Золотая середина конфига ? :)
Исправление sanyo1234, :
а чо не по контроллеру на диск? 😏
Контроллер может не просто выйти из строя, а по тем или иным причинам (которые устраняются заменой контроллера на другой экземпляр или модель) внезапно начать записывать неправильные данные.
Поэтому, чтобы пул выжил, необходимо, чтобы один поехавший контроллер не мог испортить количество дисков больше чем количество дисков избыточности в vdev пула.
Например, для vdev - зеркала из трех дисков избыточным являются два диска, поэтому один контроллер не может обслуживать более двух дисков такого vdev, но в идеале конечно раскидать все 3 диска зеркального vdev по трем разным контроллерам, причем для других зеркальных vdev в одном общем stripe можно легко задействовать те же самые контроллеры, главное чтобы выжил каждый vdev, неважно на каких одном или двух контроллерах из трех.
Другой пример, raidz3 (или dRAID3) из 9 дисков, где образно (не вдаваясь в суть распределения parity по всем дискам vdev) 6 дисков для данных и 3 диска для избыточности. Чтобы сохранить пул, мы не можем одномоментно потерять более 3х дисков в пуле, значит один поехавший контроллер не должен испортить данные более 3х дисков. Значит нужно на один контроллер цеплять не более 3х дисков одного vdev типа raidz3 из 9-и дисков. Всего у нас 9 дисков / 3 диска = 3 контроллера на один vdev raidz3 из 9-и дисков.
Если бы у нас был raidz3 из 8-ми дисков, то 4 контроллера позволили бы при поехавшем одном контроллере сохранить целой инфу уже на 6 дисках, т.е. в отличии от прошлого примера у нас бы остался живым еще и один резервный диск: 8-6=2 < 3 резервных на 1 диск, т.е. из 6 дисков только 5 будут жизненно необходимыми для vdev, а 6-ой резервным (данные на двух резервных испортятся из-за одного поехавшего контроллера).
у нас в корзинах по 2 контроллера на бэкплейн и двухпортовые диски
Двухпортовые диски находят путь до любого работающего контроллера, но только до какого-то одного, который они выберут, верно? Типа load балансера? Тогда если у одного из твоих контроллеров поедет крыша в raidzХ: 8+Х, то можно потерять инфу на 4+X/2 дисках=4+ дисках = очень вероятно на >=5 дисках (при X>=2). Ессно твой пул такого не переживет, ведь у него избыточность от силы=3 и то наврядли, вероятно лишь raidz2?
Исходная версия sanyo1234, :
а чо не по контроллеру на диск? 😏
Контроллер может не просто выйти из строя, а по тем или иным причинам (которые устраняются заменой контроллера на другой экземпляр или модель) внезапно начать записывать неправильные данные.
Поэтому, чтобы пул выжил, необходимо, чтобы один поехавший контроллер не мог испортить количество дисков больше чем количество дисков избыточности в vdev пула.
Например, для vdev - зеркала из трех дисков избыточным являются два диска, поэтому один контроллер не может обслуживать более двух дисков такого vdev, но в идеале конечно раскидать все 3 диска зеркального vdev по трем разным контроллерам, причем для других зеркальных vdev в одном общем stripe можно легко задействовать те же самые контроллеры, главное чтобы выжил каждый vdev, неважно на каких одном или двух контроллерах из трех.
Другой пример, raidz3 (или dRAID3) из 9 дисков, где 6 для данных и 3 для избыточности. Чтобы сохранить пул, мы не можем одномоментно потерять более 3х дисков в пуле, значит один поехавший контроллер не должен испортить данные более 3х дисков. Значит нужно на один контроллер цеплять не более 3х дисков одного vdev типа raidz3 из 9-и дисков. Всего у нас 9 дисков / 3 диска = 3 контроллера на один vdev raidz3 из 9-и дисков.
Если бы у нас был raidz3 из 8-ми дисков, то 4 контроллера позволили бы при поехавшем одном контроллере сохранить целой инфу уже на 6 дисках, т.е. в отличии от прошлого примера у нас бы остался живым еще и один резервный диск: 8-6=2 < 3 резервных на 1 диск, т.е. из 6 дисков только 5 будут жизненно необходимыми для vdev, а 6-ой резервным (данные на двух резервных испортятся из-за одно поехавшего контроллера).
у нас в корзинах по 2 контроллера на бэкплейн и двухпортовые диски
Двухпортовые диски находят путь до любого работающего контроллера, но только до какого-то одного, который они выберут, верно? Типа load балансера? Тогда если у одного из твоих контроллеров поедет крыша в raidzХ: 8+Х, то можно потерять инфу на 4+X/2 дисках=4+ дисках = очень вероятно на >=5 дисках (при X>=2). Ессно твой пул такого не переживет, ведь у него избыточность от силы=3 и то наврядли, вероятно лишь raidz2?