О: На 18 сентября 1997, это - "2.0.30 + pre-9 2.0.31 + Werner Fink's swapping patch + the alpha RAID patch". На Ноябрь 1997, это - 2.0.31 + ... !?
О: Убедитесь, что/usr/include/linux
символическая ссылка на/usr/src/linux/include/linux
. Убедитесь, что новые файлыraid5.c
, и т.д. скопированы в свое правильное расположение. Иногда комманда patch не создает новые файлы. Попробуйте указать флаг-f
дляpatch
.
О: raidtools-0.42 требует linuxthreads-0.6 с: ftp://ftp.inria.fr/INRIA/Projects/cristal/Xavier.Leroy Как альтернатива - glibc v2.0.
mdrun -a /dev/md0: Invalid argument
О: Используйтеmkraid
для инициализации RAID перед первым использованием.mkraid
стиранием разделов RAID гарантирует, что массив RAID изначально в согласованном состоянии. Дополнительно,mkraid
создаст RAID суперблоки.
mdrun -a /dev/md0: Invalid argument
.
Установки такие:
cat /proc/mdstat
показывает
Personalities : read_ahead not set md0 : inactive sda1 sdb1 6313482 blocks md1 : inactive md2 : inactive md3 : inactive
mdrun -a
выдает сообщение об ошибке
/dev/md0: Invalid argument
О: Попробуйтеlsmod
(или,cat /proc/modules
) чтобы увидеть, загружены ли raid модули. Если нет, Вы можете загрузить их явно командойmodprobe raid1
илиmodprobe raid5
. Либо, если Вы используете автозагрузчик, и ожидаете, что их загрузитkerneld
, а он этого не делает - это, возможно, из-за того что загрузчику не хватает информации для загрузки модулей. Отредактируйте/etc/conf.modules
и добавьте следующие строки:alias md-personality-3 raid1 alias md-personality-4 raid5
mdadd -a
я получаю ошибку:
/dev/md0: No such file or directory
. И действительно, вроде-бы
нигде нет никакого /dev/md0
. И что мне теперь делать?
О: Пакет raid-tools должен создать устройства когда вы запускаетеmake install
как root. Или Вы можете сделать следующее:cd /dev ./MAKEDEV md
/dev/md0
,
Я пытаюсь монтировать и получаю следующую ошибку:
mount: wrong fs type, bad option, bad superblock on /dev/md0,
or too many mounted file systems
. Что не так?
О: Вы должны создать файловую систему на/dev/md0
перед монтированием. Используйтеmke2fs
.
На моем Linux 2.0.30, при выполненииmkraid
на RAID-1 устройстве, при очистке двух отдельных разделов, я получил на консоль сообщения об ошибках"Cannot allocate free page"
, и"Unable to handle kernel paging request at virtual address ..."
ошибки в системном log-е. На этот момент, система стала совершенно не готова к использованию, но кажется восстановленной после этого. Работоспособность кажется восстановленной без прочих ошибок, и я успешно использую мой RAID-1. Однако ошибки смущают. Какие идеи?
О: Это хорошо известная ошибка в ядре 2.0.30. Она устранена в 2.0.31 ядре; или откатитесь к 2.0.29.
mdrun
устройство RAID-1, RAID-4 или RAID-5.
Если я пробую mdrun
на добавленном посредством mdadd
устройстве, я получаю сообщение
''invalid raid superblock magic
''.
О:
Проверьте, запускали ли Вы mkraid
часть установочной
процедуры.
/dev/md0
, ядро выплевывает кучу
ошибок, таких как md0: device not running, giving up !
и I/O error...
. Я успешно добавил мои устройства в
виртуальное устройство.
О:
для использования, устройство должно быть запущено. Используйте
mdrun -px /dev/md0
где x = l для линейного объединения,
0 для RAID-0 или 1 для RAID-1 и т.д.
cat /proc/mdstat
показывает
общий размер устройства, но df
показывает только размер первого
физического устройства.
О:
Вы должны сделать mkfs
на новом md-устройстве перед
первым использованием, чтобы файловая система заняла все устройство.
/etc/mdtab
используя mdcreate, я сделал
mdadd
, mdrun
и fsck
на двух моих разделах /dev/mdX
. Все выглядит
нормально перед перезагрузкой. Как только я перегрузился, я
получаю ошибки fsck
на обоих разделах: fsck.ext2: Attempt to read block from filesystem resulted in short
read while trying too open /dev/md0
. Почему?! Как это исправить?!
О: В процессе загрузки, разделы RAID должны быть запущены перед проверкойfsck
. Это должно быть сделано в одном из следующих скриптов. В одних дистрибутивах,fsck
вызывается из/etc/rc.d/rc.S
, в других - из/etc/rc.d/rc.sysinit
. Добавьте в этот файлmdadd -ar
*перед* запускомfsck -A
. Еще лучше, чтобы запускалсяckraid
, еслиmdadd
завершается с ошибкой. Как это сделать подробно обсуждается в вопросе 14 секции ''Восстановление Ошибок''.
invalid raid superblock magic
когда
пытаюсь запустить массив, который состоит из разделов более 4Гб.
О: Эта ошибка сейчас исправлена. (Сентябрь 97) Убедитесь, что у Вас свежий драйвер raid.
Warning: could not write 8 blocks in inode
table starting at 2097175
когда пытаюсь запустить mke2fs на
разделе более 2Гб.
О: Кажется это проблемаmke2fs
(Ноябрь 97). Временный выход - взять код mke2fs и добавить#undef HAVE_LLSEEK
вe2fsprogs-1.10/lib/ext2fs/llseek.c
прямо перед первым#ifdef HAVE_LLSEEK
, затем пересобрать ядро.
ckraid
сейчас не способен читать /etc/mdtab
О: Формат конфигурационного файла RAID0/linear используемый в/etc/mdtab
устарел, однако он будет поддерживаться некоторое время. Сейчас обновленные конфигурационные фалы называются/etc/raid1.conf
и т.д.
raid1.o
) не загружаются автоматически;
но они загружаться через modprobe перед mdrun. Как я могу это устранить?
О: Для автозагрузки модулей, мы можем добавить следующее в/etc/conf.modules
:alias md-personality-3 raid1 alias md-personality-4 raid5
mdadd
13 устройств, и теперь я пробую
mdrun -p5 /dev/md0
и получаю сообщение:
/dev/md0: Invalid argument
О: Конфигурация по умолчанию для программного RAID - 8 физических устройств. Отредактируйтеlinux/md.h
изменив#define MAX_REAL 8
на большее число, и пересоберите ядро.
md
с разделами на
последнем SPARCstation 5. Я думаю, что это связано с
disk-labels.
О:
Sun disk-labels сидят в первом килобайте раздела.
Для RAID-1, Sun disk-label не играют роли, так как
ext2fs
будет проскакивать метку на каждом зеркале.
Для других raid уровней (0, линейного соединения и 4/5) это -
проблема; (на Декабрь 97) они все еще не адресуются.