LINUX.ORG.RU
Ответ на: комментарий от anonymous

Defragmentation

There is no online ext3 defragmentation tool working on the filesystem level. An offline ext2 defragmenter, e2defrag, exists but requires that the ext3 filesystem be converted back to ext2 first. But depending on the feature bits turned on the filesystem, e2defrag may destroy data; it does not know how to treat many of the newer ext3 features.[4]

There are userspace defragmentation tools like Shake[2] and defrag[3], which work by copying each file and hoping the newly allocated file was not fragmented. However this only works if the filesystem is reasonably empty, and such filesystems are not usually fragmented. A true defragmentation tool does not exist for ext3 [4].

(c) http://en.wikipedia.org/wiki/Ext3

isden ★★★★★
()

прогони fsck.ext3 - он в конце работы показывает процент фрагментированных файлов

Deleted
()
Ответ на: комментарий от dn2010

>Если свободное место на разделе не заканчивалось, то фрагментации особо нет.

Многие знания - многие печали :D

KRoN73 ★★★★★
()
Ответ на: комментарий от marsijanin

>http://www.linux.org.ru/books/lor-faq/lorFAQ-16.html#ss16.34

Однако, 4.2 :D

Я уже промолчу про то, fsck на некоторых разделах и 20% покажет, я только посоветую просидевшим более года на одном разделе сделать "дефрагменатцию через mv" на другой раздел. Будет такое ощущение, что с велосипеда на байк пересел :)

Мало того, что сами по себе файлы, всё же, фрагментируются, особенно при использовании дисков "под завязку", так ещё есть не менее вредная штука - фрагментация свободного пространства и расползание файлов по диску. Когда программе при запуске во время сбора .so-шек придётся всю поверхность обшарить - тут сразу и станет понятно, что к чему :D

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

>а вот для xfs есть онлайн дефрагментатор

Онлайн-то он, может, и онлайн, но мне никогда не удавалось его запустить на примонтированном томе. А если я том отмонтировать могу, то гораздо эффективнее "дефрагментация через mv" :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> "дефрагментация через mv"

А можно подробнее старому виндузятнику объяснить, как это делать, чтобы ненароком чего-нибудь не поломать (вроде пермишинсов и т.п.)?

Допустим, есть раздел с /usr, и есть раздел с /home на котором достаточно места, чтобы вместить содержимое /usr. Какие действия я должен предпринят, могу ли я это делать и работающей системы?

anonymous
()
Ответ на: комментарий от anonymous

>могу ли я это делать и работающей системы?

Из работающей системы и системный раздел - нет. Разделом никто пользоваться не должен. Т.е., либо он несистемный, либо грузишься с LiveCD/DVD с Linux и работаешь с него.

Делаешь просто, скажем, "mv /mnt/old_usr/* /mnt/new_usr/" и всё. Одновременно тебе и дефрагментация файлов, и свободного пространства. Потом, соответственно, или указываешь для основной системы в fstab'е новое положение раздела, или делаешь mv назад.

Если переносить будешь на Linux-файловую систему, то пермишны все сохранятся.

Если ждать скучно, можно mv запускать с ключиком '-v', тогда он будет писать имя каждого выводимого файла. Но это несколько замедлит процесс :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

>Онлайн-то он, может, и онлайн, но мне никогда не удавалось его запустить на примонтированном томе.

Запускал и не раз.
$ df -h /home
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-home   53G   41G   13G  78% /home

$ sudo /usr/sbin/xfs_db -r -c frag /dev/mapper/vg0-home
Password:
actual 80868, ideal 78139, fragmentation factor 3.37%

$ sudo /usr/sbin/xfs_fsr -t 600 /dev/mapper/vg0-home
/home start inode=0

[через 10 мин]

$ sudo /usr/sbin/xfs_db -r -c frag /dev/mapper/vg0-home
actual 78838, ideal 78140, fragmentation factor 0.89%

anonymous
()
Ответ на: комментарий от anonymous

Хм. Значит, я тормозил где-то. Запустилось.

Первый отчёт был страшный :D

# xfs_db -r -c frag /dev/mapper/balvg-home
actual 1514330, ideal 1031796, fragmentation factor 31.86%

...

К вопросу о том, что FS не фрагментируются... :D

XFS частично оправдана ;)

KRoN73 ★★★★★
()
Ответ на: комментарий от sin_a

>повторю свою ссылку

А я повторю, что достаточно один только раз "дефрагментировать через mv" свою систему, чтобы понять полную несостоятельность таких статей :D Под Windows - ситуация такая же. Свободно летим в LockOn или бежим по прямой в Lineage II. Периодически имеем подвис на секунду-другую на подгрузке файлов новых территорий. Делаем дефраг PerfectDisk'ом (который, ИМХО, единственный из наследников speedisk, дефрагментирующий не только файлы, но и реорганизующий их) - все подтормозки волшебным образом исчезают. Кстати, это относится только к speedisk/perfectdisk, ибо ни штатный дефраг, ни O&O оптимизирующую реорганизацию файлов не делают и скорость доступа к файлам после их работы может только упасть :D

Эффект можно и на слух заметить, и на глаз. На фрагментированной системе винчестер гораздо дольше трещит и чаще светится его лампочка :)

В общем, я не ленюсь сейчас раз в полгода под Linux переносить систему (обычно связано с апгрейдами/расширениями HDD - делаю "цепной апгрейд") - и система становится на какое-то время просто реактивной :D

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

файловые системы / /var /home /помойка, надо полагать разнесены и места с избытком (кроме последнего)?

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

>файловые системы / /var /home /помойка, надо полагать разнесены и места с избытком (кроме последнего)?

$ mount
/dev/sda3 on / type reiserfs (rw,noatime)
/dev/mapper/balvg-home on /home type xfs (rw)
/dev/mapper/balvg-family on /home/family type xfs (rw)
/dev/mapper/balvg-video2 on /home/video type xfs (rw)
/dev/mapper/balvg-video3 on /home/video3 type xfs (rw)
/dev/mapper/balvg-opt on /opt type reiserfs (rw,noatime)
/dev/mapper/balvg-tmp on /tmp type reiserfs (rw,noatime)
/dev/mapper/balvg-usr on /usr type reiserfs (rw)
/dev/mapper/balvg-usr_portage on /usr/portage type reiserfs (rw,noatime)
/dev/mapper/balvg-distfiles on /usr/portage/distfiles type reiserfs (rw,noatime)
/dev/mapper/balvg-var on /var type reiserfs (rw)

Но это запущенный случай на домашнем сервере :) На десктопе:

# mount
/dev/sda9 on / type reiserfs (rw,noatime)
/dev/sda8 on /var type reiserfs (rw,noatime)
/dev/sda10 on /home type reiserfs (rw)
/dev/sda11 on /usr type reiserfs (rw,noatime)
/var/tmp/tmp on /tmp type none (rw,bind)
usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)
192.168.1.3:/usr/portage on /usr/portage type nfs (rw,hard,intr,rsize=16384,wsize=16384,addr=192.168.1.3)
...
/dev/sda1 on /mnt/windows type fuseblk (rw,noexec,nosuid,nodev,noatime,allow_other,allow_other,default_permissions,blk
size=4096,user=balancer)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Делаешь просто, скажем, "mv /mnt/old_usr/* /mnt/new_usr/" и всё.

За такие советы надо давать по рукам. Ибо что будет с хардлинками и разрежёнными файлами ты, конечно, не задумался ? Переносить надо tar'ом через пайпы, причём с опциями -p и -S.

Darkman ★★★
()
Ответ на: комментарий от Darkman

>Ибо что будет с хардлинками и разрежёнными файлами ты, конечно, не задумался ?

Хм. Не задумывался. Видимо, потому что хардлинков нет, а разряженные файлы ещё никогда не переносились :)

KRoN73 ★★★★★
()
Ответ на: комментарий от sin_a

>и свободного места на треть там наверно есть?

Смотря где. Всякие /usr или, тем более /var - места много свободного. В /home - почти всегда под завязку забито.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Онлайн-то он, может, и онлайн, но мне никогда не удавалось его запустить на примонтированном томе. А если я том отмонтировать могу, то гораздо эффективнее "дефрагментация через mv" :)

Ещё один неудачнег.

Gharik
()

В век рейдов думать о каком-то там "замедлении работы фс из-за фрагментации файлов" - моветон и мракобесие.

Gharik
()
Ответ на: комментарий от Gharik

Извините, но ввек рейдов еще не до всех ноутбуков дошел, вот вытеснят солид стейт диски обычные НЖМД, тогда и поговорим. Да и для обычных десктопов не всегда есть смысл переплачивать 100-150 долларов.

ОБРАЩЕНИЕ КО ВСЕМ! Приведитека все-таки, пожалуйста, коректную последовательность действию по таринию и растариванию ext3-раздела после того как я его подмонтировал с лайд-сиди.

anonymous
()
Ответ на: комментарий от anonymous

1. тебе потребуется еще один раздел размером не менее занятого места на первом.
2. mkdir /mnt/{old,new}
3. mount /dev/$OLD /mnt/old
4. mount /dev/$NEW /mnt/new
5. cd /mnt/old
6. tar cf - . | (cd /mnt/new; tar xvf -)

теперь либо ты монтируешь /dev/$NEW вместо /dev/$OLD (изменить /etc/fstab) или возвращаешь файлы обратно на исходный раздел.

7.  umount /mnt/old
8.  mkfs.ext3 /dev/$OLD
9.  mount /dev/$OLD /mnt/old
10. cd /mnt/new
11. tar cf - . | (cd /mnt/old; tar xvf -)
12. umount /mnt/new /mnt/old
13. reboot

anonymous
()
Ответ на: комментарий от anonymous

Спасибо огромное! Это очень похоже на правду.

З.Ы. Всем принявшим участие в обсуждение выражаю свою благодарность!

anonymous
()
Ответ на: комментарий от KRoN73

В общем, отчёт. Часа за два эти 31.85% упали до 18%. Ещё за два - до 11%. Потом за ночь меньше 11% фрагментация так и не упала, наоборот, с ~11.2% до 11.8% выросла. Таки, дефрагментация через mv нужна :)

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

>Большая активность на разделе?

Не такая, чтобы на 140+Гб постоянно 11% файлов обновлять :) Штуки 3 закачек в rtorrent и штук 5 - в mldonkey.

>Или ты просто неудачнег ;-)

Ага, неудачнег. Надо было ReiserFS ставить, его в LVM уменьшать можно :)

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.