25.07.2013 12:28
SMak
 
CentOS 6.4 + Oracle
xfs именно под базу (файлов мало и они большие)

на данный момент насобирал вот это:
mkfs.xfs
-b size=65536 (Allocation Block Size, маленьких файлов нет, ставлю максималку)
-d agcount=24 (Allocation groups - параллелим по процам, их 2 по 6 ядер + хипертрединг)
-d su=1m,sw=8m (Stripe Alignment, выравливание блоков данных для записи вроде как для больших рэйдов. В примере 1 мегабайт страйп юнита на 8 винтов, как я понял. Вообще не трогаю, т.к. у меня только зеркала по два винта или десятые по 4)
-i size=512 (т.к. для каждой AG своя таблица inode, то я считаю, что вполне хватит)
-i attr=2 (Version 2 (default) uses a more efficient algorithm for managing the available inline inode space. Короче, так круче выглядит :) )
-n size=65536 (directory block size, подгоняю под Allocation Block Size)
-l logdev=log_device (лог фс на другое устройство, у меня такого нет, пропускаю)
-s size=32768 (Sector Size, максимум)
-L u01 (метка фс, макс. 12 символов)

mount
attr2 (как и выше)
noikeep (по моему это, в моём случае, не влияет ни на что)
nobarrier (потому что рэйд с батарейкой)
noatime (ну а зачем access time файлу бд)

Итог:
Код:
mkfs.xfs -b size=65536 -d agcount=24 -i size=512,attr=2 -n size=65536 -s size=32768 -L u01 /dev/sdb1
Код:
mount -o attr2,noikeep,nobarrier,noatime xfs /u01
у кого какой опыт? или где я не прав?
замечания, предложения? :)

Ссылки по теме:
http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html


25.07.2013 13:15
OlegON
 
Под базу гипертрейдинг надо сразу вырубать и забыть о нем при всех расчетах... nobarrier я бы включал на совсем ненужных системах, поскольку виснет и сама железка, а не только сбой по питанию происходит...
25.07.2013 16:50
SMak
 
насколько я начитался, barrier не поможет если с сервером совсем всё плохо, зато притормозить при многопоточности и/о может сильно
25.07.2013 17:06
OlegON
 
проблема в том, что пишут часто и те, кто btrfs себе на руте поднимает... да, может сильно притормозить, но жалко, если системка расползется... на самом деле можно попробовать nobarrier на точке монтирования файлов данных, а не включать ее на точке с архивлогами и бекапом. там практика и покажет... я у себя нигде не включаю. переставлять не хочется :)
25.07.2013 17:41
SMak
 
Код:
 mkfs.xfs -b size=64k -d agcount=24 -i size=512,attr=2 -n size=64k -s size=4k -L u01 /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=24, agsize=380194 blks
         =                       sectsz=4096  attr=2, projid32bit=0
data     =                       bsize=65536  blocks=9124652, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=65536  ascii-ci=0
log      =internal log           bsize=65536  blocks=4455, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=65536  blocks=0, rtextents=0
изменил запись чисел
и размер сектора не ставит больше 4к
26.07.2013 11:46
SMak
 
ещё раз сокращаем записи...
Учитывая, что: 1. я всё ещё плохо понимаю структуру фс, 2. изменение Block Size и directory block size уменьшает диск с 557G до 98G, 3. оптимальный размер сектора задаёт ещё fdisk, 4. нет никакого внешнего хранилища журналов и прочих мета-данных (можно вынести на отдельную ссд, что даёт большой +), 5. mount перестаёт работать без -f, 6. xfs всё ж по умолчанию оптимизирована под большие файлы :)
то я оставляю только распараллеливание:
Код:
mkfs.xfs -d agcount=24 -L u01 /dev/sdb1
meta-data=/dev/sdb1              isize=256    agcount=24, agsize=6083102 blks
         =                       sectsz=512   attr=2, projid32bit=0
data     =                       bsize=4096   blocks=145994447, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=71286, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
fstab
Код:
LABEL=u01                /u01                xfs                rw,suid,dev,exec,auto,nouser,async,noikeep,noatime,nodiratime                0                0
26.07.2013 11:58
OlegON
 
я все же предпочитаю не писать опции и так выставленные по умолчанию в fstab. трудно будет, если они вдруг поменяют значение при обновлении, устареют и т.п.
т.е. такие, как dev, nouser, async, exec, suid можно выкинуть...
09.09.2013 11:54
leonid
 
Почему XFS и что это дало?
Оракл заявила о поддержке xfs только в начале этого года в дистрибутиве 6.4
09.09.2013 12:50
OlegON
 
Я сравнивал разные ФС. XFS давала наилучшие результаты по плавности IO для БД. Даже ocfs2 со всем геморроем работала хуже. А что касается поддержки, то как бы никто из тестируемых в данном случае не планировал в поддержку обращаться, если что. Ставили же дистры вон какие... Даже федору ставили.
12.09.2013 16:43
leonid
 
Прочитал, что XFS хороша для SSD.
Есть мысль положить FFMapRep на зеркало из 2х SSD.
Часовой пояс GMT +3, время: 06:03.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.