Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Next Previous Contents

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

  1. В: Какой текущий стабильный патч для 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 + ... !?
  2. В: У меня не устанавливаются патчи RAID. Что не так?
    О: Убедитесь, что /usr/include/linux символическая ссылка на /usr/src/linux/include/linux. Убедитесь, что новые файлы raid5.c, и т.д. скопированы в свое правильное расположение. Иногда комманда patch не создает новые файлы. Попробуйте указать флаг -f для patch.
  3. В: При компиляции raidtools 0.42, компиляция останавливается на include <pthread.h>, но его нет в моей системе. Как мне это исправить?
    О: raidtools-0.42 требует linuxthreads-0.6 с: ftp://ftp.inria.fr/INRIA/Projects/cristal/Xavier.Leroy Как альтернатива - glibc v2.0.
  4. В: Я получаю сообщение: mdrun -a /dev/md0: Invalid argument
    О: Используйте mkraid для инициализации RAID перед первым использованием. mkraid стиранием разделов RAID гарантирует, что массив RAID изначально в согласованном состоянии. Дополнительно, mkraid создаст RAID суперблоки.
  5. В: Я получил сообщение: 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
                
    
  6. В: При mdadd -a я получаю ошибку: /dev/md0: No such file or directory. И действительно, вроде-бы нигде нет никакого /dev/md0. И что мне теперь делать?
    О: Пакет raid-tools должен создать устройства когда вы запускаете make install как root. Или Вы можете сделать следующее:
        cd /dev 
        ./MAKEDEV md
                
    
  7. В: После создания raid массива на /dev/md0, Я пытаюсь монтировать и получаю следующую ошибку: mount: wrong fs type, bad option, bad superblock on /dev/md0, or too many mounted file systems. Что не так?
    О: Вы должны создать файловую систему на /dev/md0 перед монтированием. Используйте mke2fs.
  8. В: 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.
  9. В: Я не могу mdrun устройство RAID-1, RAID-4 или RAID-5. Если я пробую mdrun на добавленном посредством mdadd устройстве, я получаю сообщение ''invalid raid superblock magic''.
    О: Проверьте, запускали ли Вы mkraid часть установочной процедуры.
  10. В: Когда я обращаюсь к /dev/md0, ядро выплевывает кучу ошибок, таких как md0: device not running, giving up ! и I/O error.... Я успешно добавил мои устройства в виртуальное устройство.
    О: для использования, устройство должно быть запущено. Используйте mdrun -px /dev/md0 где x = l для линейного объединения, 0 для RAID-0 или 1 для RAID-1 и т.д.
  11. В: Я создал линейное соединение из 2-х дисков. cat /proc/mdstat показывает общий размер устройства, но df показывает только размер первого физического устройства.
    О: Вы должны сделать mkfs на новом md-устройстве перед первым использованием, чтобы файловая система заняла все устройство.
  12. В: Я установил /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 секции ''Восстановление Ошибок''.
  13. В: Я получаю сообщение invalid raid superblock magic когда пытаюсь запустить массив, который состоит из разделов более 4Гб.
    О: Эта ошибка сейчас исправлена. (Сентябрь 97) Убедитесь, что у Вас свежий драйвер raid.
  14. В: Я получаю сообщение 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, затем пересобрать ядро.
  15. В: ckraid сейчас не способен читать /etc/mdtab
    О: Формат конфигурационного файла RAID0/linear используемый в /etc/mdtab устарел, однако он будет поддерживаться некоторое время. Сейчас обновленные конфигурационные фалы называются /etc/raid1.conf и т.д.
  16. В: Модули (raid1.o) не загружаются автоматически; но они загружаться через modprobe перед mdrun. Как я могу это устранить?
    О: Для автозагрузки модулей, мы можем добавить следующее в /etc/conf.modules:
        alias md-personality-3 raid1
        alias md-personality-4 raid5
                
    
  17. В: Я добавил посредством mdadd 13 устройств, и теперь я пробую mdrun -p5 /dev/md0 и получаю сообщение: /dev/md0: Invalid argument
    О: Конфигурация по умолчанию для программного RAID - 8 физических устройств. Отредактируйте linux/md.h изменив #define MAX_REAL 8 на большее число, и пересоберите ядро.
  18. В: Я не могу заставить работать md с разделами на последнем SPARCstation 5. Я думаю, что это связано с disk-labels.
    О: Sun disk-labels сидят в первом килобайте раздела. Для RAID-1, Sun disk-label не играют роли, так как ext2fs будет проскакивать метку на каждом зеркале. Для других raid уровней (0, линейного соединения и 4/5) это - проблема; (на Декабрь 97) они все еще не адресуются.

Next Previous Contents