FreeNAS to specjalna edycja mocno stuningowanego FreeBSD (niekoniecznie najnowszego), z dodatkowym interfejsem WWW do świadczenia usług typowych dla NAS.
musiałem ostatnio w pośpiechu migrować swojego NASa Synology 1815+, który po prostu pewnego dnia powiedział ’nie’. na nic zdały się resety, magiczne zabiegi oraz fora w internecie. ku mojemu zdziwieniu, na nic również zdał się kontakt z serwisem - ponieważ sprzęt został kupiony trzy lata temu, serwis w zasadzie wysłał mnie na drzewo.
udało mi się zatem na szybko (dzięki pomocy kolegi z firmy) poskładać serwer z dwunastoma zatokami 3.5" (na razie ceny i dostępność dużych dysków 2.5" nie są specjalnie zachęcające, a ja miałem 5 dysków 3.5" 8TB z których chciałem w najgorszym przypadku zgrać dane). sam serwer oparty jest o leciwą już dwuprocesorową płytę główną oraz Intela z serii L5100. z 64GB RAMu, kartą LSI/Avago, jednym procesorem (do drugiego należałoby zdobyć gdzieś radiator) oraz kartą 2x10GE Intela wydawał się doskonałą platformą ’na szybko'.
przy kopiowaniu danych (na szczeście RAID Synology to po prostu linuksowy mdadm), okazało się jednak, że wydajności, które osiągam nijak nie pasują nawet do interfejsu 1GE - w porywach udawało mi się uzyskać 5-8MB/s. spodziewałem się minimum 40-50MB/s.
okazało się (co gorsza!), że problem występuje tylko z moimi Macami - na szybko podpięty Windows syna pokazał transfer dużo szybszy. test iozone
na samym zpoolu pokazał wydajność dochodzącą w szczycie do 1.8GB/s zapisu (!), więc wąskim gardłem nie był sprzęt ani sieciówka.
po krótkim szukaniu okazało się, że gdzieś w okolicach 10.11 a na pewno w 10.12, Apple włączyło domyślne podpisywanie transferów plików. po stronie MacOSa pomogło zatem utworzenie pliku /etc/nsmb.conf
z następującą zawartością:
[default]
signing_required=no
zgodnie z przewidywaniami, transfery skoczyły do przodu.
przy okazji, testując własny zpool zanim cokolwiek na niego skopiujemy, polecam test za pomocą iozone
- poniżej moje dwa zrzuty testowe:
NAS Supermicro X7DWN+ z 1x Intel L5410, 64GB RAM oraz dyskami 6TB SAS-NL:
[nas-sm] /mnt/NAS1# iozone -r 4k -r 8k -r 16k -r 32k -r 64k -r 128k -s 6g -i 0 -i 1 -i 2
Iozone: Performance Test of File I/O
Version $Revision: 3.420 $
Compiled for 64 bit mode.
Build: freebsd
[...]
random random bkwd record stride
KB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
6291456 4 261909 255345 549038 401339 452786 48915
6291456 8 396697 433427 931759 487612 205072 97257
6291456 16 547734 636609 916650 1194955 1044234 192036
6291456 32 745164 777867 1434388 1528539 1393854 368684
6291456 64 808533 970761 1451103 1628199 1683541 710410
6291456 128 1145286 1086414 1839831 1792634 1803086 1118462
NAS UCS 220M3, 2x 2620v0 CPUs, 128GB RAM i dyski 1TB SATA:
[nas-ucs] /mnt/mynas/Archiwum# iozone -r 4k -r 8k -r 16k -r 32k -r 64k -r 128k -s 6g -i 0 -i 1 -i 2
Iozone: Performance Test of File I/O
Version $Revision: 3.420 $
Compiled for 64 bit mode.
Build: freebsd
[...]
random random bkwd record stride
KB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
6291456 4 394139 404769 1005233 1007813 739097 196150
6291456 8 750613 745270 1443495 1444492 1137908 370932
6291456 16 1118422 1277549 2449371 2470986 2137159 731327
6291456 32 1664840 1830702 3156016 3169518 2886760 1236156
6291456 64 1991792 2542784 3543324 3713447 2652984 1989392
6291456 128 3226104 2954095 3928567 3950061 3923658 2983169