Исправление ошибок raid

В интернете много статей о восстановлении информации в массиве RAID-6 и о том, как сделать собственную реализацию такого массива. Но большинство этих статей напичканы математическими формулами. Чтобы понять реальный алгоритм, приходится тратить очень много времени.

В этой статье постараюсь показать простой пример собственной системы исправления ошибок на основе RAID-6. В частности, рассмотрим ситуацию, когда нужно обеспечить избыточность системы, чтобы она выдерживала сбой одного или двух накопителей.

В качестве бонуса информация о том, как работает исправление ошибок в RAID-5, потому что RAID-6 — это улучшенная версия RAID-5.

Обзор

Предположим, у вас три диска с некоторыми данными. Назовём их D1, D2 и D3. Чтобы применить систему типа RAID-6, вам понадобятся два дополнительных диска: PD и RS. Через несколько минут я опишу, что означают PD и RS. Итак, в общей сложности пять дисков: D1, D2, D3, PD и RS.

Итак, ситуация:

  • D1, D2 и D3 содержат произвольные данные. Предположим, фотографии кошек.
  • Специальный диск PD (Parity Drive, иногда P в документации) содержит заксоренные данные, автоматически сгенерированные из D1, D2 и D3.
  • Второй специальный диск RS (коды Рида — Соломона, иногда его называют Q) для тех же данных, что и PD.

Посмотрим, как выполнять базовые операции на таком массиве.

Как работает восстановление

Если правильно рассчитать PD и RS, то можно безболезненно пережить сбой до двух дисков. Процедура восстановления зависит от того, какие конкретно диски выйдут из строя. Обычно рассматривается семь ситуаций. Ниже они отсортированы от простого к сложному.

  1. Потеря PD (только одного диска).

    Очень простой случай. Диск PD содержит только автоматически сгенерированные данные, поэтому его можно восстановить, используя исходные данные на дисках D1, D2 и D3.

  2. Потеря одного из дисков с данными: D1, D2 или D3 (только одного накопителя).

    В этом случае мы теряем данные, но только один диск, поэтому сценарий восстановления такой же, как и в RAID-5: используем PD с двумя оставшимися дисками данных для восстановления данных с отсутствующего диска. Если у нас осталось два диска данных и PD, мы всегда можем сгенерировать данные для третьего диска. В данном случае RS не нужен (и вообще не используется в этом сценарии).

  3. Потеря RS (отказ только одного диска).

    Аналогично ситуации из пункта 1: у нас есть все накопители данных, и мы можем просто регенерировать RS, заново рассчитав коды Рида — Соломона.

  4. Потеря PD и RS (отказ двух дисков).

    Этот случай очень похож на пункты 1 или 3. Все данные остались нетронуты, поэтому можно очень легко перегенерировать содержимое накопителя PD, а затем RS.

  5. Потеря RS и одного накопителя данных (отказ двух накопителей).

    В этом случае мы теряем два диска, но только один из потерянных дисков заполнен данными. Поскольку у нас остался неповреждённый PD, мы можем использовать его для регенерации данных с отсутствующего диска данных, так что этот случай не так сильно отличается от случая № 2. После этого у нас в наличии все диски данных, так что можно легко регенерировать диск RS.

  6. Потеря PD и одного накопителя данных (выход из строя двух накопителей).

    Этот случай гораздо сложнее. Мы теряем один диск с пользовательскими данными (в данном примере D3), и у нас нет диска PD, чтобы помочь с восстановлением. Придётся использовать RS в сочетании с оставшимися дисками пользовательских данных (D1 и D2), чтобы восстановить отсутствующий диск данных D3. После этого мы сможем вычислить содержимое отсутствующего PD. Это первый случай, когда вступает в игру восстановление с помощью кодов Рида — Соломона.

  7. Потеря двух накопителей данных (отказ двух накопителей).

    Самый сложный сценарий. Нужно использовать как PD, так и RS для регенерации обоих накопителей данных. Это возможно только благодаря кодам Рида — Соломона.

В следующих разделах изучим подробнее эти случаи и посмотрим исходный код (на Python), который выполняет фактическое восстановление данных.

Имейте в виду, что на самом деле в настоящих массивах RAID-6 не выделяется целый диск для PD или RS. Эти данные распределяются по всем дискам. Различные контроллеры используют разные методы: левый асинхронный (left asynchronous) или правый синхронный (right synchronous), может быть сдвиг относительно RAID-данных, задержки и т. д. Оставим в стороне обсуждение, почему всё происходит именно так и как выглядят реальные полосы данных RAID-6. Сфокусируемся конкретно на кодах Рида — Соломона.

Тестовые данные

Определим «пользовательские данные». Для простоты установим размер каждого «диска» 5 байт.

Теперь более подробно рассмотрим упомянутые сценарии.

Ситуация 1. Потеря диска PD

Чтобы сгенерировать PD, нужны только диски с пользовательскими данных. В нашем случае это D1, D2 и D3. Диск PD состоит просто из XOR всех пользовательских данных.

Чтобы сгенерировать смещение 0 для PD, нужно заксорить все байты из смещения 0 со всех дисков. То же самое для offset 1 и так далее:

PD[0] = D1[0] xor D2[0] xor D3[0]
PD[1] = D1[1] xor D2[1] xor D3[1]
PD[2] = D1[2] xor D2[2] xor D3[2]
PD[3] = D1[3] xor D2[3] xor D3[3]
PD[4] = D1[4] xor D2[4] xor D3[4]

Пример:

PD[0] = 0x66 xor 0x73 xor 0x74  =>  0x61
PD[1] = 0x69 xor 0x65 xor 0x63  =>  0x64
PD[2] = 0x72 xor 0x63 xor 0x69  =>  0x78
PD[3] = 0x73 xor 0x6e xor 0x72  =>  0x6f
PD[4] = 0x74 xor 0x64 xor 0x64  =>  0x74

Да, всё очень просто. Сделайте это для дисков целиком (в нашем случае 5-байтных), и получите корректно сгенерированный PD:

Таким образом, если выйдет из строя только PD, довольно тривиально восстановить его из D1, D2 и D3.

Ситуация 2. Потеря одного из накопителей данных: D1, D2 или D3

Кстати, именно так работает исправление ошибок RAID-5. Если только один диск с пользовательскими данными выйдет из строя, мы можем использовать диск PD для пересчёта недостающих пользовательских данных.

Допустим, потерян D2. В наличии остались D1, D3, PD и RS. В этом случае даже не трогаем RS. Нужны только диски D1, D3 и PD. Чтобы вычислить недостающие данные, можно снова использовать функцию XOR, как в предыдущей ситуации.

Чтобы восстановить пользовательские данные из смещения 0, ксорим байты из нулевых смещений дисков с пользовательскими данными, которые остались (D1 и D3), с байтом из нулевого смещения PD. Повторяем для смещения 1 и так далее:

D2[0] = D1[0] xor D3[0] xor PD[0]
D2[1] = D1[1] xor D3[1] xor PD[1]
D2[2] = D1[2] xor D3[2] xor PD[2]
D2[3] = D1[3] xor D3[3] xor PD[3]
D2[4] = D1[4] xor D3[4] xor PD[4]

Пример:

D2[0] = 0x66 xor 0x74 xor 0x61  =>  0x73 (s)
D2[1] = 0x69 xor 0x63 xor 0x64  =>  0x65 (e)
D2[2] = 0x72 xor 0x69 xor 0x78  =>  0x63 (c)
D2[3] = 0x73 xor 0x72 xor 0x6f  =>  0x6e (n)
D2[4] = 0x74 xor 0x64 xor 0x74  =>  0x64 (d)

Как видите, восстановить данные с пропавшего диска очень легко. Не имеет значения, какой диск отсутствует: функция XOR работает всегда.

Ситуация 3. Потеря диска RS

Теперь вступают в дело коды Рида — Соломона и поля Галуа. Но не волнуйтесь, необязательно быть математиком, чтобы их использовать.

Когда мы теряем только диск RS или создаём новую систему типа RAID-6, то нужно просто заново сгенерировать коды. Для этого используются таблицы gflog и gfilog с неизменяемым содержимым, а также данные с существующих накопителей D1, D2 и D3.

Таблица gflog всегда выглядит так:

0x00, 0x00, 0x01, 0x19, 0x02, 0x32, 0x1a, 0xc6, 0x03, 0xdf, 0x33, 0xee, 0x1b, 0x68, 0xc7, 0x4b,
0x04, 0x64, 0xe0, 0x0e, 0x34, 0x8d, 0xef, 0x81, 0x1c, 0xc1, 0x69, 0xf8, 0xc8, 0x08, 0x4c, 0x71,
0x05, 0x8a, 0x65, 0x2f, 0xe1, 0x24, 0x0f, 0x21, 0x35, 0x93, 0x8e, 0xda, 0xf0, 0x12, 0x82, 0x45,
0x1d, 0xb5, 0xc2, 0x7d, 0x6a, 0x27, 0xf9, 0xb9, 0xc9, 0x9a, 0x09, 0x78, 0x4d, 0xe4, 0x72, 0xa6,
0x06, 0xbf, 0x8b, 0x62, 0x66, 0xdd, 0x30, 0xfd, 0xe2, 0x98, 0x25, 0xb3, 0x10, 0x91, 0x22, 0x88,
0x36, 0xd0, 0x94, 0xce, 0x8f, 0x96, 0xdb, 0xbd, 0xf1, 0xd2, 0x13, 0x5c, 0x83, 0x38, 0x46, 0x40,
0x1e, 0x42, 0xb6, 0xa3, 0xc3, 0x48, 0x7e, 0x6e, 0x6b, 0x3a, 0x28, 0x54, 0xfa, 0x85, 0xba, 0x3d,
0xca, 0x5e, 0x9b, 0x9f, 0x0a, 0x15, 0x79, 0x2b, 0x4e, 0xd4, 0xe5, 0xac, 0x73, 0xf3, 0xa7, 0x57,
0x07, 0x70, 0xc0, 0xf7, 0x8c, 0x80, 0x63, 0x0d, 0x67, 0x4a, 0xde, 0xed, 0x31, 0xc5, 0xfe, 0x18,
0xe3, 0xa5, 0x99, 0x77, 0x26, 0xb8, 0xb4, 0x7c, 0x11, 0x44, 0x92, 0xd9, 0x23, 0x20, 0x89, 0x2e,
0x37, 0x3f, 0xd1, 0x5b, 0x95, 0xbc, 0xcf, 0xcd, 0x90, 0x87, 0x97, 0xb2, 0xdc, 0xfc, 0xbe, 0x61,
0xf2, 0x56, 0xd3, 0xab, 0x14, 0x2a, 0x5d, 0x9e, 0x84, 0x3c, 0x39, 0x53, 0x47, 0x6d, 0x41, 0xa2,
0x1f, 0x2d, 0x43, 0xd8, 0xb7, 0x7b, 0xa4, 0x76, 0xc4, 0x17, 0x49, 0xec, 0x7f, 0x0c, 0x6f, 0xf6,
0x6c, 0xa1, 0x3b, 0x52, 0x29, 0x9d, 0x55, 0xaa, 0xfb, 0x60, 0x86, 0xb1, 0xbb, 0xcc, 0x3e, 0x5a,
0xcb, 0x59, 0x5f, 0xb0, 0x9c, 0xa9, 0xa0, 0x51, 0x0b, 0xf5, 0x16, 0xeb, 0x7a, 0x75, 0x2c, 0xd7,
0x4f, 0xae, 0xd5, 0xe9, 0xe6, 0xe7, 0xad, 0xe8, 0x74, 0xd6, 0xf4, 0xea, 0xa8, 0x50, 0x58, 0xaf.

Таблица gfilog также постоянна:

0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1d, 0x3a, 0x74, 0xe8, 0xcd, 0x87, 0x13, 0x26,
0x4c, 0x98, 0x2d, 0x5a, 0xb4, 0x75, 0xea, 0xc9, 0x8f, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0,
0x9d, 0x27, 0x4e, 0x9c, 0x25, 0x4a, 0x94, 0x35, 0x6a, 0xd4, 0xb5, 0x77, 0xee, 0xc1, 0x9f, 0x23,
0x46, 0x8c, 0x05, 0x0a, 0x14, 0x28, 0x50, 0xa0, 0x5d, 0xba, 0x69, 0xd2, 0xb9, 0x6f, 0xde, 0xa1,
0x5f, 0xbe, 0x61, 0xc2, 0x99, 0x2f, 0x5e, 0xbc, 0x65, 0xca, 0x89, 0x0f, 0x1e, 0x3c, 0x78, 0xf0,
0xfd, 0xe7, 0xd3, 0xbb, 0x6b, 0xd6, 0xb1, 0x7f, 0xfe, 0xe1, 0xdf, 0xa3, 0x5b, 0xb6, 0x71, 0xe2,
0xd9, 0xaf, 0x43, 0x86, 0x11, 0x22, 0x44, 0x88, 0x0d, 0x1a, 0x34, 0x68, 0xd0, 0xbd, 0x67, 0xce,
0x81, 0x1f, 0x3e, 0x7c, 0xf8, 0xed, 0xc7, 0x93, 0x3b, 0x76, 0xec, 0xc5, 0x97, 0x33, 0x66, 0xcc,
0x85, 0x17, 0x2e, 0x5c, 0xb8, 0x6d, 0xda, 0xa9, 0x4f, 0x9e, 0x21, 0x42, 0x84, 0x15, 0x2a, 0x54,
0xa8, 0x4d, 0x9a, 0x29, 0x52, 0xa4, 0x55, 0xaa, 0x49, 0x92, 0x39, 0x72, 0xe4, 0xd5, 0xb7, 0x73,
0xe6, 0xd1, 0xbf, 0x63, 0xc6, 0x91, 0x3f, 0x7e, 0xfc, 0xe5, 0xd7, 0xb3, 0x7b, 0xf6, 0xf1, 0xff,
0xe3, 0xdb, 0xab, 0x4b, 0x96, 0x31, 0x62, 0xc4, 0x95, 0x37, 0x6e, 0xdc, 0xa5, 0x57, 0xae, 0x41,
0x82, 0x19, 0x32, 0x64, 0xc8, 0x8d, 0x07, 0x0e, 0x1c, 0x38, 0x70, 0xe0, 0xdd, 0xa7, 0x53, 0xa6,
0x51, 0xa2, 0x59, 0xb2, 0x79, 0xf2, 0xf9, 0xef, 0xc3, 0x9b, 0x2b, 0x56, 0xac, 0x45, 0x8a, 0x09,
0x12, 0x24, 0x48, 0x90, 0x3d, 0x7a, 0xf4, 0xf5, 0xf7, 0xf3, 0xfb, 0xeb, 0xcb, 0x8b, 0x0b, 0x16,
0x2c, 0x58, 0xb0, 0x7d, 0xfa, 0xe9, 0xcf, 0x83, 0x1b, 0x36, 0x6c, 0xd8, 0xad, 0x47, 0x8e, 0x01.

Необязательно включать эти таблицы в программу, можно использовать такой алгоритм генерации в рантайме:

# gflog_tables.py

def generate_tables():
    polynomial = 0x11d
    s = 8
    gf_elements = 1 << s

    gflog = gf_elements * [0]
    gfilog = gf_elements * [0]

    b = 1
    for i in range(0, gf_elements):
        gflog[b] = i & 255
        gfilog[i] = b & 255
        b <<= 1
        if b & gf_elements:
            b ^= polynomial

    gflog[1] = 0;
    return (gflog, gfilog)

def dump_table(caption, tab):
    item = 0
    print("--- {} ---".format(caption))
    for i in tab:
        print("0x{:02x}, ".format(i), end="")
        item += 1
        if item % 16 == 0:
            item = 0
            print()
    print("")

(gflog, gfilog) = generate_tables()

# Uncomment if you want to see the tables on the console:
#
# dump_table("gflog", gflog)
# dump_table("gfilog", gfilog)

После объявления таблиц нужно определить некоторые операции. Сейчас мы работаем в конечном поле (поле Галуа), так что основные арифметические операции имеют другую реализацию (хотя смысл отчасти схож). Нужно переопределить основные операции — сложение, умножение и деление:

# rs_functions.py

from gflog_tables import *

# Addition
def gf_add(*args):
    result = 0
    for arg in args:
        result ^= arg

    return result

# Indexing
# First drive is 1, second drive is 2, etc...
def gf_drive(index):
    global gfilog

    return gfilog[index - 1]

# Multiplication
def gf_mul(a, b):
    global gflog
    global gfilog

    if a == 0 or b == 0:
        return 0
    else:
        return gfilog[(gflog[a] + gflog[b]) % 255]

# Division helper
def sub_gf8(a, b):
    if a > b:
        return a - b
    else:
        return (255 - (0 - (a - b)))

# Division
def gf_div(a, b):
    global gfilog
    global gflog

    return gfilog[sub_gf8(gflog[a], gflog[b])]

Поскольку вспомогательные функции объявлены, попробуем сгенерировать данные диска RS.

# case 3 -- recover_rs.py

from rs_functions import *

# Here are our drives, together with their data.
image1 = [ ord('f'), ord('i'), ord('r'), ord('s'), ord('t') ]
image2 = [ ord('s'), ord('e'), ord('c'), ord('n'), ord('d') ]
image3 = [ ord('t'), ord('h'), ord('i'), ord('r'), ord('d') ]

# This is a placeholder for our RS drive. It will be regenerated
# in the lines below.
imageRS = [0] * 5

# And this is our loop that generates the RS data using nothing more
# than the user data drives.
for i in range(0, 5):
    imageRS[i] = gf_add(gf_mul(gf_drive(1), image1[i]),
                        gf_mul(gf_drive(2), image2[i]),
                        gf_mul(gf_drive(3), image3[i]))

dump_table("imageRS", imageRS)

После запуска скрипта recover_rs.py диск RS содержит следующие данные:

На данный момент диски D1, D2 и D3 защищены полным алгоритмом исправления ошибок RAID-6, поскольку у нас есть правильно сгенерированные PD и RS.

Важно помнить, что текущие данные RS действительны только для D1, D2 и D3 в этом конкретном порядке. Таким образом, RS для D1, D2 и D3 будет отличаться от D3, D2 и D1, даже если фактические данные на дисках одинаковы. Это важно помнить, потому что при восстановлении данных RAID-6 нужно знать правильную последовательность дисков внутри массива. К счастью, если массив невелик, можно принудительно сгенерировать данные RS, чтобы обнаружить правильную последовательность дисков.

Ситуация 4. Потеря PD и RS

Это тоже простая ситуация: выполняем сначала сценарий № 1, а затем № 3.

Повторяю, в этом случае пользовательские данные не тронуты. Мы можем использовать их для создания PD. Затем для создания RS. Оба случая уже были описаны в пунктах 1 и 3.

Ситуация 5. Потеря RS и одного диска с данными

И здесь несложно. Мы потеряли один диск с данными, но остался PD, поэтому можно выполнить сценарий № 2, чтобы восстановить отсутствующий диск данных. Затем использовать все диски данных для регенерации RS, как в сценарии № 3. Теперь полный набор дисков восстановлен.

Ситуация 6. Потеря PD и одного диска с данными

Общий подход заключается в том, чтобы сначала восстановить отсутствующий диск с данными, используя другие диски в сочетании с RS, а затем, после того как восстановим все диски данных, приступить к регенерации PD (сценарий № 2).

В этой ситуации придётся сделать некоторые расчёты. Предположим, что вместе с PD мы потеряли и диск данных D2. Итак, у нас в наличии D1, D3 и RS.

Благодаря диску RS мы можем восстановить D2, скомбинировав D1, D3 и RS, вот так:

# case 6 -- recover_d2_and_pd.py

from rs_functions import *

# We have these drives...
image1 = [ ord('f'), ord('i'), ord('r'), ord('s'), ord('t') ]
image3 = [ ord('t'), ord('h'), ord('i'), ord('r'), ord('d') ]
imageRS = [ 0x4d, 0x1e, 0x0d, 0x7a, 0x31 ]

# ...and these drives are dead
imagePD = [0] * 5
image2 = [0] * 5

for i in range(0, 5):
    partialRS = gf_add(gf_mul(gf_drive(1), image1[i]),
                       imageRS[i],  # Use RS drive instead of the dead drive.
                       gf_mul(gf_drive(3), image3[i]))

    # gf_drive(2) is our dead drive.
    div_result = gf_div(1, gf_drive(2))

    # This will generate the data from the dead D2 drive.
    image2[i] = gf_mul(div_result, partialRS)

    # This will generate the data from the dead PD drive.
    imagePD[i] = gf_add(image1[i], image2[i], image3[i])

dump_table("image2", image2)
dump_table("imagePD", imagePD)

Во-первых, нужно сгенерировать значение partialRS путём прибавления (gf_add) возвращаемых значений gf_mul для всех байтов всех допустимых дисков вместе со значением RS вместо отсутствующего диска данных (в нашем случае D2).

Затем используем значение partialRS для регенерации данных D2 путём деления единицы на индекс мёртвого диска (gf_drive(2)) и умножения результата на partialRS. Аргумент gf_drive(2) указывает индекс нашего мёртвого диска. Если бы из строя вышел D1, мы бы здесь использовали gf_drive(1).

После регенерации D2 восстановим все диски данных. В этом случае производим регенерацию PD как в сценарии № 1: в приведённом выше коде это делается с помощью сложения (gf_add) данных со всех дисков. Если помните, gf_add над полем Галуа — простая операция XOR, поэтому вместо ручного ксоринга байтов со всех дисков данных можно использовать операцию gf_add.

Ситуация 7. Потеря двух накопителей данных

Это самый интересный и самый сложный сценарий. Предположим, диски D2 и D3 вышли из строя. В этом случае нужно каким-то образом использовать диски D1, PD и RS для регенерации недостающих дисков.

Это особый подход, отличный от предыдущих случаев. Общий подход заключается в том, чтобы сначала сгенерировать данные для D2, а затем использовать ту же оценку, что и в сценарии № 2, для генерации данных D3. Вот код:

# case 7 -- recover_d2_and_d3.py

from rs_functions import *

# These drives are still alive.
image1 = [ ord('f'), ord('i'), ord('r'), ord('s'), ord('t') ]
imagePD = [ 0x61, 0x64, 0x78, 0x6f, 0x74 ]
imageRS = [ 0x4d, 0x1e, 0x0d, 0x7a, 0x31 ]

# These drives are dead, we can't read from them.
image2 = [0] * 5
image3 = [0] * 5

for i in range(0, 5):
    partialPD = gf_add(image1[i]) # add other drives if they exist
    partialRS = gf_add(gf_mul(gf_drive(1), image1[i])) # add other drives if they exist

    g = gf_div(1, gf_add(gf_drive(2), gf_drive(3)))
    xoredPD = gf_add(partialPD, imagePD[i])
    xoredRS = gf_add(partialRS, imageRS[i])
    mid = gf_add(gf_mul(gf_drive(3), xoredPD), xoredRS) # gf_drive(3) is the second drive we've lost

    # Regenerate data for D2.
    data = gf_mul(mid, g)
    image2[i] = data

    # Regenerate data for D3.
    image3[i] = gf_add(image1[i], image2[i], imagePD[i])

    # or:
    #
    # image3[i] = gf_add(data, xoredPD)

dump_table("image2", image2)
dump_table("image3", image3)

Во-первых, нужно сложить все байты со всех существующих дисков данных, чтобы сгенерировать partialPD. В этом примере у нас только один диск данных, поэтому параметр partialPD будет просто содержимым диска D1. Но массивы RAID-6 охватывают множество дисков. Поэтому если у нас более одного диска данных, например, три живых диска данных, то вычисление partialPD выглядело бы следующим образом:

partialPD = gf_add(image1[i], image2[i], image3[i])

Далее нам понадобится параметр partialRS. Его можно вычислить, добавив данные с существующих дисков следующим образом:

partialRS = gf_add(A, B, C, ..., Z)

where A = gf_mul(gf_drive(1), image1[i])
      B = gf_mul(gf_drive(2), image2[i]) if we have drive 2
      C = gf_mul(gf_drive(3), image3[i]) if we have drive 3

etc.

В нашем случае остался только один накопитель данных (D1), поэтому наш partialRS — это просто gf_mul(gf_drive(1), image1[i]).

Затем нужно сгенерировать параметр g, разделив единицу на сумму индексов мёртвых дисков (D2 и D3).

Далее следует параметр xoredPD; он вычисляется путём добавления содержимого PD к параметру partialPD, вычисленному ранее. Следующий параметр xoredRS вычисляется аналогично, путём добавления partialRS к содержимому RS.

Теперь сложная часть. Можно вычислить данные с первого сломанного диска, то есть с диска D2. Для этого нужно умножить индекс второго сломанного диска (D3) на параметр xoredPD и добавить к результату параметр xoredRS. Затем, после умножения результата на параметр g, мы получим содержимое диска D2.

Поскольку мы только что восстановили данные для D2, отныне этот случай ничем не отличается от сценария № 2 — потери одного диска данных (D3). Чтобы создать диск D3, нужно сложить с PD все живые диски данных (D1 и D2).

Готово! Мы вернули полный комплект дисков.

Эпилог

Я выбрал Python для демонстрации, что исправление ошибок с помощью кодов Рида — Соломона не требует особого программирования и вычислительной мощности. Всё очень быстро, и реализация может быть довольно компактной. Конечно, более эффективную реализацию следует написать с учётом параллельной обработки. Поскольку каждый байт вычисляется независимо от других, распараллеливание не сложное.

Стоит отметить, что описанный метод восстановления данных не обязательно использовать на отдельных физических дисках. «Диски» можно рассматривать как «буферы» в процессе передачи данных по ненадёжному каналу, и такое исправление ошибок остаётся эффективным. Здесь требуются более интенсивные вычисления, чем с кодами Хэмминга, зато можно поднять два упавших потока. Это мощная фича для обеспечения отказоустойчивости.

Конечно, RAID-6 далеко не новое изобретение, а коды Рида — Соломона ещё старше. Они использовались ещё в миссии «Вояджер-2», что довольно круто.

Среди более современных альтернатив для кодов Рида — Соломона можно назвать турбокоды — надеюсь, у меня появится возможность покопаться и в них.

Попытка самостоятельно восстановить данные в массиве RAID 10 может привести к полной потере информации. Обычно это происходит из-за ошибочных действий системных администраторов. О каких ошибках идет речь? Об этом ниже.

Как теряется информация с массивов RAID-10

Надежность массивов RAID-10 определяется избыточностью, созданной последовательностью зеркальных дисков. Однако созданная зеркалами избыточность иногда играет злые шутки. Смотрите сами: из-за особенностей массива при выходе из строя даже половины дисков RAID-10 данные могут сохраниться. Зато при отказе всего двух из них вы можете потерять всю информацию с массива. Это происходит, если выпадают диски, составляющие зеркало.

Избыточность создает еще одну ловушку для владельцев серверов с массивом RAID-10. Вы можете не заметить выхода из строя одного диска из зеркала. Например, это происходит, если сисадмин неправильно настроил или не настроил мониторинг, или из-за некорректной работы RAID-контроллера. Проблема в том, что вы можете долго эксплуатировать сервер, не замечая проблему. При выпадении второго диска из зеркала вся информация с массива становится недоступной.

Ура, я знаю, как сломать RAID-10

Существует еще много ситуаций, в которых теряются данные с RAID-10, среди них:

  • Программный сбой RAID-контроллера.
  • Поломка или некорректная замена контроллера.
  • Некорректная настройка или отсутствие мониторинга.
  • Аппаратная неисправность критичного количества дисков.
  • Рассинхронизация массива с последующим выходом из строя актуального участника.
  • Повреждения файловой системы, ошибочное удаление информации, форматирование дисков.
  • Другие ошибки сисадмина. Например, удаление или изменение конфигурации (некорректное расширение массива или замена участников) или некорректные попытки восстановить данные.

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

Устройство RAID10 массива

Что делать, чтобы полностью потерять данные с массива RAID-10

Как сказано выше, нужно попробовать самостоятельно восстановить данные, не имея достаточной компетенции. При восстановлении можно ошибиться, что безусловно приведет к безвозвратной утрате доступа к информации.

Рассмотрим основные ошибки:

  • Попытка восстановления данных без диагностики массива. Когда вы приходите к врачу с болью в животе, он не хватается сразу за скальпель, а расспрашивает и осматривает вас, делает анализы, чтобы понять, как вас можно лечить, а как нельзя. Такая же ситуация с восстановлением RAID-10: вы должны поставить диагноз, чтобы знать, какие процедуры будут эффективными, а какие уничтожат массив.
  • Проверка дисков и исправление ошибок до анализа содержимого дисков. Эти действия могут внести изменения в информацию на дисках, что часто приводит к полной утрате данных.
  • Некорректные действия с аппаратной частью: перестановка дисков, извлечение дисков до отключения машины от питания, подключение винчестера к другому оборудованию, вскрытие дисков. Такая практика часто оборачивается изменениями в конфигурации RAID-массива или физическими повреждениями носителей, после которых восстановить информацию невозможно.
  • Замена контроллера или инициализация при несинхронизированном массиве и без резервной копии. В этом случае контроллер может не определить правильную конфигурацию, что приведет к потере данных.
  • Попытка восстановления данных контроллером. Из-за некорректной работы микропрограммы можно разрушить массив при ребилде. Контроллер вместо записи актуальных данных на чистый диск обнуляет носитель со свежей информацией.
  • Ошибочная операция с массивом. Если сисадмин вместо ребилда запускает инициализацию или синхронизацию, это приводит к повреждению или полной потере информации.
  • Попытка восстановления с помощью функции make online при выходе из строя диска. Эта операция может привести к полной утрате данных сама по себе, так как процесс некорректного ребилда или инициализации может запуститься в фоновом режиме. А если после такой команды вы сами запустите инициализацию или ребилд, то наверняка получите фатальный для массива результат.

Вы можете потерять массив даже в результате безобидной операции. Например, информация может стать недоступной после простой перезагрузки системы. Поэтому при внештатных ситуациях никогда не выполняйте необдуманных действий с RAID-10.

Как видите, полностью добить массив RAID-10 несложно. Достаточно допустить ошибку при попытке восстановить информацию. Что же делать, чтобы не потерять важные данные?

Что делать, чтобы восстановить данные с массива RAID-10

Существует также безопасный метод, которым пользуются профессионалы – так называемое «софтовое восстановление RAID-массива». Его принцип заключается в работе с дисками только на чтение и использование простых, но вместе с тем гибких программных средств для правильной сборки виртуального RAID-массива.

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

Системы хранения нуждаются в защите не меньше, чем другие компоненты IT-систем. Почему необходима эта защита, причем здесь RAID и почему скорость восстановления нельзя называть его главным преимуществом — в этой статье.

Основной принцип простой: не соглашаться на меньшее и стремиться к лучшему. По крайней мере, стоит забыть о хранилищах, которые не могут обеспечить защиту с двойной четностью для любого конкретного фрагмента данных — будь то массив, облако или HCI. На это есть две причины:

  1. Объемы данных сегодня больше, чем несколько лет назад. Соответственно, и вероятность возникновения временных ошибок тоже выше.
  2. Ранее массивы состояли из нескольких RAID-групп, в каждой из которых было по несколько дисковых томов. Если повреждение касалось одной RAID-группы, то все, что вы теряли, — эти тома. Современные массивы устроены иначе, в них высока вероятность повредить все тома одного массива даже если целостность данных будет потеряна в одной RAID-группе.

Как выходят из строя современные накопители

Одна из проблем хранения больших объемов данных на SSD – появление на накопителе по мере его эксплуатации все большего количества ошибок чтения, которые не поддаются исправлению. Это происходит независимо от используемой технологии NAND: в случае с SLC, eMLC, 3D MLC — все они ведут себя одинаково. При этом рост количества ошибок никак не связан с естественным износом и к концу четвертого года службы наблюдается, по крайней мере, у 20 % SSD. Это больше, чем у традиционных жестких дисков аналогичного возраста.

Почему это важно? Все дело в URE (Unrecoverable read errors) — неустранимых ошибках чтения, с которыми приходится иметь дело RAID. В большинстве случаев перед хранилищами стоит задача как можно сохранять целостность данных. То есть система хранения данных должна по умолчанию справляться со значительным ростом количества ошибок чтения на постепенно стареющих носителях даже на стадии минимального износа. А если URE-ошибки возникнут одновременно с другими ошибками, это сделает невозможным завершение восстановления диска или, что еще хуже, приведет к повреждению данных.

В зависимости от типа RAID по-разному справляются с ошибками. Например, в RAID6 допускается наличие двух неустранимых ошибок чтения, если все диски целые, и одна — если необходимо восстановить поврежденный диск. А уже в комбинации HPE Nimble Storage Triple+RAID допустимое число URE-ошибок может соответствовать количеству дисков в системе даже если три из них отказали. В любом случае минимальной степенью защиты системы хранения будет использование именно RAID6.

Надежность хранения данных: RAID5 – не всегда абсолютная защита

В некоторых системах RAID выполняется не для целых дисков, а для небольших сегментов данных. Тогда при восстановлении потребуются три вещи:

  • распределить защиту на несколько физических устройств;
  • достаточное количество четности для защиты от требуемого количества скоррелированных по времени ошибок;
  • место для перестройки сегментов после восстановления.

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

Восстановление RAID5 без URE

Восстановление RAID5 при условии, что отсутствуют ошибки чтения

А вот следующий пример. Здесь тоже «умирает» первый диск, но теперь на свободном пространстве появляются URE-сегменты (голубого цвета). При этом отмеченные голубым участки на верхнем рисунке становятся недоступными без надежды на ремонт. А так как мы их потеряли безвозвратно, проще очистить весь массив и восстановить его из резервной копии.

Восстановление RAID5 с URE-блоками

Восстановление RAID5 при наличии URE-сегментов

Скорость восстановления — не главное!

Известно, что для восстановления RAID5 нужно минимум времени. Тогда возникает вопрос в резонности использования RAID6 — так ли он нужен на самом деле? Можно ответить следующим образом: у вас есть сервер, который постоянно «глючит», и вы рискуете потерять данные, но при этом он перезагружается очень быстро! Быстрое восстановление дает только одно преимущество: позволяет сократить время, в течение которого снижается защита четности. Это может быть полезным, но точно не защищает от ошибок чтения при восстановлении диска.

Представим, что у вас есть диски емкостью 15 ТБ, защищенные массивом RAID5. В случае сбоя одного из них вы используете RAID5 и быстро его восстанавливаете. Неудобство лишь в том, что вам каждый раз придется восстанавливать все 15 ТБ. И если в процессе чтения данных будет обнаружена хотя бы одна URE-ошибка, это станет невозможным. Причем вероятность того, что события будут развиваться именно так, очень высока и никогда не стоит ее игнорировать. Поэтому плюс быстрого восстановления стоит рассматривать лишь с той точки зрения, что оно защищает от потери второго диска до того, как будет восстановлен первый.

На какую еще ловушку точно не стоит попадаться, так это на заверения производителей, что синхронная репликация делает RAID5 полностью безопасным. Скорее всего, производителю выгодно делать много продаж более дешевых продуктов. На практике получается совсем небезопасная и точно не беспроблемная ситуация. Обратимся к такому примеру: у вас есть два сайта — A и Б, синхронизирующиеся и реплицируемые, каждый со своей системой хранения, заполненной важными данными с использованием RAID5. Если вы столкнетесь с отказом пула на сайте A из-за ошибок, связанных с временной корреляцией, вам придется переключиться на сайт Б и продолжить работать на нем, помня о высоких рисках. Все это время вы подвергаете бизнес большой опасности, а репликация данных может занять несколько дней — вы точно согласны на подобные эксперименты? Если нет, то лучше изначально сделать сайты более устойчивыми к катастрофическим сценариям и грамотно выбрать RAID так, чтобы при каждом сбое не приходилось переключаться на копию.

Какие методы способствуют надежности хранения данных

Важно запомнить: самое полезное, что вы можете сделать — это использовать защиту минимум от двух временных коррелированных ошибок в одной системе, будь то облако, массив данных или HCI. Всегда узнавайте заранее, от скольких одновременных ошибок чтения защищен каждый фрагмент данных — их должно быть минимум две.

Все остальное небезопасно применимо к современным системам хранения даже там, где на второй чаше весов находится более привлекательная стоимость. Целостность данных — это не то, чем стоит жертвовать ради снижения затрат.

Обновлено: 29.01.2023

удаляете папку C:Users<Имя_пользователя>AppDataLocalLowPlariumRaid_ Shadow Legendssegment-serialization и перезапуск клиента . путь к папке : кнопка Windows+R , вбиваете %appData% ,в строке пути нажимаете AppData .

Удалите эту папку

C:UsersUSERNAMEAppDataLocalLowPlariumRaid Shadow Legends

Она возможно скрыта

помогите пожалуйста у меня не запускается игра

картинку открывает а сама запуск не производит

помогите пожалуйста у меня не запускается игра

картинку открывает а сама запуск не производит

выше написали, читай!

спасибо 2 дня немог зайти

Как найти папку? — есть ответ!

Нажимаем одновременно клавиши ЕСК-ШИФТ-КТРЛ — открывается диспетчер
задач виндоус. В нем 5 вкладок, нам нужна 2-я, называется «процессы».
Ищем там процесс плариумплэй.екзе, щелкаем по нему правой кнопкой мыши. В
открывшемся меню первая строчка — «открыть место хранения файла». Жмем.

Открывается папка C:UsersUSERAppDataLocalPlariumPlariumPlay6.3.0-0.0.3

Виктория Яровая

Виктория Яровая

Андрей, Не у меня одной?
Может из-за открытия башни новой сервера висят?

Андрей Прокошин

Виктория Яровая

Виктория Яровая ответила Андрею

Андрей, Я снесла с компьютера лаунчер и игру, заново установила, поставила галку на доступ ко всем сетям, все работает.

Ростік Чурило

Виктория Яровая

Виктория Яровая

Ростік, Я снесла с компьютера лаунчер и игру, заново установила, поставила галку на доступ ко всем сетям, все работает.

Ростік Чурило

Виктория, где именно этот доступ ко всем сетям? Именно сам лаунчер просит или что?

Виктория Яровая

Виктория Яровая ответила Ростіку

Ростік, Да. Винда у меня спрашивает после каждого обновления. «Разрешить доступ этому приложению?». Там что-то типа все сети и домашние сети, два пункта, поставила везде.

Глючит или не запускается RAID: Shadow Legends? Решение есть! Постоянные лаги и зависания — не проблема! После установки мода RAID: Shadow Legends начала глючить или НПС не реагируют на завершение задания? И на этот вопрос найдется ответ! На этой странице вы сможете найти решение для любых известных проблем с игрой и обсудить их на форуме.

Игра не запускается

Тут собраны ответы на самые распространённые ошибки. В случае если вы не нашли ничего подходящего для решения вашей проблемы — рекомендуем перейти на форум, где более детально можно ознакомиться с любой ошибкой встречающийся в RAID: Shadow Legends .

Игра вылетает на рабочий стол без ошибок.
О: Скорее всего проблема в поврежденных файлах игры. В подобном случае рекомендуется переустановить игру, предварительно скопировав все сохранения. В случае если игра загружалась из официального магазина за сохранность прогресса можно не переживать.

RAID: Shadow Legends не работает на консоли.
О: Обновите ПО до актуальной версии, а так же проверьте стабильность подключения к интернету. Если полное обновление прошивки консоли и самой игры не решило проблему, то стоит заново загрузить игру, предварительно удалив с диска.

Ошибка 0xc000007b.

О: Есть два пути решения.
Первый — полная переустановка игры. В ряде случаев это устраняет проблему.
Второй состоит из двух этапов:

Ошибка 0xc0000142.


О: Чаще всего данная ошибка возникает из-за наличия кириллицы (русских букв) в одном из путей, по которым игра хранит свои файлы. Это может быть имя пользователя или сама папка в которой находится игра. Решением будет установка игры в другую папку, название которой написано английскими буквами или смена имени пользователя.

Ошибка 0xc0000906.


О: Данная ошибка связана с блокировкой одного или нескольких файлов игры антивирусом или “Защитником Windows”. Для её устранения необходимо добавить всю папку игры в исключени. Для каждого антивируса эта процедура индивидуально и следует обратиться к его справочной системе. Стоит отметить, что вы делаете это на свой страх и риск. Все мы любим репаки, но если вас часто мучает данная ошибка — стоит задуматься о покупке игр. Пусть даже и по скидкам, о которых можно узнать из новостей на нашем сайте.

Отсутствует msvcp 140.dll/msvcp 120.dll/msvcp 110.dll/msvcp 100.dll

О: Ошибка возникает в случае отсутствия на компьютере корректной версии пакета Microsoft Visual C++, в который и входит msvcp 140.dll (и подобные ему). Решением будет установка нужной версии пакета.

  • Нажимаем на Windows + R;
  • Вводим команду“regsvrЗ2 msvcp140.dll”(без кавычек);
  • Нажимаем “ОК”;
  • Перезагружаем компьютер.


Ошибка 0xc0000009a/0xc0000009b/0xc0000009f и другие
О: Все ошибки начинающиеся с индекса 0xc0000009 (например 0xc0000009a, где на месте “а” может находиться любая буква или цифра) можно отнести к одному семейству. Подобные ошибки являются следствием проблем с оперативной памятью или файлом подкачки.


Перед началом выполнения следующих действий настоятельно рекомендуем отключить часть фоновых процессов и сторонних программ, после чего повторно попробовать запустить RAID: Shadow Legends .
Увеличиваем размер файла подкачки:

  • Клик правой кнопкой на значку компьютера, а далее: «Дополнительные параметры системы» — «Дополнительно» — «Быстродействие» — «Дополнительно» — «Виртуальная память» — «Изменить».
  • Выбираем один диск, задаем одинаковый размер.
  • Перезагружаемся.

Размер файла подкачки должен быть кратен 1024. Объём зависит от свободного места на выбранном локальном диске. Рекомендуем установить его равным объему ОЗУ.
Если ошибка 0xc0000009а сохранилась, необходимо проверить вашу оперативную память. Для этого нужно воспользоваться функциями таких программ как MemTest86, Acronis, Everest.

Игра тормозит и лагает

Скорее всего данная проблема носит аппаратный характер. Проверьте системные требования игры и установите корректные настройки качества графики. Подробнее об оптимизации игры можно почитать на форуме. Также загляните в раздел файлов, где найдутся программы для оптимизации RAID: Shadow Legends для работы на слабых ПК. Ниже рассмотрены исключительные случаи.

Проблемы с модами

Ошибки загрузки/обновления

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

Если магазин или лончер RAID: Shadow Legends не завершает обновления или выдает ошибки, то переустановите саму программу. При этом все скачанные вами игры сохранятся.

Запустите проверку целостности данных игры.

Проверьте наличие свободного места на том диске, на котором установлена игра, а также на диске с операционной системой. И в том и в другом случае должно быть свободно места не меньше, чем занимает игра на текущий момент. В идеале всегда иметь запас около 100Гб.

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

Ошибки входа в игру

Черный экран и вылет при попытке зайти в игру.
О: Если вы используете VPN, то с большей долей вероятности проблема именно в нём. Попробуйте изменить его настройки или временно отключить. Рекомендуется сменить регион в самой игре (если такая возможность предусмотрена). Спустя какое-то время можно будет вернуться к привычным настройкам.

RAID: Shadow Legends не подключается к серверу.
О: Скорее всего, сервер игры перегружен или конкретное лобби не доступно в данный момент. Попробуйте обновить список доступных серверов или просто перезапустить игру.

P.S. Удостоверьтесь что ваш аккаунт или ip-адрес не был забанен в игре за нарушение правил, а также на вашем компьютере не установлены читы и другие запрещенные программы.

Вопросы по прохождению

Ответы на все вопросы касающиеся прохождения RAID: Shadow Legends можно найти в соответствующих разделах Wiki, а также на нашем форуме. Не стесняйтесь задавать вопросы и делиться своими советами и решениями.

Есть решение! Raid! — тормозит? Вылетает? Зависает? Ошибки? Черный экран? Не запускается?

Решение проблем в Raid! — не устанавливается? Не запускается? Тормозит? Вылетает? Лагает? Ошибка? Не загружается?

К сожалению, в играх бывают изъяны: тормоза, низкий FPS, вылеты, зависания, баги и другие мелкие и не очень ошибки. Нередко проблемы начинаются еще до начала игры, когда она не устанавливается, не загружается или даже не скачивается. Да и сам компьютер иногда чудит, и тогда в Raid! вместо картинки черный экран, не работает управление, не слышно звук или что-нибудь еще.

Что сделать в первую очередь

  1. Скачайте и запустите всемирно известный CCleaner (скачать по прямой ссылке) — это программа, которая очистит ваш компьютер от ненужного мусора, в результате чего система станет работать быстрее после первой же перезагрузки;
  2. Обновите все драйверы в системе с помощью программы Driver Updater (скачать по прямой ссылке) — она просканирует ваш компьютер и обновит все драйверы до актуальной версии за 5 минут;
  3. Установите Advanced System Optimizer (скачать по прямой ссылке) и включите в ней игровой режим, который завершит бесполезные фоновые процессы во время запуска игр и повысит производительность в игре.

Системные требования Raid!

Второе, что стоит сделать при возникновении каких-либо проблем с Raid!, это свериться с системными требованиями. По-хорошему делать это нужно еще до покупки, чтобы не пожалеть о потраченных деньгах.

Минимальные системные требования Raid!:

Windows 10, Процессор: Quad-core, 100 MB HDD, Клавиатура, мышь

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

Системные требования Raid!

Файлы, драйверы и библиотеки

Практически каждое устройство в компьютере требует набор специального программного обеспечения. Это драйверы, библиотеки и прочие файлы, которые обеспечивают правильную работу компьютера.

Начать стоит с драйверов для видеокарты. Современные графические карты производятся только двумя крупными компаниями — Nvidia и AMD. Выяснив, продукт какой из них крутит кулерами в системном блоке, отправляемся на официальный сайт и загружаем пакет свежих драйверов:

Обязательным условием для успешного функционирования Raid! является наличие самых свежих драйверов для всех устройств в системе. Скачайте утилиту Driver Updater, чтобы легко и быстро загрузить последние версии драйверов и установить их одним щелчком мыши:

  • загрузите Driver Updater и запустите программу;
  • произведите сканирование системы (обычно оно занимает не более пяти минут);
  • обновите устаревшие драйверы одним щелчком мыши.

Фоновые процессы всегда влияют на производительность. Вы можете существенно увеличить FPS, очистив ваш ПК от мусорных файлов и включив специальный игровой режим с помощью программы Advanced System Optimizer

  • загрузите Advanced System Optimizer и запустите программу;
  • произведите сканирование системы (обычно оно занимает не более пяти минут);
  • выполните все требуемые действия. Ваша система работает как новая!

Драйверы для Raid!

Raid! не скачивается. Долгое скачивание. Решение

Скорость лично вашего интернет-канала не является единственно определяющей скорость загрузки. Если раздающий сервер работает на скорости, скажем, 5 Мб в секунду, то ваши 100 Мб делу не помогут.

Если Raid! совсем не скачивается, то это может происходить сразу по куче причин: неправильно настроен роутер, проблемы на стороне провайдера, кот погрыз кабель или, в конце-концов, упавший сервер на стороне сервиса, откуда скачивается игра.

Raid! не скачивается

Raid! не устанавливается. Прекращена установка. Решение

Перед тем, как начать установку Raid!, нужно еще раз обязательно проверить, какой объем она занимает на диске. Если же проблема с наличием свободного места на диске исключена, то следует провести диагностику диска. Возможно, в нем уже накопилось много «битых» секторов, и он банально неисправен?

В Windows есть стандартные средства проверки состояния HDD- и SSD-накопителей, но лучше всего воспользоваться специализированными программами.

Но нельзя также исключать и вероятность того, что из-за обрыва соединения загрузка прошла неудачно, такое тоже бывает. А если устанавливаете Raid! с диска, то стоит поглядеть, нет ли на носителе царапин и чужеродных веществ!

Raid! не устанавливается

Raid! не запускается. Ошибка при запуске. Решение

Raid! установилась, но попросту отказывается работать. Как быть?

Выдает ли Raid! какую-нибудь ошибку после вылета? Если да, то какой у нее текст? Возможно, она не поддерживает вашу видеокарту или какое-то другое оборудование? Или ей не хватает оперативной памяти?

Помните, что разработчики сами заинтересованы в том, чтобы встроить в игры систему описания ошибки при сбое. Им это нужно, чтобы понять, почему их проект не запускается при тестировании.

Обязательно запишите текст ошибки. Если вы не владеете иностранным языком, то обратитесь на официальный форум разработчиков Raid!. Также будет полезно заглянуть в крупные игровые сообщества и, конечно, в наш FAQ.

Если Raid! не запускается, мы рекомендуем вам попробовать отключить ваш антивирус или поставить игру в исключения антивируса, а также еще раз проверить соответствие системным требованиям и если что-то из вашей сборки не соответствует, то по возможности улучшить свой ПК, докупив более мощные комплектующие.

Raid! не запускается

В Raid! черный экран, белый экран, цветной экран. Решение

Проблемы с экранами разных цветов можно условно разделить на 2 категории.

Во-первых, они часто связаны с использованием сразу двух видеокарт. Например, если ваша материнская плата имеет встроенную видеокарту, но играете вы на дискретной, то Raid! может в первый раз запускаться на встроенной, при этом самой игры вы не увидите, ведь монитор подключен к дискретной видеокарте.

Во-вторых, цветные экраны бывают при проблемах с выводом изображения на экран. Это может происходить по разным причинам. Например, Raid! не может наладить работу через устаревший драйвер или не поддерживает видеокарту. Также черный/белый экран может выводиться при работе на разрешениях, которые не поддерживаются игрой.

Raid! вылетает. В определенный или случайный момент. Решение

Играете вы себе, играете и тут — бац! — все гаснет, и вот уже перед вами рабочий стол без какого-либо намека на игру. Почему так происходит? Для решения проблемы стоит попробовать разобраться, какой характер имеет проблема.

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

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

Raid! зависает. Картинка застывает. Решение

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

Так что если картинка в Raid! застывает, то воспользуйтесь программами для вывода статистики по загрузке комплектующих. Быть может, ваша видеокарта уже давно исчерпала свой рабочий ресурс или процессор греется до опасных температур?

Проверить загрузку и температуры для видеокарты и процессоров проще всего в программе MSI Afterburner. При желании можно даже выводить эти и многие другие параметры поверх картинки Raid!.

Какие температуры опасны? Процессоры и видеокарты имеют разные рабочие температуры. У видеокарт они обычно составляют 60-80 градусов по Цельсию. У процессоров немного ниже — 40-70 градусов. Если температура процессора выше, то следует проверить состояние термопасты. Возможно, она уже высохла и требует замены.

Если греется видеокарта, то стоит воспользоваться драйвером или официальной утилитой от производителя. Нужно увеличить количество оборотов кулеров и проверить, снизится ли рабочая температура.

Raid! тормозит. Низкий FPS. Просадки частоты кадров. Решение

  • Разрешение теней — определяет, насколько детальной будет тень, отбрасываемая объектом. Если в игре динамические тени, то загружает ядро видеокарты, а если используется заранее созданный рендер, то «ест» видеопамять.
  • Мягкие тени — сглаживание неровностей на самих тенях, обычно эта опция дается вместе с динамическими тенями. Вне зависимости от типа теней нагружает видеокарту в реальном времени.

Один из них — специальная программа под названием Advanced System Optimizer. Она сделана специально для тех, кто не хочет вручную вычищать компьютер от разных временных файлов, удалять ненужные записи реестра и редактировать список автозагрузки. Advanced System Optimizer сама сделает это, а также проанализирует компьютер, чтобы выявить, как можно улучшить производительность в приложениях и играх.

Raid! лагает. Большая задержка при игре. Решение

Многие путают «тормоза» с «лагами», но эти проблемы имеют совершенно разные причины. Raid! тормозит, когда снижается частота кадров, с которой картинка выводится на монитор, и лагает, когда задержка при обращении к серверу или любому другому хосту слишком высокая.

Именно поэтому «лаги» могут быть только в сетевых играх. Причины разные: плохой сетевой код, физическая удаленность от серверов, загруженность сети, неправильно настроенный роутер, низкая скорость интернет-соединения.

В Raid! нет звука. Ничего не слышно. Решение

Raid! работает, но почему-то не звучит — это еще одна проблема, с которой сталкиваются геймеры. Конечно, можно играть и так, но все-таки лучше разобраться, в чем дело.

Сначала нужно определить масштаб проблемы. Где именно нет звука — только в игре или вообще на компьютере? Если только в игре, то, возможно, это обусловлено тем, что звуковая карта очень старая и не поддерживает DirectX.

Если же звука нет вообще, то дело однозначно в настройке компьютера. Возможно, неправильно установлены драйвера звуковой карты, а может быть звука нет из-за какой-то специфической ошибки нашей любимой ОС Windows.

В Raid! не работает управление. Raid! не видит мышь, клавиатуру или геймпад. Решение

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

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

Таким образом, нужно узнать точную модель устройства и постараться найти именно ее драйвер. Часто с устройствами от известных геймерских брендов идут собственные комплекты ПО, так как стандартный драйвер Windows банально не может обеспечить правильную работу всех функций того или иного устройства.

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

Нередко тормоза в Raid! могут быть вызваны вирусами. В таком случае нет разницы, насколько мощная видеокарта стоит в системном блоке. Проверить компьютер и отчистить его от вирусов и другого нежелательного ПО можно с помощью специальных программ. Например NOD32. Антивирус зарекомендовал себя с наилучшей стороны и получили одобрение миллионов пользователей по всему миру.

ZoneAlarm подходит как для личного использования, так и для малого бизнеса, способен защитить компьютер с операционной системой Windows 10, Windows 8, Windows 7, Windows Vista и Windows XP от любых атак: фишинговых, вирусов, вредоносных программ, шпионских программ и других кибер угроз. Новым пользователям предоставляется 30-дневный бесплатный период.

Nod32 — анитивирус от компании ESET, которая была удостоена многих наград за вклад в развитие безопасности. На сайте разработчика доступны версии анивирусных программ как для ПК, так и для мобильных устройств, предоставляется 30-дневная пробная версия. Есть специальные условия для бизнеса.

Raid!, скачанная с торрента не работает. Решение

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

Такие версии игр использовать не просто неудобно, а даже опасно, ведь очень часто в них изменены многие файлы. Например, для обхода защиты пираты модифицируют EXE-файл. При этом никто не знает, что они еще с ним делают. Быть может, они встраивают само-исполняющееся программное обеспечение. Например, майнер, который при первом запуске игры встроится в систему и будет использовать ее ресурсы для обеспечения благосостояния хакеров. Или вирус, дающий доступ к компьютеру третьим лицам. Тут никаких гарантий нет и быть не может.

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

Поэтому при возникновении каких-либо проблем с играми, скачанными с торрентов или же взломанных с помощью тех или иных средств, следует сразу же удалить «пиратку», почистить компьютер при помощи антивируса и приобрести лицензионную копию игры. Это не только убережет от сомнительного ПО, но и позволит скачивать обновления для игры и получать официальную поддержку от ее создателей.

Raid! выдает ошибку об отсутствии DLL-файла. Решение

Как правило, проблемы, связанные с отсутствием DLL-библиотек, возникают при запуске Raid!, однако иногда игра может обращаться к определенным DLL в процессе и, не найдя их, вылетать самым наглым образом.

Если ваша проблема оказалась более специфической или же способ, изложенный в данной статье, не помог, то вы можете спросить у других пользователей в нашей рубрике «Вопросы и ответы». Они оперативно помогут вам!

Читайте также:

  • Ark survival evolved тек генератор расход элементов
  • Destiny 2 перенести вещи
  • Неопознанный щит hearthstone
  • Какой счет блэкберн
  • Torchlight 3 реликвии

08.12.2019

Содержание

  • 1 Проблемы со входом в игру
    • 1.1 Ошибка соединения
    • 1.2 Ошибка аутентификации при подключении
  • 2 Проблемы со шрифтами
  • 3 Лаги и зависания в RAID: Shadow Legends
    • 3.1 Лечение
  • 4 Заключение
    • 4.1 Вам также может быть интересно:

В RAID Shadow Legends существует несколько решаемых типовых проблем: проблемы с соединением, интерфейсом и оптимизацией. Так как ошибка типовая, то исправить её не составит труда. Вот наиболее оптимальные решения.

Проблемы со входом в игру

Проблемы с соединением чаще всего лечатся перезапуском роутера, интернет-соединения или если использовать ВПН во время запуска игры.

Анимация с Error

Ошибка соединения

В феврале комьюнити испытывало тряску на серверах? и многие знакомы с этой проблемой. Эта ошибка может настигнуть вас в самый неподходящий момент: кланбосс не засчитается или на выходе Лорда Шазара. Все дело в том, что соединение с вашей стороны обрывается в какой-то момент? и игровой сервер автоматически прерывает сессию.

Распространенная ошибка

Лечение

  1. Узнайте, блокируются ли сервера вашим провайдером. Для этого можно позвонить ему напрямую.
  2. Если провайдер не блокирует сервера, то проблема непосредственно в роутере или на устройстве, с которого делаете запуск.
    • Роутер следует сбросить до заводских настроек и перенастроить подключение. Может быть проблема в динамическом IP-адресе.
    • Другим решением будет установка ВПН. Скорости соединения должно хватать для того, чтобы вы не испытывали дискомфорт при игре.
  3. Перезапуск игры или телефона тоже помогает в этом вопросе.

Ошибка аутентификации при подключении

В данном случае, проблемы могут быть со стороны вашего игрового сервера и сделать многого мы не сможем.

Лечение

  1. Оптимальный способ – это проверить, есть ли в данный момент у ваших друзей подобная проблема. Если они подтвердят информацию, то у вас две новости:
    • Значит проблема массовая – ваши устройства «чинить» не придется.
    • Придется только ждать.
  2. Как вариант использовать целебную ВПНку.

Проблемы со шрифтами

Исправляем некорректные шрифты

Знакомая картинка? Поздравляем, вы не один такой, а значит кто-то тоже искал решения и нашел его, как и вы.

С вероятностью 99,9% вы используете BlueStacks. Зайди в настройки и переключите графический режим с DirectX на OpenGL

Решаем проблемы с графикой

Читайте другие статьи:

Лаги и зависания в RAID: Shadow Legends

Эти проблемы могут связаны, как и с вашим подключением, так и с настройками графики. Попробуйте изучить техническую документацию вашего устройства и сопоставить с требованиями для запуска игры. Возможно, у вас она не тянет. Как исправляется такая ошибка? Покупается устройство помощнее. Если не хотите тратить деньги, то используйте это лекарство.

Лечение

— Если у вас эмулятор, то измените в утилитах видеокарты графические настройки для него:

разрешение, сглаживание и пр.

Это может убрать тяжелые компоненты при обработке визуальной составляющей, а иногда и вовсе всякие провисания.

— С телефоном все гораздо сложнее, так как вряд ли вы будете апгрейдить ему видеокарту. Единственным оптимальным решением (бесплатным) будет установка утилит для повышения быстродействия. Как правило, они просто завершают и приостанавливают некоторые процессы в телефоне для высвобождения памяти устройства. Это может помочь, но не ждите, что ФПС радикально изменится.

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

  • Во-первых, узнайте есть ли у вас потери пакетов с мировой сетью. Если присутствуют, то попробуйте сменить источник подключения (с роутера на мобильный интернет переключитесь).
  • Если прошлый вариант не помог, тогда остается ждать и надеяться, что это со стороны игрового сервера проблема. Её должны будут решить как можно скорее.
  • Как вариант, попробовать использовать ВПН. Тогда у вас будет другой узел подключения и, возможно, с него соединение будет стабильным.
  • Бывает, что причина в самом роутере из-за локальных сбоев в нем. Подключите другой и проверьте как будет с ним работать.

В самую последнюю очередь переустановите игру. Что-то на устройстве могло пойти не так и какие-то файлы либо удалились, либо просто повредились. Такое иногда происходит (в большинстве случаев на ПК), поэтому данный способ поможет.

Ещё одна ошибка в RAID Shadow Legends

Заключение

Избежать этих проблем не получится, но есть хороший метод. Как только вы заметите, что происходят какие-то провисания, или игра вылетает чаще, чем надо – не играйте, а то рискуете потерять весь результат. Просто потратьте свое время на поиск решения, это гораздо меньшая потеря, чем дисконнект в самый разгар атаки.

Оценка статьи:

Загрузка…

Понравилась статья? Поделить с друзьями:
  • Исправление ошибок outlook 2016
  • Исправление ошибок office 2016
  • Исправление ошибок ntoskrnl exe
  • Исправление ошибки нотариуса через суд
  • Исправление ошибки недостаточно памяти 1с