Денис Колисниченко - Linux-сервер своими руками Страница 36

Тут можно читать бесплатно Денис Колисниченко - Linux-сервер своими руками. Жанр: Компьютеры и Интернет / Программное обеспечение, год -. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте Knigogid (Книгогид) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.

Денис Колисниченко - Linux-сервер своими руками читать онлайн бесплатно

Денис Колисниченко - Linux-сервер своими руками - читать книгу онлайн бесплатно, автор Денис Колисниченко

Давайте рассмотрим несколько примеров использования программы cpio. Создать архив можно с помощью опции –о программы cpio. Программа cpio будет читать имена файлов, которые следует поместить в архив со стандартного ввода. По умолчанию используется бинарный формат архива, поэтому формат архива нужно задать опцией –Н. Будем использовать формат tar. Введите команду:

cpio –о –Н tar –О arc.tar

Затем введите имена файлов, которые вы хотите добавить в архив, например:

/opt/ctrl/ctrl.с

/opt/ctrl/ctrl.html

По окончании ввода будет создан архивный файл arc. tar. Программа cpio создаст архив с сохранением структуры каталогов. Чтобы убедиться в этом, запустите файловый менеджер mc и просмотрите содержимое архива arc.tar.

Конечно, вводить имена файлов вручную не совсем приятное занятие. Для автоматизации ввода можно использовать средства перенаправления ввода/вывода. Например, для архивирования текущего каталога введите команду:

ls | cpio –о –Н tar –О current_dir.tar

Для извлечения файлов из архива введите команду:

cpio –i –H tar < current_dir.tar

В режиме извлечения файлов программа cpio читает со стандартного ввода имя архива.

4.18. Повышение производительности жесткого диска

Существенно повысить производительность жесткого диска поможет программа hdparm. Я увеличил скорость операции чтения своего жесткого диска Quantum Fireball ATA66 с 3,75 Мб/с до 14 Мб/с, а жесткий диск IBM АТА100 (модель точно не помню) удалось «разогнать» до 30,1 Мб/с!

Рассмотрим использование программы hdparm на примере. Для начала запустим ее в режиме теста, зарегистрировавшись в системе как root:

# hdparm –t /dev/hda

Timing buffered disk reads: 64 MB in 17.08 seconds = 3.75 MB/sec

Взглянув на отображенную информацию, можно заметить: «Маловато, однако». Чтобы понять, почему так получается, введем команду:

# hdparm /dev/hda

и получим в ответ

/dev/hda:

multcount = 0 (off)

I/O support = 0 (default 16-bit)

unmaskirq =0 (off)

using_dma = 0 (off)

keepsettings = 0 (off)

nowerr = 0 (off)

readonly = 0 (off)

readahead = 8 (on)

Из этого можно сделать вывод, что все параметры выключены и используется шестнадцатиразрядный доступ к диску. Давайте попробуем немного «разогнать» наш жесткий диск.

# hdparm –dlm2c3ul /dev/hda

Теперь разберемся, что же мы сделали этой командой. Во-первых, мы включили DMA, затем разрешили передавать более одного слова за такт, а также включили тридцатидвухбитный доступ к диску (команда с). Кстати, параметр ul полезен и в тех случаях, когда у вас начинает «заикаться» xmms во время прослушивания музыки.

Вот теперь опять запустим hdparm в режиме теста. В зависимости от жесткого диска у нас должно получиться не менее 14 Мб/с. Думаю, по сравнению с предыдущим показателем разница существенна.

Можно использовать параметры Х33 и Х66 для включения режимов передачи данных UDMA33 и UDMA66 соответственно. Если при использовании режимов Х33 и Х66 производительность снизилась, используйте режим Х68. Для сохранения параметров контроллера IDE используйте команду:

# hdparm –k 1 /dev/hda

При перезагрузке системы параметры IDE теряются, поэтому команду «разгона» винчестера нужно поместить в сценарий запуска системы. Сценарии загрузки рассматриваются в следующей главе. Сейчас просто добавьте команду вызова hdparm в файл /etc/rc.d/rc.local. Этот способ является наиболее универсальным, поскольку он позволяет установить отдельные параметры для разных жестких дисков, если у вас их несколько. Второй, менее универсальный, способ заключается в редактировании файла /etc/sysconfig /harddisks, в котором можно задать общие параметры для всех жестких дисков.

Есть еще один «подводный камень», который состоит в следующем: при пробуждении системы в нормальное состояние после «сна» параметры контроллера также сбрасываются. Этого можно избежать, если подправить файл конфигурации демона apmd, который отвечает за управление питанием. Параметры контроллера IDE, которые устанавливаются при переходе системы в «спящий» режим и выходе из него, задаются строками HDPARM_AT_SUSPEND и HDPARM_AT_RESUME в файле конфигурации /etc/sysconfig/apmd.

Файлы конфигурации, расположенные в каталоге /etc/sysconfig, имеются только в системах, подобных Red Hat — это Red Hat Linux, Mandrake Linux, SuSE Linux, ASP Linux, Back Cat Linux, ABI Linux и другие.

С помощью команды hdparm можно не только повысить скорость обмена данными, но, как вы заметили, и снизить ее. Особенно это полезно при прослушивании аудио компакт-дисков. В самом деле, зачем прослушивать аудио компакты на приводе 52х? К тому же высокоскоростной CDROM слушком шумит. «Притормозить» привод можно такой командой:

# hdparm –Е 2 /dev/hdd

В данном примере мы устанавливаем вторую скорость, то есть 300 Кб/с.

4.19. Создание массивов RAID

Идея надежности хранения данных волновала, волнует и будет волновать не одно поколение системных администраторов и пользователей. Используемые в ОС Linux файловые системы ext2 и ext3 обладают достаточной степенью надежности, но зачастую этого мало.

Если существует вероятность потерять данные в результате выхода из строя жесткого диска, то единственным выходом из данной ситуации является использование массивов жестких дисков RAID. RAID (Redundant Array of Independent Disk или Redundant Array of Expensive Disk) — матрица независимых дисков с избыточностью. Под избыточностью подразумевается резервирование и дублирование данных. В зависимости от уровня RAID, предоставляются различные способы объединения дисков в массив (см. табл. 4.17).

Наиболее часто используются массивы уровней 0,1 и 5. Иногда встречаются комбинированные способы объединения данных в массив, например, 5+1.

Уровни RAID Таблица 4.17

Уровень RAID Описание 0 Обеспечивает распределение блоков данных по нескольким дискам. Предназначен для хранения больших объемов данных, не умещающихся на одном диске. Этот уровень не обеспечивает избыточности, при использовании этого массива диски просто объединяются в цепочку. Емкость массива равна суммарной емкости всех дисков, образующих массив 1 Обеспечивает технологию зеркального копирования. Диски дублируют друг друга. Емкость массива равна емкости самого меньшего из дисков 2 Запись на разные диски производится методом битового чередования малых блоков данных с добавлением кодов исправления ошибок 3 То же, что и уровень RAID 2, но контрольные коды записываются на отдельный диск 4 Представляет собой совокупность взаимосвязанных данных, которые записываются на один диск, а контрольные коды — на другой 5 На этом уровне используются контрольные суммы и данные записываются «вперемешку» на все диски. При выходе из строя одного из дисков потерянные данные восстанавливаются с помощью контрольной суммы. Общая емкость массива вычисляется по формуле min_size*(n-1), где min_size — объем наименьшего из дисков, an— количество дисков в массиве. Минимальное количество дисков равно трем

Организация массива RAID доступна не каждому из-за все еще высокой стоимости на контроллеры RAID. Хотя производители материнских плат пытаются поправить это, выпуская материнские платы со встроенными контроллерами RAID, но такие контроллеры довольно неуниверсальны и обладают слабыми возможностями.

ОС Linux поддерживает программные контроллеры RAID. Применение программных контроллеров имеет как свои преимущества, так и недостатки. К достоинствам относится возможность использования дисков с различными интерфейсами, например, SCSI и IDE, для организации массива — программному контроллеру все равно, с чем работать. Недостатком является дополнительная нагрузка на центральный процессор — он выполняет всю работу по обеспечению функционирования массива RAID.

Итак, приступим к созданию массива RAID. Вам потребуется любой дистрибутив с поддержкой программного контроллера RAID (Software RAID). Такой возможностью обладают практически все современные дистрибутивы. Для включения поддержки RAID вам нужно перекомпилировать ядро. Если ваше ядро поддерживает RAID, при загрузке системы вы должны увидеть примерно следующее:

md driver 0.90.0 MAX_MD_DEVS=256, MAX_REAL=12

raid5 : measuring checksumming speed

raid5: MMX detected, trying high-speed MMX checksum routines

 pII_mmx : 980.694 MB/sec

 p5_mmx : 999.744 MB/sec

 8regs : 753.237 MB/sec

 32regs : 444.246 MB/sec

using fastest function: p5_mmx (999.744 MB/sec)

md.c: sizeof(mdp_super_t) = 4096

Перейти на страницу:
Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.
Комментарии / Отзывы
    Ничего не найдено.