Фрагментация файловой системы

Материал из Xgu.ru

Перейти к: навигация, поиск

Если вы изучаете иностранный язык, прочитайте про скрипт new-words.
Он нужен для того, чтобы найти в тексте неизвестные вам слова и просмотреть их перевод, перед тем как приступать к чтению текста.

Эта статья находится в процессе написания.
Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.


[править] Определение уровня фрагментации

Самый простой способ посмотреть уровень фрагментации файловой системы, использовать программу проверки целостности, fsck:

# /sbin/fsck.ext3 -nfv file.img 
e2fsck 1.41.0 (10-Jul-2008)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

      11 inodes used (0.04%)
       1 non-contiguous inode (9.1%)
         # of inodes with ind/dind/tind blocks: 0/0/0
    8914 blocks used (8.71%)
       0 bad blocks
       0 large files

       0 regular files
       2 directories
       0 character device files
       0 block device files
       0 fifos
       0 links
       0 symbolic links (0 fast symbolic links)
       0 sockets
--------
       2 files

Строчка показывает процент фрагментированных файлов (здесь имеются в виду именно файлы! [1]) в файловой системе:

       1 non-contiguous inode (9.1%)


Измерить уровень фрагментации файлов, находящихся в одтельном каталоге можно при помощи программ filefrag и fibmap, которые работают с файловой системой ext3.

Программа filefrag (из пакета e2fsprogs) показывает насколько сильно фрагментирован файл. Например, для кэша веб-браузера:

%# filefrag ./.mozilla/firefox/*/Cache/_CACHE_003_
./.mozilla/firefox/*/Cache/_CACHE_003_: 247 extents found, perfection would be 1 extent

И для файла /etc/passwd:

%# filefrag /etc/passwd
/etc/passwd: 1 extent found


Скрипт fibmap.pl при помощи fibmap позволяет обойти каталог и увидеть картину в целом:

$ ./fibmap.pl /usr/

  1052   15.7MB    15.28KB /usr/lib/libgcj.so.6.0.0
   868   18.3MB    21.65KB /usr/lib/wireshark/libwireshark.so.0.0.1
   840   20.7MB    25.27KB /usr/lib/libgcj.so.7.0.0
   742   19.9MB    27.48KB /usr/share/gnome-applets/gweather/Locations.xml
   467    4.2MB     9.31KB /usr/share/wireshark/wireshark/wireshark-filter.html
.
.
.
Non-contiguous:
  Files 12670 (1713.5MB, avg. 138.49kB per file), blocks 79184, average block 22.16kB
Contiguous:
  Files 76846 (351.0MB, avg. 4.68kB per file)

Подробнее:

Xentaur
Дисковая подсистема
Linux | FreeBSD

Диски и разделы
Файлы устройств: Блочное устройство | Символьное устройство | Raw-устройство | loop-устройство
Диски: IDE | SATA | SCSI | USB
RAID-массивы: Аппаратный RAID | Linux RAID | FreeBSD RAID
Дисковые разделы: Раздел | MBR | fdisk | parted | disklabel

Управление томами
Логический том | Физический том | Группа томов | Снимок | Клон
device-mapper | dm-ioband | dm-crypt | dm-userspace | multipath
Системы управления томами: LVM | CLVM | EVMS | Btrfs* | ZFS* | AdvFS* | Zumastor

Сетевые хранилища и репликация
Отказоустойчивость: DRBD | Xen + DRBD | ggate + gmirror
Сетевые хранилища: AoE | iSCSI | GNBD

Файловые системы
Монтирование | Проверка целостности | Дефрагментация | Суперблок | inode | Журнал | Кэш | VFS | UUID | FUSE
Локальные: ext3 | ext3cow | ext4 | JFS | Reiser4 | XFS | ZFS | Btrfs | AdvFS | ISO
Сетевые: NFS | CIFS | AFS | POHMELFS
Кластерные: GFS | OCFS2 | Lustre | VMFS

* Btrfs, ZFS и AdvFS — это файловые системы с возможностями управления томами