BASH Programming - Введение


Поиск неисправностей при установке


  • В: Какой текущий стабильный патч для RAID в серии ядер 2.0.x?

    О: На 18 сентября 1997, это - "2.0.30 + pre-9 2.0.31 + Werner Fink's swapping patch + the alpha RAID patch". На Ноябрь 1997, это - 2.0.31 + ... !?

  • В: У меня не устанавливаются патчи RAID. Что не так?

    О: Убедитесь, что /usr/include/linux символическая ссылка на /usr/src/linux/include/linux.

    Убедитесь, что новые файлы raid5.c, и т.д. скопированы в свое правильное расположение. Иногда комманда patch не создает новые файлы. Попробуйте указать флаг -f для patch.

  • В: При компиляции raidtools 0.42, компиляция останавливается на include <pthread.h>, но его нет в моей системе. Как мне это исправить?

    О: raidtools-0.42 требует linuxthreads-0.6 с:

    Как альтернатива - glibc v2.0.

  • В: Я получаю сообщение: mdrun -a /dev/md0: Invalid argument

    О: Используйте mkraid для инициализации RAID перед первым использованием.

    mkraid стиранием разделов RAID гарантирует, что массив RAID изначально в согласованном состоянии. Дополнительно, mkraid создаст RAID суперблоки.

  • В: Я получил сообщение: mdrun -a /dev/md0: Invalid argument. Установки такие:
    • raid построен как модуль


    • была сделана обычная установочная последовательность ... mdcreate, mdadd, etc.
    • 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

    • В: После создания raid массива на /dev/md0, Я пытаюсь монтировать и получаю следующую ошибку: mount: wrong fs type, bad option, bad superblock on /dev/md0, or too many mounted file systems. Что не так?

      О: Вы должны создать файловую систему на /dev/md0

      перед монтированием. Используйте mke2fs.

    • В: Truxton Fulton написал:

      На моем 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 и т.д.

    • В: Я создал линейное соединение из 2-х дисков. 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) они все еще не адресуются.


      Содержание раздела