LINUX.ORG.RU
ФорумAdmin

Быстродействие NFS c ESXi

 , , , ,


1

2

Всем привет!

Собрал колхозный NAS из мусора, поставил на него CentOS и поднял NFS-сервер.

При монтировании на соседней машине с CentOS скорость записи упирается в сеть. При использовании из ESXi, скорость записи примерно 300Кбайт/с на NFS-поток (8-потоков, примерно 2 Мбайта).

Запись на расшаренный диск на локалхосте порядка 100Мбайт/с.

Возможно разница в том, что CentOS ломится по udp, а ESXi по tcp (я это еще не проверил). Но почему такая маленькая скорость записи в ESXi? Что я делаю не так? Стоит ли попытаться iSCSI ?

Скорость измеряю с помощью `time dd ...`


Ты пытаешься в ESXi использовать NFS датастор? Он принудительно использует синхронную запись, которая включена по дефолту и возможно где-то и лимитирует скорость, попробуй использовать async на сервере. И кстати ради ESXi стоит пощупать NFSv4.

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

Да. В том-то и дело, что соседний центос пишет огранчиваясь только сетью. Но я гляну...

ien
() автор топика
Ответ на: комментарий от Lordwind

Да, все верно. Говорят async вредно для данных. Хотят у меня там УПС стоит... Вроде как esxi 4-ую версию не поддерживает, но я загуглю.

Попробую глянуть еще iSCSI.

Вообще говоря, этот esxi и вся инфраструктура начинает тихо задалбывать, надо искать открытые альтернативы и на них переползать...

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

Дело не в закрытости ESXi, а в том, что он заточен на SAN. Ынтерпрайз же! NFS только v3 (я забыл что v4 ESXi не держит), но async для данных не вредно, оно опасно для критичных виртуалок типа БД и только если NAS во внешней сети. У меня все крутится на одном сервере и собран он из дорогого железа, NAS в виртуальной 10G сети, так async не страшен, но я даже этого себе не позволяю и использую ZFS+ZIL через SSD, получил 35 Мб/с вместо 5 на запись. Есть на хабре статья типа «как я боролся за iops на SAN», там очень хороший разбор полетов применительно к линуксу и тоже все кончилось writecache через SSD, но еще там MTU хитрый (а у меня дефолт). Эта тема требует очень тщательной оптимизации.

Lordwind ★★★★★
()
Последнее исправление: Lordwind (всего исправлений: 1)
Ответ на: комментарий от Lordwind

Дело не в закрытости ESXi, а в том, что он заточен на SAN. Ынтерпрайз же! NFS только v3 (я забыл что v4 ESXi не держит), но async для данных не вредно, оно опасно для критичных виртуалок типа БД и только если NAS во внешней сети. У меня все крутится на одном сервере и собран он из дорогого железа, NAS в виртуальной 10G сети, так async не страшен, но я даже этого себе не позволяю и использую ZFS+ZIL через SSD, получил 35 Мб/с вместо 5 на запись. Есть на хабре статья типа «как я боролся за iops на SAN», там очень хороший разбор полетов применительно к линуксу и тоже все кончилось writecache через SSD, но еще там MTU хитрый (а у меня дефолт). Эта тема требует очень тщательной оптимизации.

Угу, спасибо!

Как я понял, единственный вменяемый путь это ZFS и ZIL на SSD, а async это как сидеть на мине.

Кстати говоря, в случае async-а, если сервер с УПСом, то все не так страшно, если он корректно выключится до того, как закончатся батарейки?

Если кто-то случайно выдернет сетевой кабель, данные не потеряются, т.к. async он между памятью и жестким диском, так?

ien
() автор топика
Ответ на: комментарий от Lordwind

Какой должен быть объем ssd для ZIL ?

Мне нужен какой-то самый дешевый вариант, т.к. я собираю все из мусора =)

Стоит ли накатить zfs для linux, или лучше взять фряху или клон соляриса ?

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

Как я понял, единственный вменяемый путь это ZFS и ZIL на SSD, а async это как сидеть на мине.

только не стоит забывать, что zil на ssd - это не кэш на запись. оно конечно часто помогает, но немного по другим причинам. за подробностями сюда.

или лучше взять фряху или клон соляриса ?

omnios попробуй.

EvgGad_303 ★★★★★
()
Последнее исправление: EvgGad_303 (всего исправлений: 1)
Ответ на: комментарий от ien

Для любой СХД упс обязателен. Синхронная запись нужна чтобы была уверенность, что ты записал правильные данные, а не мусор. А как он может получиться, вариантов много.

Если кто-то случайно выдернет сетевой кабель, данные не потеряются, т.к. async он между памятью и жестким диском, так?

Потеряются как раз данные в памяти, она же энергозависимая, кеш записи сбрасывается на диск в бсд 5 секунд, в линуксе не помню, вроде 10 секунд. SSD ценен тем, что в серверных моделях есть кондер, который при пропаже питания (при использовании диска как кеша записи) сохраняет данные за эти 5-10 секунд и сбрасывает их на диск при восстановлении питания. Это гарантирует непогрешимость данных.

Какой должен быть объем ssd для ZIL?

Скорость записи умножаешь на время жизни кеша и берешь в 2-4 раза больше. На bsd не может быть больше половины объема оперативной памяти. У меня 4 Гб.

Мне нужен какой-то самый дешевый вариант, т.к. я собираю все из мусора =)

Ищи бэушные с SLC любого размера, за новье с MLC я не ручаюсь, главное TLC не брать.

Стоит ли накатить zfs для linux, или лучше взять фряху или клон соляриса ?

По ZOL лучше megabaks спросить. Пока сомневаюсь в стабильности. Я могу только сказать что реализация NFS и iSCSI в bsd сильно уступает и линуксу и соляре, может в 10-й фряхе улучшили, я пока не смотрел.

Lordwind ★★★★★
()

Забудь в данной ситуации о NFS, ZFS и прочих *FS. Тебе нужен iSCSI. Блочное устройство решает, вернее, не создает тех проблем, с которыми тебе предлагают героически сражаться да еще и ssd докупать.

Вместо iscsi можно использовать обычный nbd.

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 3)
Ответ на: комментарий от sdio

И посмотри на возможность "Raw Device Mapping (RDM) to a Virtual Machine"

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

Вместо iscsi можно использовать обычный nbd.

Пишут, что производительность iscsi в те же проблемы упирается. С такой же производительностью, нет ?

ien
() автор топика
Ответ на: комментарий от Lordwind

Потеряются как раз данные в памяти, она же энергозависимая, кеш записи сбрасывается на диск в бсд 5 секунд, в линуксе не помню, вроде 10 секунд. SSD ценен тем, что в серверных моделях есть кондер, который при пропаже питания (при использовании диска как кеша записи) сохраняет данные за эти 5-10 секунд и сбрасывает их на диск при восстановлении питания. Это гарантирует непогрешимость данных.

Я имел ввиду, что при отключении ethernel все будет норм.

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

Пишут, что производительность iscsi в те же проблемы упирается

"Те же" это какие?

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

Тебе нужен iSCSI. Блочное устройство решает, вернее, не создает тех проблем, с которыми тебе предлагают героически сражаться да еще и ssd докупать

Глупость, это транспортный протокол и очень костыльный, очень требовательный к оптимизациям настроек ОС и сети. Он вообще проектировался в расчете на FC и в LAN работает через жопу. У него собственная реализация синхронной записи, поэтому он работает чуть быстрее, чем NFS (по разным замерам около 15%), но если на сервере плохо с иопсами, то даже iSCSI будет буксовать.

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

Стоит ли накатить zfs для linux, или лучше взять фряху

если планируется использовать в качестве хранилища то нет.

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