Bradley Ward Allen < > написал:
Идеи включают:
(Итак в общем, все, что я могу предложить - избавиться от утилит и поместить их в ядро; так я это вижу, это - файловая система, а не игрушка.)
``запретить этот диск''
должно блокировать, пока ядро не завершит проверки наличия данных для сбрасывания на диск при завершении (таких как завершение XOR/ECC/других коррекций ошибок), затем освободить диск от использования (чтобы его можно было вынуть и т.п.); ``разрешить этот диск''
должно, при соответствии, mkraid новый диск и затем запустить его для использования для ECC или любых операций, расширяя RAID5 массив; ``изменить размер массива''
должно переопределять общее чило дисков и чило избыточных дисков, и результатом должно быть изменение размера массива; без потери данных, хорошо было бы сделать это должным образом, но я потратил много времени пытаясь описать, как это должно делаться; в любом случае, необходим режим, где массив будет блокироваться ( возможно, на несколько часов (ядро должно заносить что-то в log каждые десять секунд)); ``разрешение диска при сохранении данных''
это должно сохранить данные на диске как есть и перемещать их, как положено, на систему RAID5, так что ужасающее сохранение и восстановление не должно происходить каждый раз когда кто-то ``поднимает''систему RAID5 (вместо этого, может быть проще сохранять только один раздел вместо двух, он может поместится на первый как сжатый gzip-ом файл); ``пере-разрешение диска''
должно быть операторской подсказкой операционной системе попробовать ранее отказавший диск (это должен быть, как я думаю, просто вызов запрещения, а потом разрешения).
Прочие идеи не из сети:
Добавить период "неактивности записи" (для избежания частого позиционирования головок на суперблок RAID при относительной занятости RAID тома).