Когда массив первоначально собран, он помещается в режим "автотолько для чтения". Я быстро протестировал с моим ядром (3.10.x) и mdadm (3.3), этого не происходит на, создают — но необходимо выполнять различные версии.
Однако автотолько для чтения не ошибка, ни это что-либо для волнения о. Основная идея позади него состоит в том, чтобы сделать --assemble
(и, по-видимому, теперь, даже --create
) более безопасный: Ничто не записано в диски, пока массив не идет чтение-запись. (Я не уверен, записаны ли, возможно, метаданные все еще на, создают.)
Массив автоматически переключится от автотолько для чтения до чтения-записи, когда это получит свою первую запись. Так, если бы Вы шли вперед и создали файловую систему на устройстве или физический том LVM, или что бы то ни было, оно переключилось бы на чтение-запись и запустило бы синхронизацию.
Единственная причина необходимо было бы работать mdadm --readwrite
на нем то, если Вы хотите, чтобы это синхронизировало, перед выполнением любых записей.
Если вы используете CentOS, то просто установите исходные тексты вашего ядра [1120777]2.6.32-431.11.2.el6.x86_64[1120778] из репозитория CentOS, так как RedHat использует исправленное ядро. Также убедитесь, что конфигурация дерева исходных текстов ядра, с которым вы собираете, точно такая же, как и у работающего ядра.
Bob@Mays ~
$
Обычно в каталоге [1120779]/boot/[1120782] находятся файлы [1120781]/boot/[1120782], или вы можете попробовать получить конфигурацию работающего ядра из [1120783]/proc/config.gz[1120784].
PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '
Вы также можете обратиться к официальному CentOS HowTos:
http://wiki.centos.org/HowTos/I_need_the_Kernel_Source
http://wiki.centos.org/HowTos/Custom_Kernel
Ядро Linux содержит структуры данных, компоновка которых варьируется не только от версии к версии, но и в зависимости от вариантов компиляции. Как следствие, при компиляции модуля ядра необходимо иметь не только заголовочные файлы из исходных текстов ядра, но и некоторые заголовочные файлы, которые генерируются при компиляции ядра. Простой распаковки исходных текстов ядра недостаточно.
При сборке ядра с помощью CONFIG_MODVERSIONS
номер версии может отличаться, но расположение структур данных должно быть одинаковым. Эта опция активирована в ядрах Ubuntu. С помощью этой опции, в дополнение к заголовкам, модули должны быть скомпилированы с соответствующим файлом Module.symvers
. CentOS, как и большинство дистрибутивов, включает этот файл в том же пакете, что и заголовки ядра, полученные при компиляции. Заголовочный пакет ядра CentOS называется kernel-headers
; убедитесь, что установлена версия, соответствующая ядру, для которого вы компилируете. Смотрите также Обзор пакетов ядра в документации по CentOS и Вам не нужен полный исходный код ядра в вики.
С ядрами, собранными без CONFIG_MODVERSIONS
(что может случиться, если вы скомпилировали собственное ядро), проверка при загрузке модуля является простой проверкой версии. Вы можете взять неупакованный исходный код ядра, скопировать .config
, который использовался при компиляции работающего ядра, и запустить make modules_prepare
. Вы должны убедиться, что все исправления, внесенные в ядро, не влияют на бинарную совместимость.