1 (08.12.2011 18:34:56 отредактировано djamen)

Всем привет! У меня возник очень интересный вопрос: есть свой сервак, ось Debian, но с одним хардом. Нужно поставить еще два харда и объединить их в одну файловую систему или каталог... Мне нужно увеличить место на серваке но чтобы это выглядело как один хард. Места не хватает, а раскидать файлы и скрипты сайта по разным хардам просто нельзя, сам сайт требует одного катклока. Очень нужна помощь!

2

http://ru.wikipedia.org/wiki/LVM
не?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

3

LVM

4

drBatty пишет:

http://ru.wikipedia.org/wiki/LVM
не?

Да то что нужно, посмотрим. Спс.

5

Скажите на Debian это можно сделать без переустановки оси, повреждений данных? Работоспособность останется прежней?

6

Всё будет хорошо, если вы прочтёте изначально документацию
Например:
http://www.ibm.com/developerworks/linux … zone=linux

7

bIGaNDY пишет:

Всё будет хорошо, если вы прочтёте изначально документацию
Например:
http://www.ibm.com/developerworks/linux … zone=linux

На данный момент добрался вот до эго:Управление логическими томами
Создание томов, управление томами, мгновенные резервные копии и другие возможности LVM2
http://www.ibm.com/developerworks/ru/library/l-lvm2/

Надеюсь это то что нужно.

8

bIGaNDY пишет:

LVM

Там есть только одна маленькая проблема - если умирает один из физических дисков, объединенных в LVM, то приятного мало будет. Конечно, регулярные бэкапы - наше всё, но...
Я бы на такое объединение не велся. Оно нужно только для  одной цели - иметь возможность записать файл больший, чем размер одного диска. А такие файлы у нас есть?
Если уж и надо объединять в один LVM-том, то под этим томом должно быть RAID-зеркало.
По мне - гораздо практичнее монтировать дополнительные диски в /mnt или куда удобнее и на этих смонтированных дисках и размещать свои данные. Тогда выход из строя одного диска не повлияет на работоспособность оставшейся системы.

9

Что-то никто про aufs не сказал.
aufs - файловая система, реализующая каскадно-объединённое монтирование для файловых систем Linux. Помимо унаследованного от UnionFS функционала здесь реализованы RW-ветки и балансировка записи, что идеально подходит для решения поставленной задачи.
Но aufs2 не включена в mainline-ядро.
Установка:

aptitude install aufs-tools

Допустим, есть два смонтированных раздела:
старый /media/old
и новый /media/new
чтобы эти два раздела были видимы как один, необходимо выполнить:

mount -t aufs none /media/storage -o br:/media/old=rw:/media/new=rw,create=mfs,sum

В /etc/fstab такая запись должна иметь вид:

none /media/storage aufs br:/media/torrents=rw:/media/new_storage=rw,create=mfs,sum 0 0

Wiki

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

10

djamen пишет:

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

Не совсем понятно - сайт требует размещения десятков гигабайт данных в одном "плоском" каталоге? Кучей? Без возможности иметь там подкаталоги? В топку такой сайт.
Или введение там подкаталогов допустимо? Тогда что мешает смонтировать дополнительный диск (и не один) прямо в нужное место и увеличить этим емкость данных подкаталогов для размещения данных? Или смонтировать его  в стандартный /mnt и сделать на него из нужного места обычные симлинки?

11

Cruiser78 пишет:

Не совсем понятно - сайт требует размещения десятков гигабайт данных в одном "плоском" каталоге? Кучей? Без возможности иметь там подкаталоги? В топку такой сайт.

ну почему-же? очень удобно, если файлы большие. В этом огромном каталоге хранятся файлы переименованные (что-бы не было конфликтов), а пользователь естественно видит виртуальную систему каталогов. Плюс в гибкости и лёгкости изменения виртуальной ФС, причём даже динамически. Можно сделать например виртуальную папку "популярные файлы". С каталогом это получается не очень хорошо. Например проблемы возникнут при изготовлении бекапов.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

12 (11.12.2011 12:40:43 отредактировано Cruiser78)

drBatty пишет:

ну почему-же? очень удобно, если файлы большие.

Такие большие файлы на сайте - по моему - это фильмы. Вряд ли будет хорошим тоном валить их все в одну кучу. Так как фильмо-сайты помимо самого фильма дают еще и дополнительную по нему информацию, например, обложку диска и еще что-нибудь. То есть - естественно раскидывать такие "фильмы" по своим уникально поименованным каталогам. А что мешает вместо такого "физического" каталога с фильмом иметь линк на каталог с этим фильмом на ином диске?

drBatty пишет:

 
Плюс в гибкости и лёгкости изменения виртуальной ФС, причём даже динамически. Можно сделать например виртуальную папку "популярные файлы". С каталогом это получается не очень хорошо. Например проблемы возникнут при изготовлении бекапов.

По моему - тоже не менее гибко и нет проблем настраивать те же "популярные файлы"....
Я дома в медиаплейере так и делаю (на одном диске, второй не подключить) - есть общая куча, а рядом организован каталог (в библиотечном понимании), где эти фильмы линками сгруппированы по артистам, по жанрам, по авторам... А что мешает слинковывать в свой каталог файлы (директории) находящиеся на разных дисках?
Чем и хорош юникс - одну задачу можно решить тысячью способов.
И все равно - пребываю в убеждении, что большая файловая система хороша для хранения таких же больших файлов. Её стоит делать, если имеешь диски по 500 гигабайт, а файлы данных по терабайту. Вот тогда, действительно, надо диски склеивать. А если этого нет, то зачем городить лишнюю сущность, когда старые добрые линки (и mount в нужное место) решат нашу задачу?

Да и проблем с бакапами каталоговых структур я не вижу никаких.

13

Cruiser78 пишет:

Такие большие файлы на сайте - по моему - это фильмы. Вряд ли будет хорошим тоном валить их все в одну кучу. Так как фильмо-сайты помимо самого фильма дают еще и дополнительную по нему информацию, например, обложку диска и еще что-нибудь. То есть - естественно раскидывать такие "фильмы" по своим уникально поименованным каталогам. А что мешает вместо такого "физического" каталога с фильмом иметь линк на каталог с этим фильмом на ином диске?

эх... Вы таки меня не поняли. Я как раз и предлагаю хранить весь "мусор" (описания, обложки, и прочее, вплоть до имени файла) в базе данных. Тогда с этой инфой будет очень удобно работать. Например, если у вас описание к файлу лежит в подкаталоге рядом с фильмом, то для того, что-бы выполнить запрос "покажи мне фильмы с 1990го, по 2003й, жанра 'ужасы', и отсортируй по времени доступа (в конце те, что я недавно смотрел", вам придётся
1. написать небольшой скриптик
2. распарсить все описания
Ну а мне достаточно будет одного запроса к БД. Естественно, СУБД можно и нужно обернуть в красивую обёртку, что-бы тыкать мышкой. Сами фильмы (файлы) могут при этом лежать в одном каталоге на диске. И дробить этот каталог нет никакого смысла. Именно так, видимо, и организован сайт ТС'а.

Cruiser78 пишет:

Да и проблем с бакапами каталоговых структур я не вижу никаких.

когда у вас одна структура, проблем действительно нет. Но если вы делаете несколько динамических структур, к пример вы можете захотеть сделать подборку мультфильмов, но при этом, основная база у вас подобрана по года, то у вас начинаются проблемы. ФС конечно позволяет хранить файл в двух местах. Но об этом ещё и нужно рассказать программе бекапа. Как она отличит виртуальную подборку мультиков (которую бекапить не нужно), от ссылки на второй диск, которую бекапить нужно?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

14

Про базу данных изначально у ТС речи не было. Безусловно держать информацию в ней гораздо удобнее, чем в файловой системе. Здесь спорить не буду. Однако - не переубедил. Так как и СУБД прекрасно позволяет держать "фильмы" в разных местах. Ведь в неё же будем записывать ссылки на эти "фильмы". А ссылка может показывать куда угодно, хоть на внешний сервер. Что мешает?
Так что применение СУБД не есть аргумент в пользу большой файловой системы. Более того, это аргумент в пользу "распределенной" ФС, что где бы ни держали наши файлы - все равно к ним есть доступ через единую точку доступа, через СУБД.

И с архивированием не вижу проблем. Просто надо бэкапить оригинальные файлы отдельно, а систему ссылок на них (свои виртуальные каталоги) отдельно. Разве сложно отличить линк (сделанный по ln -s) на объект от оригинала?

$ll | grep -v  '^l'
$ll | grep   '^l'

По первой строке кладем файлы в архив, а по второй - формируем скрипт, который нам все линки восстановит. В чем проблема?

15

Cruiser78 пишет:

Про базу данных изначально у ТС речи не было. Безусловно держать информацию в ней гораздо удобнее, чем в файловой системе. Здесь спорить не буду. Однако - не переубедил. Так как и СУБД прекрасно позволяет держать "фильмы" в разных местах. Ведь в неё же будем записывать ссылки на эти "фильмы". А ссылка может показывать куда угодно, хоть на внешний сервер. Что мешает?
Так что применение СУБД не есть аргумент в пользу большой файловой системы. Более того, это аргумент в пользу "распределенной" ФС, что где бы ни держали наши файлы - все равно к ним есть доступ через единую точку доступа, через СУБД.

С этим я конечно не могу не согласится. Однако, возможно создатель движка и не преследовал цель в распределённой ФС, и всё свалил в один каталог. Конечно, ничего не стОит ему ввести ещё одно поле в таблице, которое указывает на этот самый каталог, если их больше одного. Очевидно, что модифицировать код таким образом ТС почему--то не может.

djamen пишет:

сам сайт требует одного катклока.

Ну а про СУБД я конечно сам догадался, используя skill telepat  ae
Просто IRL приходилось с таким сталкиваться.

Cruiser78 пишет:

И с архивированием не вижу проблем. Просто надо бэкапить оригинальные файлы отдельно, а систему ссылок на них (свои виртуальные каталоги) отдельно. Разве сложно отличить линк (сделанный по ln -s) на объект от оригинала?

симлинк конечно не сложно. Но иногда хардлинки куда как удобнее. А вот они неразличимы принципиально. Единственное, что можно придумать - это смотреть inode, и не бекапить уже забекапленное. Конечно, в самописном скрипте можно и это сделать, но... Это, согласитесь - проблема (решаемая конечно).
И да, грипать как раз не надо. Уже давно придумали опции -H, -L, и -P (для find, для других утилит иногда по другому названо).

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

16

drBatty пишет:

И да, грипать как раз не надо. Уже давно придумали опции -H, -L, и -P (для find, для других утилит иногда по другому названо).

Да это то известно. У нас полный консенсус выходит :-). Давай завязывать мозги топикстартеру умными мыслями полоскать. :rolleyes:

17

Cruiser78 пишет:

Да это то известно.

ну.. ИМХО не всем оно известно.

Cruiser78 пишет:

Давай завязывать мозги топикстартеру умными мыслями полоскать.

ОК. посмотрим, что ответят.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

18

Cruiser78 пишет:
djamen пишет:

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

Не совсем понятно - сайт требует размещения десятков гигабайт данных в одном "плоском" каталоге? Кучей? Без возможности иметь там подкаталоги? В топку такой сайт.
Или введение там подкаталогов допустимо? Тогда что мешает смонтировать дополнительный диск (и не один) прямо в нужное место и увеличить этим емкость данных подкаталогов для размещения данных? Или смонтировать его  в стандартный /mnt и сделать на него из нужного места обычные симлинки?

Смотрите что бы было понятно. На сайте очень много музыки- по жанрам(категориям). Сам музыкальный компонент проигрывает музыкальные файлы из папки которая должна лежать в корне сайта...
Есть много видео файлов загруженные самим и пользователями, этот компонент тоже работает из корня сайта. И выносить аудио и видео файлы, за корень сайта не получается.  Если смогу переадресовать загрузку файлов на другие харды, то проблем не будет. Но не просто это все...

19

djamen пишет:

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

а в чём проблема? ИМХО вам проще поправить движок, чем мучится с такой кривой архитектурой.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

20

Да если существует такая возможность как смонтировать свободные харды в указанное место(у меня 3 папки), то помогите  грамотно подойти к этому делу. Было бы проще нарастить объем нужных папок!

21

djamen пишет:

Да если существует такая возможность как смонтировать свободные харды в указанное место(у меня 3 папки), то помогите  грамотно подойти к этому делу. Было бы проще нарастить объем нужных папок!

харды не монтируются, монтируются разделы.
про папки у Дока спроси, он гвоздь забьет лучше.  :lol:
Это если собрался грамотно подходить к делу.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

22

Док ща напишет man fstab ab

23

mvt пишет:

Док ща напишет man fstab ab

Не совсем пока понятно для меня :o . Если не трудно объясните по проще.

24

djamen пишет:

Не совсем пока понятно для меня

http://linuxforum.ru/viewtopic.php?pid=174290#p174290

хотя лучше начать с начала...

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

25

drBatty пишет:

http://linuxforum.ru/viewtopic.php?pid=174290#p174290
хотя лучше начать с начала...

Шаг 1: mount ...
Шаг 2: ln -s ...
Шаг 3: пьем пиво и наслаждаемся результатом.

26

Cruiser78 пишет:

Шаг 2: ln -s ...

а это зачем?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

27

drBatty пишет:
Cruiser78 пишет:

Шаг 2: ln -s ...

а это зачем?

Да чтобы поиметь плоскую файловую структуру на один каталог, если оригинальные файлы лежат по разным дискам. Которые смонтированы будут в разные каталоги. Ну, возвращаемся к изначальной задаче - все файлы (где бы они не лежали) должны быть доступны из одного каталога... Здесь - или LVM и расширять до бесконечности файловую систему (пока inode не закончатся), или творить симлинки. Опять же, пока inode не закончатся.

28

Cruiser78 пишет:

или творить симлинки. Опять же, пока inode не закончатся.

больно костыльно - удаляешь файл, получается битая ссылка...

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

29

drBatty пишет:

больно костыльно - удаляешь файл, получается битая ссылка...

Возвращаемся к СУБД. Удаляем файл - в базе битая ссылка. То же самое, только в профиль.

30

Cruiser78 пишет:

Возвращаемся к СУБД. Удаляем файл - в базе битая ссылка. То же самое, только в профиль.

никто не заставляет так удалять.
в любом случае - при удалении строки из СУБД мы получаем N ссылок на связанные файлы, которые нужно удалить
при удалении ссылки - мы просто удаляем ссылку.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)