Самый простой способ симулировать отсутствие свободного места на диске? - PullRequest
31 голосов
/ 11 января 2010

Мне нужно протестировать свое веб-приложение в сценарии, в котором не осталось места на диске, то есть я не могу больше записывать файлы.Но я не хочу заполнять свой жесткий диск мусором, просто чтобы убедиться, что на самом деле не осталось места.Я хочу смоделировать эту ситуацию с помощью определенного процесса (на самом деле, приложения PHP).

Действительно, временного запрета записи на диск в процесс должно быть достаточно.

Какой самый простой способсделай это?Я использую Mac OS X 10.6.2 со встроенным пакетом Apache / PHP.Спасибо.

Редактировать : Проверка свободного места на диске не будет надежной, поскольку она может измениться в любой момент.Многие страницы обслуживаются одновременно.При проверке может быть достаточно свободного места, но в тот момент, когда вы что-то действительно пишете, его нет.Кроме того, проверка наличия свободного места на диске потребует изменения кода везде, где я пишу файл, а это не то, что мне нужно :-) Наконец, это решение полностью противоположно тому, что я пытаюсь протестировать: как мое приложение будет себя вести, когдаон больше не может писать.

Ответы [ 13 ]

0 голосов
/ 14 января 2010

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

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

Если вы говорите о томе данных, это ваше приложение only , которое пишет в него? Если какое-либо другое приложение пишет, знаете ли вы , как они могут выйти из строя?

Дисковое пространство в наши дни настолько дешевое, что вам гораздо лучше, если нехватки дискового пространства просто никогда не будет. Вставьте накопитель емкостью 2 ТБ и включите сигнал тревоги, когда он достигнет 50% емкости. Гораздо дешевле реализовать (если у вас нет свободного времени) и гораздо надежнее.

0 голосов
/ 12 января 2010

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

0 голосов
/ 11 января 2010

Везде, где вы получаете оставшееся место на диске, просто закомментируйте его и запустите ваше приложение со значениями замены, такими как 0,1, 0, -1

...