Максимальное количество поддиректорий?

12
R
На сайте с 19.06.2008
Offline
132
2891

Добрый день!

Делаю сейчас проект, в котором у каждого пользователя на сайте создается своя директория. Столкнулся с тем, что на хостинге с Linux используется файловая система ext 3, которая не позволяет создать больше 32,000 поддиректорий в одной папке.

Я попробовал создать 200,000 директорий в одной папке на Маке, все создается. Попробовал у себя на хостинге 1und1, -- не дает создать более 32,000.

Может кто-то сталкивался с такой ситуацией? У всех ли хостингов такая же ситуация? Если это так, тогда придется переписывать движок сайта, чтобы например в "user_group_1" создать 30,000 папок, а затем в "user_group_2" создать еще 30,000 и тд.

Буду рад вашим советам и идеям, спасибо!

А вот php-скрипт который создает любое количество папок в директории:

<?php

$i =0;
while ($i < 40000){
mkdir($i, 0700);
$i++; }
echo $i;
?>
Analitic82
На сайте с 17.01.2009
Offline
70
#1

http://www.opennet.ru/openforum/vsluhforumID1/71342.html

There is a limit of 31998 sub-directories per one directory, stemming from its limit of 32000 links per inode

http://en.wikipedia.org/wiki/Ext3

Как вариант, искать хостера с reiserfs

Pavel.Odintsov
На сайте с 13.05.2009
Offline
169
#2
Analitic82:

http://en.wikipedia.org/wiki/Ext3
Как вариант, искать хостера с reiserfs

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

Pavel.Odintsov добавил 09.05.2010 в 15:45

А вообще - кто мешает сделать так:

user_folders ->

a -> тут все пользователи c логинами на a

b -> тут все пользователи с логинами на b

c

d

...

z

Решение по обнаружению DDoS атак для хостинг компаний, дата центров и операторов связи: FastNetMon (https://fastnetmon.com)
V2
На сайте с 26.03.2010
Offline
41
VH2
#3

Простите rondob - это клиника создавать столько директорий в одной папке. Особенно умилил Ваш php-скрипт - простите это Вы к чему выложили?

10 лет в хостинге. Опыт не купишь. ValueHost in Russia (http://www.valuehost.ru) ValueHost in USA (http://www.valuehost.com) ValueHost Affiliate Program (http://www.hostix.ru)
Apach47
На сайте с 28.10.2008
Offline
74
#4

rondob, ТС, под такую специфическую задачу лучше возьмите сырой vps/didicated и настройте его в соответствии с Вашими параметрами.

И опыт - сын ошибок трудных... И гений - парадоксов труд... И случай бог изобретатель... (А.С.Пушкин)
N
На сайте с 06.05.2007
Offline
419
#5
Pavel.Odintsov:
И делать много-много бэкапов на случай, если Рейзер вылетит

не стоит всему верить что на серче пишут.

сколько лично вы видели разрушенных рейзеров на исправных носителях ? какова была последовательность действий приведших к разрушению ? вы отправили багрепорт? какой был вердикт разработчиков?

Кнопка вызова админа ()
R
На сайте с 19.06.2008
Offline
132
#6
Apach47:
rondob, ТС, под такую специфическую задачу лучше возьмите сырой vps/didicated и настройте его в соответствии с Вашими параметрами.

Да, естественно это будет vps или didicated. А что можно на нем настроить? Поставить OS на ext4 (она не имеет ограничений)?

rondob добавил 09.05.2010 в 19:10

Pavel.Odintsov:


Pavel.Odintsov добавил 09.05.2010 в 15:45
А вообще - кто мешает сделать так:

user_folders ->
a -> тут все пользователи c логинами на a
b -> тут все пользователи с логинами на b
c
d
...
z

мешает то, что только на "a" может быть 75,000 юзеров.

Pavel.Odintsov
На сайте с 13.05.2009
Offline
169
#7
rondob:
Да, естественно это будет vps или didicated. А что можно на нем настроить? Поставить OS на ext4 (она не имеет ограничений)?

В ext4 лимит лишь чуть больше - 64000.

Pavel.Odintsov добавил 09.05.2010 в 19:14

rondob:

мешает то, что только на "a" может быть 75,000 юзеров.

Ну продлите логику, папка a =>

aa

ab

ac

ad

ae

az

А если и так будет мало, то aaa, aab, aac итд. Это стандартное решение проблемы.

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

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

Конечно, переписать скрипт тоже можно...

N
На сайте с 06.05.2007
Offline
419
#9
надо сделать свою файловую систему на серверах баз данных. И это не сверзадача.

Pilat, Ганс, разве вас уже выпустили?

нет, вы действительно ради одного сайта даже и на 100 тыс пользователей стали бы создавать файловую систему ?

Это в какой компании так расбрасываются деньгами и человеко-часами?

kosenka
На сайте с 02.12.2007
Offline
122
#10
rondob:
Делаю сейчас проект, в котором у каждого пользователя на сайте создается своя директория. Столкнулся с тем, что на хостинге с Linux используется файловая система ext 3, которая не позволяет создать больше 32,000 поддиректорий в одной папке.

может мое решение и не очень хорошее, но я сделал так:

/files/[год_регистрации_юзера]/[месяц_регистрации_юзера]/[id_юзера]/[файлы_юзера]

т.е. получиться так:

/files/2010/01/1311/...

/files/2010/01/2311/...

/files/2010/02/11311/...

/files/2011/03/111311/...

и т.д.

p.s. не думаю, что будет больше 32.000 регистраций в месяц

12

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