The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел из файла"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Файловые системы, диски)
Изначальное сообщение [ Отслеживать ]

"Раздел из файла"  +/
Сообщение от yahan (ok) on 08-Авг-11, 10:38 
Есть глючная программа, которая изредка зацикливается и забивает весь диск результатами своего труда :)
Хочу создать отдельный раздел под нее, чтобы последствия деятельности этой программы были минимальными, но отдельно выделять жесткий диск или переразбивать рабочий из-за такой ерунды нет желания.

Можно как-то создать файл и сделать из него раздел?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Раздел из файла"  +/
Сообщение от zd3n (ok) on 08-Авг-11, 10:53 
1. Создать файл нужного размера. (dd или mkfile)
2. Отформатировать его под нужную файловую систему.
3. Смонтировать.
Всё...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Раздел из файла"  +/
Сообщение от yahan (ok) on 08-Авг-11, 13:41 
> 1. Создать файл нужного размера. (dd или mkfile)
> 2. Отформатировать его под нужную файловую систему.
> 3. Смонтировать.
> Всё...

Подробней опишу сам:
1. Создать файл нужного размера
убедиться, что имеется в наличии свободное место для файла:
df -h

собственно, создаем файл:
dd if=/dev/zero of=/part1 bs=1G count=10
где:
/dev/zero – специальный файл в UNIX-подобных системах, представляющий собой источник нулевых байтов (ASCII NUL, 0×00)
of=/part1 – файл который создаем
bs=1G – размер блока, 1ГигаБайт (вместо G может быть: К-КБайт, М-МБайт, G-ГБайт)
count=10 – количество блоков
В результате мы получили заданный файл, размером 1G*10=10 ГигаБайт.

Если создается файл большого размера, то операция может выполняться достаточно долго.
Отследить прогресс увеличения размера файла можно с другом терминальном окне:
watch -n 10 ls -lh /part1

2. Отформатировать его под нужную файловую систему.
mkfs -t ext3 /part1
где:
ext3 - тип ФС подставляем выбранную файловую систему (reiserfs, ext3, jfs, xfs ...)
/part1 – файл который создали в п.1

3. Смонтировать.
Создаем точку монтирования:
mkdir /mnt/megadrive
и даём директории полные права:
chmod 770 /mnt/megadrive
И монтируем:
mount -o loop -t ext3 /part1 /mnt/megadrive

Если все нормально добавляем монтирование в /etc/fstab


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Раздел из файла"  +/
Сообщение от Grey (ok) on 08-Авг-11, 10:56 
> Есть глючная программа, которая изредка зацикливается и забивает весь диск результатами
> своего труда :)
> Хочу создать отдельный раздел под нее, чтобы последствия деятельности этой программы были
> минимальными, но отдельно выделять жесткий диск или переразбивать рабочий из-за такой
> ерунды нет желания.
> Можно как-то создать файл и сделать из него раздел?

Можно включить квотирование на разделе где лежит файл и выставить юзеру (которому даны права на файл) квоту.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Раздел из файла"  +/
Сообщение от yahan (ok) on 08-Авг-11, 13:42 
> Можно включить квотирование на разделе где лежит файл и выставить юзеру (которому
> даны права на файл) квоту.

К сожалению, забивает раздел root.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Раздел из файла"  +/
Сообщение от LSTemp (ok) on 09-Авг-11, 01:14 
> Есть глючная программа, которая изредка зацикливается и забивает весь диск результатами
> своего труда :)
> Хочу создать отдельный раздел под нее, чтобы последствия деятельности этой программы были
> минимальными, но отдельно выделять жесткий диск или переразбивать рабочий из-за такой
> ерунды нет желания.
> Можно как-то создать файл и сделать из него раздел?

И?

1) долбить тех. кто эту уродину написал
2) погуглить на счет ФС proc и отталкиваясь оттуда с привязкой к конкретному дистрибутиву (какому кстати?) ограничить возможность использования данной прогой определенных ресурсов системы. благо механизмов в новых системах на эту тему туева хуча.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Раздел из файла"  +/
Сообщение от yahan (ok) on 09-Авг-11, 10:44 
> И?
> 1) долбить тех. кто эту уродину написал
> 2) погуглить на счет ФС proc и отталкиваясь оттуда с привязкой к
> конкретному дистрибутиву (какому кстати?) ограничить возможность использования данной
> прогой определенных ресурсов системы. благо механизмов в новых системах на эту
> тему туева хуча.

Это анализатор логов squid free-sa.
Все дело в том, что глюк проявляется достаточно редко - не чаще 1 раза в год, его отловить достаточно сложно. Как раз для того, чтобы система полностью не умерала и можно было спокойно проанализировать ситуацию - я и сделал для free-sa отдельный раздел.

Как альтернативный вариант вижу настройку квот пользователя, но это делается несколько дольше, а с отдельным разделом как-то наглядней получается, да и перенастраивать особо ничего не надо :)

У меня это крутится на Ubuntu, ФС ext4.

Если можете предложить что-то более интересное для решения вышеописанной проблемы - пишите.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Раздел из файла"  +/
Сообщение от anonymous (??) on 10-Авг-11, 18:13 
>[оверквотинг удален]
> Это анализатор логов squid free-sa.
> Все дело в том, что глюк проявляется достаточно редко - не чаще
> 1 раза в год, его отловить достаточно сложно. Как раз для
> того, чтобы система полностью не умерала и можно было спокойно проанализировать
> ситуацию - я и сделал для free-sa отдельный раздел.
> Как альтернативный вариант вижу настройку квот пользователя, но это делается несколько
> дольше, а с отдельным разделом как-то наглядней получается, да и перенастраивать
> особо ничего не надо :)
> У меня это крутится на Ubuntu, ФС ext4.
> Если можете предложить что-то более интересное для решения вышеописанной проблемы - пишите.

Могу предложить использовать крон и простенький скриптик, проверяющий размер файла и сжимающий/удаляющий/перемещающий куда-либо его в случае превышения лимита.
Либо освоить syslog и logrotate - да, это дольше, но это правильный подход именно системного администратора, а не велосипедостроителя-самоучки.
Пример скриптика:
#!/bin/sh

LOG="/var/log/free-sa.log"

if [ $(stat -c %s ${LOG}) -gt 52428800 ]; then
    gzip -9 ${LOG} && echo "Compressed succesfully"
else
    echo "Size is still OK"
fi

В данном случае лог сжимается, если более 50M.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Раздел из файла"  +/
Сообщение от yahan (ok) on 11-Авг-11, 10:03 
>[оверквотинг удален]
> подход именно системного администратора, а не велосипедостроителя-самоучки.
> Пример скриптика:
> #!/bin/sh
> LOG="/var/log/free-sa.log"
> if [ $(stat -c %s ${LOG}) -gt 52428800 ]; then
>     gzip -9 ${LOG} && echo "Compressed succesfully"
> else
>     echo "Size is still OK"
> fi
> В данном случае лог сжимается, если более 50M.

Спасибо, конечно, но вы бы прочитали для начала в чем суть проблемы. А проблема в том, что в один прекрасный момент, один из процессов создает файл и начинает быстро писать в него до тех пор пока место не закончится. syslog и logrotate это из другой оперы

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру