тайна mongodb отказывает с sigkill под strace

С 20 дисками у Вас есть много опций. Я предполагаю, что у Вас уже есть диски для ОС, таким образом, эти 20 дисков были бы выделенными дисками данных. В моем Пожаре в Sun x4540 (48 дисков), я выделил 20 дисков в зеркальной установке и 24 в чередуемой конфигурации raidz1 (6 дисков на набеги, и 4 чередовал vdevs). Два диска для ОС, и остаток запчасти.

Какой контроллер Вы используете? Можно хотеть обратиться к: ZFS рекомендации контроллера SAS/SATA

Не используйте аппаратный набег, если Вы можете. ZFS процветает, когда диски представлены как неструктурированные диски к ОС.

Ваша raidz1 производительность увеличивается с количеством дорожек через raidz1 группы. С 20 дисками Вы могли использовать 4 raidz1 группы, состоящие из 5 дисков каждый или 5 групп из 4 дисков. Производительность на последнем будет лучше. Ваша отказоустойчивость в той установке выдержала бы отказ 1 диска на группу (например, потенциально 4 или 5 дисков могли перестать работать при правильных условиях).

Скорость чтения от raidz1 или raidz2 группы эквивалентна скорости чтения одного диска. С вышеупомянутой установкой Ваши теоретические макс. скорости чтения были бы эквивалентны что 4 или 5 дисков (для каждого vdev/group raidz1 дисков).

Движение с зеркальной установкой максимизировало бы скорость, но Вы столкнетесь с ограничениями пропускной способности своего контроллера в той точке. Вам, возможно, не понадобится тот тип скорости, таким образом, я предложил бы комбинацию raidz1 и дорожек. В этом случае Вы могли выдержать один неисправный диск на зеркальную пару (например, 10 дисков могли возможно перестать работать, если они - правильные).

Так или иначе необходимо рассмотреть расположение горячего резервирования, неважно, с каким решением Вы идете. Возможно, 18 дисков в зеркальном расположении с 2 горячими резервированиями или raidz1 с 6 дисками с 3 дорожками с 2 горячими резервированиями...

Когда я создал свою первую установку ZFS, я использовал это примечание от Sun, чтобы помочь понять производительность уровня RAID...

http://blogs.oracle.com/relling/entry/zfs_raid_recommendations_space_performance

Примеры с 20 дисками:

Зеркальные пары с 20 дисками.

  pool: vol1
 state: ONLINE
 scrub: scrub completed after 3h16m with 0 errors on Fri Nov 26 09:45:54 2010
config:

        NAME        STATE     READ WRITE CKSUM
        vol1        ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c4t1d0  ONLINE       0     0     0
            c5t1d0  ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c6t1d0  ONLINE       0     0     0
            c7t1d0  ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c8t1d0  ONLINE       0     0     0
            c9t1d0  ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c4t2d0  ONLINE       0     0     0
            c5t2d0  ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c6t2d0  ONLINE       0     0     0
            c7t2d0  ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c8t2d0  ONLINE       0     0     0
            c9t2d0  ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c4t3d0  ONLINE       0     0     0
            c5t3d0  ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c6t3d0  ONLINE       0     0     0
            c7t3d0  ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c8t3d0  ONLINE       0     0     0
            c9t3d0  ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c4t4d0  ONLINE       0     0     0
            c5t4d0  ONLINE       0     0     0

С 20 дисками чередовал raidz1, состоящий из 4 дорожек raidz1 vdevs с 5 дисками.

  pool: vol1
 state: ONLINE
 scrub: scrub completed after 14h38m with 0 errors on Fri Nov 26 21:07:53 2010
config:

        NAME        STATE     READ WRITE CKSUM
        vol1        ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c6t4d0  ONLINE       0     0     0
            c7t4d0  ONLINE       0     0     0
            c8t4d0  ONLINE       0     0     0
            c9t4d0  ONLINE       0     0     0
            c4t5d0  ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c6t5d0  ONLINE       0     0     0
            c7t5d0  ONLINE       0     0     0
            c8t5d0  ONLINE       0     0     0
            c9t5d0  ONLINE       0     0     0
            c4t6d0  ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c6t6d0  ONLINE       0     0     0
            c7t6d0  ONLINE       0     0     0
            c8t6d0  ONLINE       0     0     0
            c9t6d0  ONLINE       0     0     0
            c4t7d0  ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c6t7d0  ONLINE       0     0     0
            c7t7d0  ONLINE       0     0     0
            c8t7d0  ONLINE       0     0     0
            c9t7d0  ONLINE       0     0     0
            c6t0d0  ONLINE       0     0     0

Править: Или если Вы хотите два пула устройства хранения данных, Вы могли бы повредить свои 20 дисков в две группы:

10 disks in mirrored pairs (5 per controller).
AND
3 stripes of 3-disk raidz1 groups
AND
1 global spare...

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

1
задан 17 April 2013 в 22:04
1 ответ

Вы выполняете задание Map Reduce в момент его завершения, всегда ли это так?

Я спрашиваю, потому что это похоже на поведение, которое вы получаете, когда процесс типа сторожевого пса решает, что вы используете слишком много памяти, и завершает процесс. Задания Map Reduce (встроенные или те, которые работают с большими наборами данных, в частности), как правило, быстро увеличивают использование ОЗУ.

SIGKILL - это не то, что вы получили бы, если бы это ядро ​​решило, что у вас недостаточно памяти, и вызвало OOM-убийцу (это выглядит как тихий сбой и регистрируется в dmesg). Следовательно, это заставило бы меня поверить, что есть что-то еще, что убивает использование памяти сверх определенного порога.

Если вы хотите проверить, запустите db.collection.find (). Объяснять () на большом наборе данных и посмотрите, вызывает ли это также SIGKILL. Если да, то я не

1
ответ дан 4 December 2019 в 00:43

Теги

Похожие вопросы