Жесткие диски на крутых виражах Крис Касперски ака мыщъх Хакер, номер #078, стр. 078-092-5 Другая важная опция определяет режим хэширования директорий. Для ускорения работы с директориями, содержащими большое количество файлов и подкаталогов, директория должна быть организована в виде двоичного дерева. В ext2fs и ext3fs это осуществляется командой mke2fs -O dir_index, а в ReiserFS — mkreiserfs -h hash, где hash — один из следующих типов хэш-таблицы: r5, rupasov или tea. По умолчанию выбирается r5, который наилучшим образом подходит для большинства файловых операций, тем не менее, некоторые приложения, например Squid, настоятельно рекомендуют использовать rupasov-хэш, в противном случае за быстродействие никто не ручается. С другой стороны, r5 и rupasov очень медленно работают с директориями, содержащими несколько миллионов файлов, и здесь лучше подходит tea, а на директориях из нескольких десятков файлов все три алгоритма хэширования проигрывают стандартному нехэшируемому plain-алгоритму. К сожалению, опция хэширования носит глобальный характер — нельзя одни директории хэшировать, а другие нет. Файловая система XFS — единственная из всех, кто позволяет задавать размер inode вручную. Обычно в inode хранятся служебные данные файла (атрибуты, порядок размещения блоков на диске), но если файл целиком умещается в inode, система сохраняет его именно там! Дополнительное дисковое пространство уже не выделяется, что избавляет головку винчестера от лишних перемещений, в результате чего время доступа к файлу существенно сокращается. Точно так же поступают ReiserFS, NTFS и некоторые другие файловые системы, однако, к сожалению, размер inode они менять не в состоянии! Если мы планируем работать с большим количеством мелких файлов, размер inode желательно увеличить, что положительно скажется как на производительности, так и на доступном дисковом пространстве. При работе с большими файлами размер inode лучше, наоборот, сократить, в противном случае потери дискового пространства будут довольно значительными. Выбор предпочтительного размера inode осуществляется командой mkfs.xfs -i size=value. Минимальный размер составляет 512 байт, максимальный — 2048. [заключение] Windows предоставляет минимум рычагов управления для настройки дисковой подсистемы, и угробить свои данные под ее управлением довольно затруднительно. Linux же позволяет крутить все и вся! Как следствие, малейшая оплошность приводит к катастрофическим разрушениям. И винить в этом некого — нечего было браться за штурвал, не выучив мануал, как правило, написанный на английском языке. Но даже мануал не поможет определить, какие именно режимы поддерживаются нашим оборудованием, а какие нет (может, у нас кабель перекручен или разъем барахлит, а на высокосортных режимах это сразу же скажется!). Настройка дисковой подсистемы на максимальную производительность — это огромный риск! Никогда не экспериментируй, не зарезервировав всех данных! [Фрагментация] |