LinuxForum.Fans
Тема

Как быстро забить свободное место на диске

Автор: axe 11 сообщений 4965 просмотров
#329855

В тестовых целях надо забить всё свободное место на диске. С внешней помощью мне удалось составить следущее выражение:

text
dd if=/dev/urandom of=./vrem.txt bs=1 count=1 seek=`df -k | awk '{print $3}'| sed -n '3 p'`K

создаётся файл на 23Gb, что соответствует свободному месту. Но df -h уменьшения свободного места не замечает.

Как забить свободное место на диске?

#329872

Забить - это не проблема, вот освободить бывает гораздо труднее.
Например, с помощью команды dd нулями из /dev/zero.

Пётр.

#329875

"axe⇓" написал:
Как забить свободное место на диске?
Не использовать "seek="? Нормальные файловые системы поддерживают файлы с "дырками" (sparse -- Разрежённый файл), как раз ваш случай, создаётся файл с "дыркой" в начале, дисковое пространство под него не выделено, что подтверждает размер свободного места.
#329876
text
 dd if=/dev/zero of=./vref.txt ibs=1024 count=`df -k | awk '{print $3}'| sed -n '3 p'`

в-принципе место забивается, но не так быстро, как хотелось бы

#329877

Попробовал с мегабайтами:

text
 dd if=/dev/zero of=./vref.txt ibs=1048576 count=`df -m | awk '{print $3}'| sed -n '3 p'`

получается не шибко быстрее. Видимо, ограничение в скорости винчестера.

#329878
bormant написал:
Нормальные файловые системы поддерживают файлы с "дырками" (sparse -- Разрежённый файл)

Спасибо за науку!

#329919

я просто делаю dd if=/dev/zero of=/temp.zero ; rm -f /temp.zero

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

отличный способ сократить размер виртуального диска qcow2 например - qemu-img convert как раз умеет дедупликацию нулей

#329928

Извиняюсь за отступление от темы но очень напомнило мою жизненную ситуацию.
когда то добрался до ssh одного плохого человека, нашел папку с большим объемом и написал скрипт который просто попировал по расписанию. Вот умора была :)

#329986
"dyasny⇓" написал:
отличный способ сократить размер виртуального диска qcow2 например - qemu-img convert как раз умеет дедупликацию нулей

это стандартный способ и не очень продуктивный... лучше так:
1. Сжать ФС до минимума resize2fs -M.
2. Забить остаток раздела нулями.
3. Сжать диск
4. resize2fs'ом развернуть обратно.

на виртуалбоксе есть ещё пара способов экономии места на временных файлах и свопе... как с этим у qemu сейчас — не скажу...

#329991
"axe⇓" написал:
dd if=/dev/zero of=./vref.txt ibs=1024 count=`df -k | awk '{print $3}'| sed -n '3 p'`
в-принципе место забивается, но не так быстро, как хотелось бы

Не понял почему используется $3 а не $4
Третья колонка вывода команды df -k вроде показывает сколько использовано а не доступно.

#330026
Fat-Zer написал:

это стандартный способ и не очень продуктивный... лучше так:
1. Сжать ФС до минимума resize2fs -M.
2. Забить остаток раздела нулями.
3. Сжать диск
4. resize2fs'ом развернуть обратно.

на виртуалбоксе есть ещё пара способов экономии места на временных файлах и свопе... как с этим у qemu сейчас — не скажу...

оно то конечно и не продуктивно, зато не зависит от используемой фс :) а у меня в тестовых ВМ такой зоопарк иногда бывает что закачаешься. хотя нет, бывал а не бывает :)

Войдите или зарегистрируйтесь, чтобы ответить.