Нагрузка на винты

12
[Удален]
1855

На серваке винты работают в режиме постоянной перегрузки. Использование винтов специфическое. На винт идет куча одновременных процессов записей/чтения (загрузка/скачивание) большого количества файлов.

Иногда возникает необходимость быстро скопировать с конкретного диска файл. Ввиду общей перегруженности винтов файл может копироваться на скоростях менее 100 КБ/сек.

Вопрос - возможно ли какими-либо средствами устанавливать приоритет файлов? Т.е. одновременно читается/пишется куча файлов, но в определенный момент одному (нескольким) из файлов отдается приоритет. Все остальные притормаживаются, необходимый файл копируется.

Буду благодарен за любые идеи, в какую сторону нужно копать.

A
На сайте с 14.11.2011
Offline
34
alw
#1

man ionice

управляет приоритетами io, но не для файлов, а для процессов

правда не уверен насколько оно будет эффективно.

Администрирование linux, windows (/ru/forum/671883) icq 4831950
M
На сайте с 01.12.2009
Offline
235
#2

Надо смотреть, какой случай.

Администратор Linux,Freebsd. построения крупных проектов.
[Удален]
#3

Спасибо за совет, но наверное это немного нет то.

У нас на винте файлы от f001 до fn. Винты пашут так, что аж дымятся. В определенный момент нам надо скопировать файл f275. Начинаем его копировать, но на фоне перегрузки винтов он еле тянется. Нам надо притушить остальную активность винтов и дать возможность максимально быстро вытянуть именно наш f275.

Может быть есть какое-то сочетание ФС+ОС+какие-то настройки = раздаем приоритеты файлам.

zexis
На сайте с 09.08.2005
Offline
388
#4

Какие у вас сейчас диски? Какой RAID контроллер? Какой уровень RAID? Какой размер RAM?

Решения очевидные.

1) Использовать RAID массив, например RAID10.

2) Использовать мощный raid контроллер, с кэшированием записи на 512 Мбайт или более.

3) Использовать более быстрые диски, например SAS 15000 об/мин

4) Увеличичивать объем RAM, что бы ОС кешировало файлы на диске.

5) Переделывать двежек сайта, что бы файлы читались не с диска, а с виртуального диска в оперативной памяти.

M
На сайте с 01.12.2009
Offline
235
#5
Cruel Adv:
Спасибо за совет, но наверное это немного нет то.

У нас на винте файлы от f001 до fn. Винты пашут так, что аж дымятся. В определенный момент нам надо скопировать файл f275. Начинаем его копировать, но на фоне перегрузки винтов он еле тянется. Нам надо притушить остальную активность винтов и дать возможность максимально быстро вытянуть именно наш f275.

Может быть есть какое-то сочетание ФС+ОС+какие-то настройки = раздаем приоритеты файлам.

ну раз вы настаиваете на совете, для начала расскажите какая связка . md - или просто винты по отдельности в системе.

df -h

fdisk -l

покажите

[Удален]
#6
madoff:
ну раз вы настаиваете на совете, для начала расскажите какая связка . md - или просто винты по отдельности в системе.
df -h
fdisk -l
покажите

Ну не то чтобы настаиваю, но очень прошу совета ; )

Надеюсь ниже исчерпывающие ответы:

user@box:~# df -H

Filesystem Size Used Avail Use% Mounted on

/dev/cciss/c0d0p3 2.0T 52G 1.8T 3% /

tmpfs 6.4G 0 6.4G 0% /lib/init/rw

udev 6.4G 222k 6.4G 1% /dev

tmpfs 6.4G 0 6.4G 0% /dev/shm

/dev/cciss/c0d0p1 485M 27M 434M 6% /boot

/dev/cciss/c0d1p1 2.0T 1.7T 194G 90% /mnt/disk1

/dev/cciss/c0d2p1 2.0T 1.9T 50G 98% /mnt/disk2

/dev/cciss/c0d3p1 2.0T 1.8T 80G 96% /mnt/disk3

/dev/cciss/c0d4p1 2.0T 1.7T 232G 88% /mnt/disk4

/dev/cciss/c0d5p1 2.0T 1.8T 82G 96% /mnt/disk5

/dev/cciss/c0d6p1 2.0T 1.8T 88G 96% /mnt/disk6

/dev/cciss/c0d7p1 2.0T 1.9T 59G 97% /mnt/disk7

/dev/cciss/c0d8p1 2.0T 1.8T 83G 96% /mnt/disk8

/dev/cciss/c0d9p1 2.0T 1.6T 307G 84% /mnt/disk9

/dev/cciss/c0d10p1 2.0T 1.5T 461G 76% /mnt/disk10

/dev/cciss/c0d11p1 2.0T 1.3T 579G 70% /mnt/disk11

fdisk -l

WARNING: GPT (GUID Partition Table) detected on '/dev/cciss/c0d0'! The util fdisk doesn't support GPT. Use GNU Parted.

Disk /dev/cciss/c0d0: 2000.4 GB, 2000365379584 bytes

255 heads, 63 sectors/track, 243197 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Device Boot Start End Blocks Id System

/dev/cciss/c0d0p1 1 243198 1953481815+ ee GPT

Все диски одинаковые т.е. fdisk -l выдает по всем дискам одну и ту же картину показывает, думаю незачем дубли постить

zexis:
Какие у вас сейчас диски? Какой RAID контроллер? Какой уровень RAID? Какой размер RAM?

Решения очевидные.
1) Использовать RAID массив, например RAID10.
2) Использовать мощный raid контроллер, с кэшированием записи на 512 Мбайт или более.
3) Использовать более быстрые диски, например SAS 15000 об/мин
4) Увеличичивать объем RAM, что бы ОС кешировало файлы на диске.
5) Переделывать двежек сайта, что бы файлы читались не с диска, а с виртуального диска в оперативной памяти.

zexis, спасибо вам. Ваши рекомендации нацелены на повышение производительности дисков. У нас с этим все более-менее нормально. Вернее мы работаем над повышением производительности в целом, но в данный момент нас больше интересует вопрос расстановки приоритетов - разделить файлы на важные и неважные.

N
На сайте с 06.05.2007
Offline
419
#7

Cruel Adv, как это не то? ionice - не то? вы хоть дочитали до конца?

других вариантов то и нет в вашем случае. И тот не всех удовлетворяет.

Разве что зайти с другой стороны - заставить свое приложение во время копирования пыхтеть поменьше. Например, в nginx временно уменьшить число воркеров. Или шейпер сети включать.

Кнопка вызова админа ()
M
На сайте с 01.12.2009
Offline
235
#8

Покажите данные аппаратного RAID какое количество дисков, все ли онлайн, чё с IO кто грузит.

P
На сайте с 08.03.2007
Offline
250
#9

Попробуйте сначала планировщик поменять, например на deadline .

[Удален]
#10

Коллеги, либо я совсем тупой либо я не совсем доходчиво изложил свой вопрос. Нам надо расставлять приоритеты на уровне файлов.

Если я все-таки туплю, то прошу наставить на путь истинный.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий