Настройка файловой системы для настройки производительности Linux
Настройка файловой системы для настройки производительности Linux

напиши впереди


  • Организация заметок, связанных с экзаменами
  • Содержание блога включает в себя, файловую система Распространенные методы настройки
    • Анализ применимых сценариев для различных форматов файловой системы,Параметры формата,Настройка стратегии монтирования бревно
    • файловая система Разделение журналов и данных Конфигурация
    • fstrim освоение космоса
  • Если вы недостаточно понимаете, пожалуйста, помогите мне исправить это.

Не слишком запутывайтесь в настоящем и не беспокойтесь слишком сильно о будущем. Когда вы что-то испытываете, пейзаж перед вами уже не тот, что раньше. —— Харуки Мураками


Система Red Hat RHEL8 Файловая система по умолчанию для запуска: XFS,но Ext4 Это по-прежнему решение для файловой системы, которое можно использовать.

ext4 (Четвертое расширение файловая система): ext4 Это одна из наиболее часто используемых файловых систем в Linux, являющаяся усовершенствованием файловой системы ext3. Он поддерживает большие файлы и разделы большой емкости и обеспечивает лучшую производительность и надежность.

XFS: XFS是一个高производительностьизбревнофайловая система,Первоначально разработан и спроектирован SGI для поддержки больших файловых систем массового хранения данных.,широко используетсяБольшой сервер и высокая производительность вычисленийсреда。Он также поддерживает большую емкостьфайловая системный файл с высокой производительностью и масштабируемостью. относительно EXt4, Поддерживает большую емкость.

  • XFSподдерживать1PBизфайловая система,Размер отдельного файла ограничен8EB
  • Ext4поддерживать50TBизфайловая система,Размер отдельного файла ограничен16TB

Рекомендуемые сценарии файловой системы:

Сценарии, применимые к XFS:

  • Нет конкретного бизнес-сценария: XFS — это общий высокоуровневый система, подходящая для множества различных типов приложений и рабочих нагрузок.
  • Большие серверы: XFS хорошо работает при работе с большими серверами и средами с высокой нагрузкой. Одна из целей его разработки — удовлетворить большие требования к хранению данных.
  • Большие устройства хранения: XFS подходит для управления устройствами хранения большой емкости и может эффективно обрабатывать большие объемы данных.
  • Большие файлы: XFS очень эффективен для обработки больших файлов (таких как видеофайлы, файлы библиотек и т. д.) и может поддерживать отдельные файлы очень больших размеров.
  • Многопоточный ввод-вывод: XFS хорошо работает при обработке многопоточного ввода-вывода и может обрабатывать несколько одновременных операций чтения и записи одновременно.

ext4 применимые сценарии:

  • Небольшие файлы: ext4 хорошо работает при обработке небольших файлов и может быстро обрабатывать большое количество небольших файлов.
  • Однопоточный ввод-вывод: ext4 очень эффективен для однопоточных операций ввода-вывода (например, последовательного чтения и записи одним приложением).
  • Ограниченные возможности ввода-вывода: если возможности ввода-вывода системы ограничены (например, при более низком IOPS (операций ввода-вывода в секунду) или ограничениях пропускной способности), ext4 может обеспечить хорошую производительность.
  • Ограниченная пропускная способность: если пропускная способность системы ограничена (например, из-за ограничений сетевой передачи или устройств хранения), ext4 может эффективно использовать доступную пропускную способность.
  • Обязательность бизнеса ЦП: ext4 имеет хорошую производительность для бизнеса обязательности, который выполняется на конкретном ЦП (например, виртуализированные среды или контейнеры).
  • Поддержка автономного сокращения: ext4 поддерживает онлайн-файлы. система сжатия, что полезно, когда нужно освободить место для хранения данных

Фстрим освоение космоса

Когда система просит жесткий диск записать 3G данныечас,Жесткий диск фактически скопирует данные,Но удалите данные,тогда просто дайФайл помечен тегом(Итак, скопируйтеданныеочень медленно,Удаление данных чрезвычайно быстрое).

твердотельный накопительНужно стереть староеданныенаписать новыйданные,Новый SSD,Есть много свободного места,данные Скорость записи относительно высокая,Но по мере увеличения количества использования,Многие пользователи данных удалили его.,Но для контроллеров хранения,Эти данные все еще там,Когда вам нужно записать новые данные,сначала нужно стереть старую

использоватьfstrimМожетпереработкаужеустанавливатьизфайловая система Все вышеперечисленноеиспользоватьизкусок,XFSиext4Всеподдерживатьfstrim,fstrimЗаказ обычно необходимо запускать с правами суперпользователя (root).

RHEL поддерживает несколько методов переработки:

  • Batch discard:Вручную выполнить по мере необходимости fstrim Заказ fstrim /mountoint
  • Scheduled batch discard: использовать fstrim.timer Черновое выполнение запланированных задач fstrim Заказ, выполняемый во всех точках монтирования каждую неделю, должен запустить запланированный план. systemctl enable --now fstrim.timer
  • Online discard: mount устанавливатьфайловая система определяется, когда discard свойство,файловая системаонлайн реальныйчасзапускаться автоматическипереработка
    • mount -o discard /dev/device /mountpoint
    • fstab Конфигурация в dev/device /mountpoint xfs defaults,discard 0 0

Второй способ, /usr/sbin/fstrim -av Используется для одновременного освобождения пространства во всех смонтированных файловых системах. fstrim Заказ.

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[/var/lib/libvirt/images]
└─$systemctl   enable   --now    fstrim.timer
Created symlink /etc/systemd/system/timers.target.wants/fstrim.timer → /usr/lib/systemd/system/fstrim.timer.
┌──[root@liruilongs.github.io]-[/var/lib/libvirt/images]
└─$systemctl cat fstrim.timer
# /usr/lib/systemd/system/fstrim.timer
[Unit]
Description=Discard unused blocks once a week
Documentation=man:fstrim

[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true

[Install]
WantedBy=timers.target
┌──[root@liruilongs.github.io]-[/var/lib/libvirt/images]
└─$systemctl cat fstrim.service
# /usr/lib/systemd/system/fstrim.service
[Unit]
Description=Discard unused blocks

[Service]
Type=oneshot
ExecStart=/usr/sbin/fstrim -av
┌──[root@liruilongs.github.io]-[/var/lib/libvirt/images]
└─$

Red Hat рекомендует использовать запланированное задание для еженедельной переработки или выполнять операции по переработке вручную по мере необходимости.

Параметры форматирования файловой системы

XFS

inode size: Если вам нужно использовать Расширенные атрибуты XFS,Рекомендуется изменить индексный дескриптор 256 Байты по умолчанию. Изменить размер на 512 байт.

Язык кода:javascript
копировать
mkfs.xfs   -i  size=512   /dev/mydevice

block size: block size Значение по умолчанию: 4096 байт,увеличьте это значение Можетуменьшать I/O раз для улучшения производительности

Язык кода:javascript
копировать
mkfs.xfs -n size=8192 /dev/mydevice

RAID Alignment

d возможность указать файлы системаизразмер блока данных и ширина полосы данных блока

Язык кода:javascript
копировать
mkfs.xfs -d su=512k,sw=2 /dev/myraid

ext4

inode size: в случаенебольшие файлыСлучаи применения,и не требует использования расширенных атрибутов,но Можетуменьшатьinode значение размера, измените значение по умолчанию 256 байт

Язык кода:javascript
копировать

mkfs.ext4  -I  128   /dev/mydevice           //заглавная буква я

extra_isize

Включить расширение metadata,Он включен по умолчанию,еслиразмер инода меньше 256байт,Расширение не требуется,используйте заказ ниже, чтобы отключить эту функцию

Язык кода:javascript
копировать
mkfs.ext4  -O  ^extra_size   /dev/mydeivce

large_dir

Включение этой опции может увеличить количество файлов в каждом каталоге. По умолчанию эта опция не включена.

Язык кода:javascript
копировать
mkfs.ext4  -O  large_dir    /dev/mydevice

huge_file

Поддерживает файлы размером более 2 ТБ. Этот атрибут включен по умолчанию. Для сценариев приложений с небольшими файлами эту функцию можно отключить с помощью следующей команды.

Язык кода:javascript
копировать
mkfs.ext4  -O  ^huge_file     /dev/mydevice

RAID Alignment

Язык кода:javascript
копировать
mkfs.ext4  -E  stride=128,stripe-width=256   /dev/mydevice

Свойства монтирования файловой системы

Общие свойства монтирования

  • atime:Разрешить доступ к файлу обновления ядрачасмежду
  • relatime:если Файл или каталог был изменен,Затем обновите время доступа к файлу,в противном случае,Система обновляет время доступа один раз в сутки,вместо обновлений в реальном времени,Эта опция используется по умолчанию в XFS и ext4файловая. система включена.
  • noatime:Доступ к файлу не обновленчасмежду
  • nodiratime:Не обновлять каталогиздоступчасмежду

XFS Варианты крепления

По умолчанию некоторые параметры монтажа предопределены в RHEL, но есть еще некоторые параметры, которые необходимо включить в зависимости от конкретных сценариев применения.

  • inode64: Размещайте индексные дескрипторы рядом с данными, чтобы сократить время поиска на диске.
  • logbsize=32K:log buffer size,Значение по умолчанию:32KB,Может быть изменено на 64K, 128K, 256K.,logbsize=64K

ext4 Варианты крепления:

i_version:включать64Кусочекinodeподдерживать Функция,Полезно для расширения атрибутов данных элемента.,по умолчанию Долженсвойствоотключениз。journal_ioprio=: Определить журнал Приоритет ввода-вывода, диапазон 0–7, 0 имеет наивысший приоритет.

Управление журналами файловой системы

Файловая система журналов может повысить эффективность восстановления данных. Каждый раз, когда в файловой системе происходят изменения данных, журналы записываются, а записи журнала удаляются после завершения операции ввода-вывода.

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

XFSфайловая системапредоставилnorecovery Варианты крепления,При сипользовании этой опции монтируется файловая система.,бревно будет забанен,устанавливатьXFSфайловая Отключите автоматический процесс восстановления, когда system. Если файловая данные системы не чисты (не cleanly),Будут проблемы с согласованностью данных.,Некоторые файлы или каталоги могут быть недоступны。использоватьnorecoveryПараметрыустанавливатьфайловая систему можно монтировать только для чтения.

Язык кода:javascript
копировать
mount -o norecovery,ro /dev/<device> <mountpoint>

Ext3/Ext4файловая системаизбревно,Можно разделить на три режима работы.,Можетсуществоватьmountустанавливатьчас,использоватьданные = параметры режимаопределять。Файл находится вext4файловая система Хранится в двух частях.:metadataиdata,metadataиdataизбревно Управляется отдельноиз。

Режим по умолчанию ordered

  • ordered:В этом режиме,Записывайте только краткую информацию о юанях.,без записи краткости данных。при продолжениифайловая системадействоватьчас,файловая система сначала запишет на диск данные, которые необходимо изменить.,Затем запишите соответствующий элемент бревно данных. Это гарантирует, что перед записью бревно данных элемента,Соответствующие данные были сохранены на диске. Эта модель обеспечивает лучшую согласованность данных и хорошую производительность.
  • writeback:В этом режиме,Записывайте только краткую информацию о юанях.,Вместо записи кратких данных. Отличается от заказанного режима,файловая системав ходе выполненияфайловая системадействоватьчас,Измененные данные сначала будут записаны в кеш памяти (а не записаны непосредственно на диск).,Затем запишите соответствующий элемент бревно данных. Данная модель имеет более высокую производительность.,Потому что данные быстрее записываются в кеш памяти.,Но это также снижает согласованность данных.,Потому что данные, возможно, еще не были записаны на диск.
  • journal:В этом режиме,Предоставим полные данные и краткие записи данных в юанях. Все новые данные сначала будут записываться кратко.,Затем напишите его конечное положение. согласованность данных является лучшей в этом режиме,Потому что в случае сбоя или сбоя системы,Бревно может быть воспроизведено для восстановления согласованности данных элемента данных. Однако,По сравнению с первыми двумя режимами,производительность в журнальном режиме хуже,Потому что каждая операция записи должна сначала записать бревно.

Разделение журналов и данных

по умолчаниюXFSиext4файловая системаодеялосоздаватьчас,бревнобудет размещен сфайловая система на связанных устройствах,Когда происходит большое количество случайных записей,дискиздавление ввода-выводаотносительно большой,нас Можетдобавивбревноиданныеразделениеиз Способ,来уменьшатьдискиздавление ввода-вывода,улучшатьданные Читай и пишипроизводительность。

Отсоединить при форматировании и монтаже

создаватьXFSфайловая системачас,Можетиспользоватьlogdevспецификация опциибревнооборудование:

Используйте -l (строчная L), чтобы указать параметр журнала, установите диск журнала на sdd1 через logdev и sdc1 в качестве основного диска файловой системы.

Язык кода:javascript
копировать
mkfs -t  xfs  -l  logdev=/dev/sdd1   /dev/sdc1

При монтировании также необходимо указать расположение лог-диска:

Язык кода:javascript
копировать
mount  -o  logdev=/dev/sdd1   /dev/sdc1  /mnt

Как файловая система Ext4 определяет независимые диски журналов:

В отличие от XFS, файловая система ext4 не может указывать независимое устройство журнала при монтировании.

Создать бревно диск,block размер 4 КБ

Язык кода:javascript
копировать
mkfs  -t  ext4  -O  journal_dev   -b  4096   /dev/sdd1   

Создайте основную файловую систему sdc1 и укажите устройство журнала как sdd1.

Язык кода:javascript
копировать
mkfs  -t  ext4  -J  device=/dev/sdd1   -b  4096   /dev/sdc1   

Уведомление:

ext4Расширятьбревнофайловая система Требовать,бревнофайловая системаиз block Размер должен соответствовать размеру файла владельца системаизblockтот же размер!Рекомендуется использовать лучшие практики при принятии решений.файловая Создать бревнофайловую систему одновременно с системой система。

Отдельные данные журнала в системе ext4, в которой уже есть журналы.

Предположим, что sdc1 — это диск данных 4G, а sdd1 — устройство регистрации 128 МБ.

将一个уже经存существоватьизext4в системеизбревно Преобразовать в автономныйизбревнооборудование,Сначала нужно проверить существующие файлы Размер блока системы:

tune2fs это инструмент для корректировки и изменения Ext2、Ext3 и Ext4 Инструмент командной строки для параметров файловой системы. Используя Tune2fs вы можете изменить файлы система различных атрибутов и опций для удовлетворения конкретных потребностей.

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[/var/lib/libvirt/images]
└─$tune2fs -l /dev/sdc1

… …
Block size:               4096
… …

Создайте файловую систему журнала того же размера, создайте файловую систему Ext4 на /dev/sdd1 и включите функцию журнала.

Язык кода:javascript
копировать
[root@serverX ~]# mkfs  -t  ext4  -O journal_dev   /dev/sdd1

Отключите файловую систему: это отключит файловую систему /dev/sdc1 для последующих настроек файловой системы.

Язык кода:javascript
копировать
[root@serverX ~]# umount   /dev/sdc1

Измените характеристики файловой системы: удалите существующие характеристики журнала из файловой системы /dev/sdc1, чтобы к ней можно было добавить новое устройство журнала.

Язык кода:javascript
копировать
[root@serverX ~]# tune2fs  -O  '^has_journal'   /dev/sdc1          

Добавьте устройство журнала. Добавьте устройство журнала в файловую систему /dev/sdc1 и используйте /dev/sdd1 в качестве устройства журнала.

Язык кода:javascript
копировать
[root@serverX ~]# tune2fs  -j  -J  device=/dev/sdd1   /dev/sdc1
#-j Добавить устройство бревно, -J Укажите параметры бревно устройства

Ссылка на часть сообщения в блоге

© Авторские права на ссылки в этой статье принадлежат оригинальному автору. Если есть какие-либо нарушения, пожалуйста, сообщите нам :)


《 Red Hat Performance Tuning 442 》


© liruilonger@gmail.com, 2018–2024. Все права сохранены. Attribution-NonCommercial-ShareAlike (CC BY-NC-SA 4.0).

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.