Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    [РЕШЕНО]Тестирование производительности ZFS внутри контейнера lxc (mysql)

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [РЕШЕНО]Тестирование производительности ZFS внутри контейнера lxc (mysql), Proxmox Виртуальная Среда
     
    TwiX
    Guest
    #1
    0
    15.12.2017 11:24:00
    Привет, я только что создал пул ZFS с одним SSD для тестирования. Затем я создал одну виртуальную машину и один контейнер LXC, используя этот пул ZFS. Так, внутри KVM я провел простой тест: Код: root@debian:~# dd if=/dev/zero of=here bs=4k count=10k oflag=direct 10240+0 записей прочитано 10240+0 записей записано 41943040 байт (42 МБ, 40 Миб) скопировано, 0,891124 с, 47,1 МБ/с. Все нормально, но такой же тест на LXC просто не удался: Код: dd if=/dev/zero of=/root/test bs=4k count=10k oflag=direct dd: не удалось открыть '/root/test': Неправильный аргумент. Без oflag=direct работает: Код: dd if=/dev/zero of=/root/test bs=4k count=10k 10240+0 записей в 10240+0 записей из 41943040 байт (42 МБ, 40 Миб) скопировано, 0.0830864 с, 505 МБ/с. То же самое непосредственно на хосте. Есть ли какие-то ограничения по кэшированию диска для использования zfs с контейнером lxc? Я планирую создать кластер mysql galera, мне лучше использовать KVM или LXC с ZFS? Огромное спасибо!
     
     
     
    IsThisThingOn
    Guest
    #2
    0
    14.04.2023 12:19:00
    Извини, что копаюсь в старом посте, но сейчас я задаюсь тем же вопросом. Мое предположение, что они хотят учесть худший сценарий, а это база данных Postgres, использующая 8к. Но с другой стороны, если я правильно понимаю, то стандартный размер для гостей на Windows и Linux составляет 4к, так почему бы не использовать 4к вместо этого? Какой-то компромисс посередине?
     
     
     
    guletz
    Guest
    #3
    0
    14.04.2023 12:43:00
    Привет, по умолчанию на Linux-гостях будет 512, и я предполагаю, что так же и на Windows. Если речь идет о базе данных, скажем, postgres или любой другой, то поскольку вы будете использовать 8k, тогда 2 блока будут записываться на ZFS, но в основном в разных позициях на жестком диске. Поэтому, когда postgres потребуется перезаписать этот 8k блок, ему придется использовать 2 IOPS, а не 1 IOPS (в случае 8k, тогда эти 2 блока будут размещены в одной и той же области жесткого диска). Удачи!
     
     
     
    IsThisThingOn
    Guest
    #4
    0
    14.04.2023 15:10:00
    Привет, guletz. Не знаю, когда это изменилось, но Proxmox по умолчанию использует 8k для zvol. Чтобы удостовериться, что я правильно понимаю: Postgres использует записи по 8k. Если я использую стандартные 8k, будет одна запись. Если я использую 4k, будет две записи. Если я использую 64k, будет только одна запись, но возникнут фрагментация и увеличение считывания. Похоже, что Windows использует 4k. По крайней мере, это верно для моего Surface. Согласно этому источнику, Windows использует 4k с Windows 7 и даже 8k до 64k для больших дисков. Но для bare metal Windows NTFS фрагментация, вероятно, не является проблемой, потому что он может дефрагментироваться в отличие от ZFS? Что мне непонятно, так это почему TrueNAS выбирает 128k по умолчанию, а Proxmox — 8k. Это потому, что у гостей Windows и Linux много мелких записей по сравнению с TrueNAS, который в основном является NAS? Или большинство гостей вполне справится с 128k, но чтобы перестраховаться, если кто-то использует Postgres внутри VM, они выбирают 8k?
     
     
     
    guletz
    Guest
    #5
    0
    15.04.2023 10:46:00
    Привет, да, это правда. Да, решение — использовать разные разделы с нужным размером блока. По умолчанию zfs записывает блоки в выгодных позициях, и в большинстве случаев фрагментация не является проблемой, которая могла бы повлиять на производительность. Дефрагментацию на файловой системе ОС не рекомендуется проводить, потому что гостевая ОС не может знать, как блоки распределены zfs на дисках. По этой причине я отключаю оптимизацию дисков для Windows-гостей. Если ты хочешь улучшить фрагментацию zfs, ты можешь экспортировать свой пул zfs на внешний пул на другой системе, уничтожить свой пул, а затем вернуть его на оригинальную систему. Это возможно, NAS чаще всего может иметь много дисков, поэтому большой размер блока имеет смысл. Удачи / Bafta!
     
     
     
    Dunuin
    Guest
    #6
    0
    15.04.2023 10:56:00
    И лучше не переполнять ваш пул. Чем больше заполнен ваш пул, тем быстрее он фрагментируется. Вы уверены, что не путаете это с размером записи 128К? Насколько мне известно, TrueNAS по умолчанию использует разные размеры блоков в зависимости от конфигурации вашего пула: https://www.truenas.com/docs/core/coretutorials/storage/pools/zvols/ P.S.: Было бы здорово, если бы PVE могла сделать что-то подобное при создании нового хранилища ZFSPool. Это значительно снизило бы количество запросов в поддержку от людей, жалующихся на то, что их пулы меньше, чем ожидалось, потому что они не понимают, как работает накладные расходы.
     
     
     
    IsThisThingOn
    Guest
    #7
    0
    17.04.2023 22:59:00
    Я довольно уверен, что если ты включишь эмуляцию SSD, Windows не дефрагментирует диск, а только выполняет TRIM, освобождая неиспользуемое пространство для тонко выделяемых дисков. В общем, я перепутал zvol и dataset. Zvol — 16k, а dataset — 128k по умолчанию для TrueNAS. Но если Windows и Linux используют 4k как размер кластера по умолчанию, не было бы лучше установить его на 4k вместо 8k, который сейчас используется по умолчанию в PVE? Или это сделано в PVE из-за того, что я использую зеркало? Я читал о проблеме с дополнением и о том, как сложно правильно настроить это с компрессией, и что с зеркалом для zvols в целом лучше. Но сейчас я не могу это найти. Возможно, хорошая рекомендация для использования зеркала в общем была бы полезна для PVE.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры