тюнинг FileSystem ((нужен совет профи))

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

тюнинг FileSystem

Сообщение Doka »

сразу скажу что в холи-вар по поводу преимуществ той или иной ФС ввязываться желания нету.
есть желание разобраться в том, на что же влияют пареметры, используемые:
1) при создании ФС (mkfs.*)
2) при монтировани ФС (mount ...)

немного о целях:
есть домашняя файлопомойка на miniITX, самым громким элементом которой является второй HDD (стрекот головок), причём он же - и самый изнашиваемый компонент.
используется этот HDD для работы с емулом/торрентом.
хотелось бы за счёт осознанного включения/отключения опций ФС добиться за счёт некоторого снижения производительности (главное - тишина) и надёжности хранения (есть UPS) добиться меньшей изнашиваемости блока головок диска (диска хватает примерно на 1,5года в режиме 24/7) и меньшего шума (уменьшение числа транзакций).

хотелось бы найти более-менее вменяемое описание опций mkfs:

Код: Выделить всё

$ mkfs.ext3 --help
Usage: mkfs.ext3 [-c|-t|-l filename] [-b block-size] [-f fragment-size]
        [-i bytes-per-inode] [-j] [-J journal-options] [-N number-of-inodes]
        [-m reserved-blocks-percentage] [-o creator-os] [-g blocks-per-group]
        [-L volume-label] [-M last-mounted-directory] [-O feature[,...]]
        [-r fs-revision] [-R options] [-qvSV] device [blocks-count]

$ mkfs.ext4 --help
Usage: mkfs.ext4 [-c|-l filename] [-b block-size] [-f fragment-size]
        [-i bytes-per-inode] [-I inode-size] [-J journal-options]
        [-G meta group size] [-N number-of-inodes]
        [-m reserved-blocks-percentage] [-o creator-os]
        [-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]
        [-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]
        [-T fs-type] [-jnqvFSV] device [blocks-count]

$ mkfs.xfs --help
Usage: mkfs.xfs
/* blocksize */         [-b log=n|size=num]
/* data subvol */       [-d agcount=n,agsize=n,file,name=xxx,size=num,
                            (sunit=value,swidth=value|su=num,sw=num),
                            sectlog=n|sectsize=num,unwritten=0|1]
/* inode size */        [-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2]
/* log subvol */        [-l agnum=n,internal,size=num,logdev=xxx,version=n
                            sunit=value|su=num,sectlog=n|sectsize=num,
                            lazy-count=0|1]
/* label */             [-L label (maximum 12 characters)]
/* naming */            [-n log=n|size=num,version=n]
/* prototype file */    [-p fname]
/* quiet */             [-q]
/* realtime subvol */   [-r extsize=num,size=num,rtdev=xxx]
/* sectorsize */        [-s log=n|size=num]
/* version */           [-V]
                        devicename
<devicename> is required unless -d name=xxx is given.
<num> is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB),
      xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB).
<value> is xxx (512 byte blocks).


не такое как в man, а с рекомендациями и реальными примерами:
"если у вас такая-то система, то того-то того-то эту опцию можно выключить/поставить макс.значение"..

ибо то, что удаётся найти в инете - какие-то обрывки или даже строки пресс-релизов:
Режим без журналирования
Журналирование обеспечивает целостность файловой системы путём протоколирования всех происходящих на диске изменений. Но оно также вводит дополнительные накладные расходы на дисковые операции. В некоторых особых ситуациях журналирование и предоставляемые им преимущества могут оказаться излишними. Ext4 позволяет отключить журналирование, что приводит к небольшому приросту производительности.
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: тюнинг FileSystem

Сообщение rm_ »

самым громким элементом которой является второй HDD (стрекот головок)

http://en.wikipedia.org/wiki/Automatic_Acoustic_Management
man hdparm, ключ -M
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: тюнинг FileSystem

Сообщение Doka »

rm_ писал(а):
11.09.2009 16:50
самым громким элементом которой является второй HDD (стрекот головок)

http://en.wikipedia.org/wiki/Automatic_Acoustic_Management
man hdparm, ключ -M

во до чего техника дошла!.. (с)

штука интересная, но что-то у меня в CentOS 5.3 не работает:

Код: Выделить всё

# hdparm -M /dev/sdb
/dev/sdb:
 HDIO_GET_ACOUSTIC failed: Inappropriate ioctl for device

[root@conroe ~]# hdparm -M /dev/sda
/dev/sda:
 HDIO_GET_ACOUSTIC failed: Inappropriate ioctl for device


PS: hdparm - get/set hard disk parameters - version v6.6
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: тюнинг FileSystem

Сообщение rm_ »

Doka
У Вас SATA, правильно?
Посмотрите в BIOS настройку SATA mode (возможные варианты - что-нибудь в духе Native IDE, Legacy IDE, AHCI) - выставить в AHCI.
Если не поможет, или такого нет, любопытства ради покажите lspci и hdparm -i /dev/девайсы.
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: тюнинг FileSystem

Сообщение Doka »

rm_ писал(а):
11.09.2009 17:09
Посмотрите в BIOS настройку SATA mode (возможные варианты - что-нибудь в духе Native IDE, Legacy IDE, AHCI) - выставить в AHCI.


в БИОСе выставлено:
On-Chip SATA Mode - Enhanced (возможные значения: Disabled, Auto, Combined, Non-Combined)

rm_ писал(а):
11.09.2009 17:09
Если не поможет, или такого нет, любопытства ради покажите lspci и hdparm -i /dev/девайсы.


Код: Выделить всё

 ]# hdparm -i /dev/sd?

/dev/sda:
 Model=WDC WD7500AYYS-01RCA0                   , FwRev=30.04G30, SerialNo=     WD-WCAPT0712608
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50
 BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=?16?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

/dev/sdb:
 Model=WDC WD20EADS-00R6B0                     , FwRev=01.00A01, SerialNo=     WD-WCAVY0406078
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50
 BuffType=unknown, BuffSize=32767kB, MaxMultSect=16, MultSect=?16?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7


Код: Выделить всё

lspci

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)
Never stop thinking..................................................................
Спасибо сказали: