Karl B является правильной апачской страницей состояния, поможет Вам много. Проверьте, не ли запрос зарегистрирован errorlog. Могло случиться так, что количество активного запроса достигло максимального количества, указанного в апачском конфигурационном файле. Посмотрите, является ли MaxClients более крупным, чем:
sudo netstat -tnp|egrep -c 'apache|http'
Сводка
Риски использования LVM:
Первые два объединения проблем LVM: если кэширование записи не работает правильно, и у Вас есть потери мощности (например, PSU или сбои UPS), Вам, вероятно, придется восстановиться с резервного копирования, имея в виду значительное время простоя. Основной причиной для использования LVM является более высокое время работы (при добавлении дисков, изменении размеров файловых систем, и т.д.), но важно получить настройки кэширования записи, корректные для предотвращения LVM, на самом деле уменьшающего время работы.
- Обновленный декабрь 2019: незначительное обновление на btrfs и ZFS как альтернативы снимкам LVM
Снижение рисков
LVM может все еще работать хорошо если Вы:
Подробнее
Я исследовал это вполне немного в прошлом, испытывавшем некоторую потерю данных, связанную с LVM. Основные риски LVM и проблемы, о которых я знаю:
Уязвимый для записи жесткого диска, кэширующейся из-за гипервизоров VM, кэширования диска или старых ядер Linux, и, мешает восстанавливаться, данные из-за более сложных дисковых структур - видят ниже для деталей. Я видел, что полные установки LVM на нескольких дисках повреждаются без любого шанса восстановления, и LVM плюс кэширование записи жесткого диска является опасной комбинацией.
data=ordered
опция (или data=journal
для дополнительной безопасности), плюс barrier=1
гарантировать, что кэширование ядра не влияет на целостность. (Или используйте ext4, который включает барьеры по умолчанию.) Это - самая простая опция и обеспечивает хорошую целостность данных за счет производительности. (Linux изменил значение по умолчанию ext3 опция к более опасному data=writeback
некоторое время назад не полагайтесь на настройки по умолчанию для FS),hdparm -q -W0 /dev/sdX
для всех дисков в /etc/rc.local
(для SATA) или использование sdparm для SCSI/SAS. Однако согласно этой записи в FAQ XFS (который очень хорош по этой теме), диск SATA может забыть эту установку после восстановления ошибки диска - таким образом, необходимо использовать SCSI/SAS, или если необходимо использовать SATA, затем помещает команду hdparm в задание крона, работающее каждую минуту или около этого.Хранение кэширования записи включило для производительности (и преодоление лежащих дисков)
Более сложная, но производительная опция состоит в том, чтобы сохранить SSD / кэширование записи жесткого диска включило, и полагайтесь на барьеры записи ядра, работающие с LVM на ядре 2.6.33 + (перепроверка путем поиска сообщений "барьера" в журналах).
Необходимо также удостовериться, что установка RAID, установка гипервизора VM и барьеры записи использования файловой системы (т.е. требует диска сбросить незаконченные записи прежде и после ключевых записей метаданных/журнала). XFS действительно использует барьеры по умолчанию, но ext3 не делает, таким образом, с ext3 необходимо использовать barrier=1
в опциях монтирования, и все еще используют data=ordered
или data=journal
как выше.
SSD проблематичны, потому что использование кэша записи очень важно для времени жизни SSD. Лучше использовать SSD, который имеет суперконденсатор (для включения сбрасывания кэша на сбое питания, и следовательно позвольте кэшу быть обратной записью не, пишут - через).
Усовершенствованная установка диска Формата - кэширование записи, выравнивание, RAID, GPT
pvcreate
выровнять PVs. Этот поток почтовой рассылки LVM указывает на работу, сделанную в ядрах в течение 2011 и проблемы частичных записей блока при смешивании дисков с 512-байтовыми и секторами на 4 кибибайта в единственном LV. Тяжелее восстановить данные из-за более сложных дисковых структур:
/etc/lvm
, который может помочь восстановить базовую структуру LVs, VGs и PVs, но не поможет с потерянными метаданными файловой системы.Тяжелее для изменения размеров файловых систем правильно - легкое изменение размеров файловой системы часто дается как преимущество LVM, но необходимо работать, полдюжины команд оболочки для изменения размеров LVM основывали FS - это может быть сделано с целым сервером все еще, и в некоторых случаях с FS смонтировался, но я никогда не буду рисковать последним без актуальных резервных копий и использующих команд, предварительно протестированных на эквивалентном сервере (например, клон аварийного восстановления рабочего сервера).
lvextend
поддерживайте -r
(--resizefs
) опция - если это доступно, это - более безопасный и более быстрый способ изменить размер LV и файловой системы, особенно если Вы уменьшаете FS, и можно главным образом пропустить этот раздел.resize2fs
для ext3, и к lvextend
или lvreduce
. Без большого ухода размеры могут немного отличаться из-за различия между 1 ГБ (10^9) и 1 гибибайтом (2^30), или способ, которым различные инструменты округляют в большую сторону размеры или вниз.Кажется, что размер LV должен быть больше, чем размер FS 2 x размер физической степени (PE) LVM - но проверить ссылку выше на детали, поскольку источник для этого не является авторитетным. Часто разрешение 8 мебибайт достаточно, но может быть лучше позволить больше, например, 100 мебибайт или 1 гибибайт, только быть безопасным. Проверять размер PE и Ваши логические volume+FS размеры, с помощью 4 кибибайт = 4 096-байтовые блоки:
Шоу размер PE в кибибайте:
vgdisplay --units k myVGname | grep "PE Size"
Размер всего LVs:
lvs --units 4096b
Размер (ext3) FS, принимает FS на 4 кибибайта blocksize:
tune2fs -l /dev/myVGname/myLVname | grep 'Block count'
В отличие от этого, установка non-LVM делает изменение размеров FS очень надежным, и легкий - выполняет Gparted и изменяют размер требуемого FSS, затем это сделает все для Вас. На серверах можно использовать parted
от оболочки.
Снимки трудно использовать, замедлиться и багги - если снимок исчерпывает предварительно выделенное пространство, это автоматически отбрасывается. Каждый снимок данного LV является дельтой против того, что LV (не против предыдущих снимков), который может потребовать большого количества пространства, когда файловые системы создания снимков со значительным действием записи (каждый снимок больше, чем предыдущий). Безопасно создать снимок LV, это - тот же размер как исходный LV, поскольку снимок никогда не будет затем исчерпывать свободное пространство.
Снимки могут также быть очень медленными (значение в 3 - 6 раз медленнее, чем без LVM для этих тестов MySQL) - см., что этот ответ касается различных проблем снимка. Замедление частично, потому что снимки требуют многих синхронных записей.
Снимки имели некоторые значительные ошибки, например, в некоторых случаях они могут сделать начальную загрузку очень медленной, или заставить начальную загрузку перестать работать полностью (потому что ядро может привести к таймауту ожидания корневого FS, когда это - снимок LVM [зафиксированный в Debian initramfs-tools
обновление, март 2015]).
Альтернативы снимка - файловые системы и гипервизоры VM
Снимки VM/cloud:
Снимки файловой системы:
снимки уровня файловой системы с ZFS или btrfs просты в использовании и обычно лучше, чем LVM, если Вы находитесь на чистом металле (но ZFS кажется намного более сформировавшимся, просто больше стычки для установки):
Снимки для резервных копий онлайн и fsck
Снимки могут использоваться для обеспечения последовательного источника для резервных копий, пока Вы осторожны с выделенным местом (идеально, снимок является тем же размером как сохраняемый LV). Превосходный rsnapshot (начиная с 1.3.1) даже справляется, создание/удаление снимка LVM для Вас - см. это ПРАКТИЧЕСКОЕ РУКОВОДСТВО на rsnapshot, использующем LVM. Однако отметьте общие вопросы со снимками и что снимок нельзя считать резервным копированием сам по себе.
Можно также использовать снимки LVM, чтобы сделать fsck онлайн: создайте снимки LV и fsck снимок, все еще с помощью основного FS неснимка - описанный здесь - однако, это не совсем просто так лучше использовать e2croncheck, как описано Ted Ts'o, специалистом по обслуживанию ext3.
Необходимо "заморозить" файловую систему временно при взятии снимка - некоторые файловые системы, такие как ext3 и XFS сделают это автоматически, когда LVM создаст снимок.
Заключения
Несмотря на все это, я действительно все еще использую LVM в некоторых системах, но для настольной установки я предпочитаю необработанные разделы. Основное преимущество I видит от LVM, гибкость перемещения и изменения размеров FSS, когда у Вас должно быть высокое время работы на сервере - если Вам не нужно, это, gparted легче и имеет меньше риска потери данных.
LVM требует, чтобы большой уход на кэшировании записи установил из-за гипервизоров VM, жесткий диск / кэширование записи SSD, и так далее - но то же относится к использованию Linux как сервер БД. Отсутствие поддержки со стороны большинства инструментов (gparted
включая критические вычисления размера, и testdisk
и т.д.), мешает использовать, чем это должно быть.
При использовании LVM проявите большую заботу о снимках: используйте снимки VM/cloud, если это возможно, или исследуйте ZFS/btrfs для предотвращения LVM полностью - можно найти ZFS, или btrs является достаточно сформировавшимся по сравнению с LVM со снимками.
Нижняя строка: Если Вы не знаете об упомянутых выше проблемах и как обратиться к ним, лучше не использовать LVM.
если Вы планируете использовать снимки для резервных копий - подготовлены к основному хиту производительности, когда снимок присутствует. читайте больше здесь. иначе это - вся польза. я использовал lvm в производстве в течение нескольких лет на десятках серверов, хотя моей главной причиной использовать его является атомарный снимок не способность развернуть объемы легко.
btw, если Вы собираетесь использовать диск на 1 ТБ, помнят о выравнивании раздела - этот диск по всей вероятности имеет 4 КБ физические секторы.
Adam,
Другое преимущество: можно добавить новый физический том (PV), переместить все данные во что PV и затем удалить старый PV без любых прерываний сервиса. Я использовал ту возможность по крайней мере четыре раза за прошлые пять лет.
Недостаток я ясно еще не видел указанный: существует несколько крутая кривая обучения для LVM2. Главным образом в абстракции это создает между Вашими файлами и базовыми медиа. Если Вы работаете со всего несколькими людьми, которые совместно используют работу по дому на ряде серверов, можно найти дополнительную сложность подавляющей для команды в целом. У более многочисленных команд, выделенных работе IT, обычно не будет такой проблемы.
Например, мы используем его широко здесь на моей работе и заняли время, чтобы преподавать целой команде основы, язык и предметы первой необходимости о восстановлении систем, которые не загружаются правильно.
Одна осторожность конкретно для указания: если Вы загружаетесь от логического тома LVM2, Вы сделали, находят операции восстановления трудными, когда сервер отказывает. У Knoppix и друзей не всегда есть правильный материал для этого. Так, мы решили, что наш каталог начальной загрузки / будет на своем собственном разделе и всегда был бы маленьким и собственным.
В целом, я - поклонник LVM2.
Я [+1] тот пост, и по крайней мере для меня я думаю, что большинство проблем действительно существует. Видел их при запуске нескольких 100 серверов и нескольких 100 ТБ данных. и, по крайней мере, я думаю, что большинство проблем действительно существует. Видел их при запуске нескольких 100 серверов и нескольких 100 ТБ данных. и, по крайней мере, я думаю, что большинство проблем действительно существует. Видел их при запуске нескольких 100 серверов и нескольких 100 ТБ данных. Для меня LVM2 в Linux кажется кому-то "умной идеей". Как и некоторые из них, они иногда оказываются «не умными». Т.е. отсутствие строго разделенных состояний ядра и пользовательского пространства (lvmtab) могло бы показаться разумным избавиться от этого, потому что могут быть проблемы с повреждением (если вы не понимаете код правильно)
Ну, просто это разделение было по какой-то причине - различия проявляются в обработке потери PV и онлайн-повторной активации VG с, например, отсутствующими PV, чтобы вернуть их в игру - Что такое легкий ветерок на «исходных LVM» (AIX, HP -UX) превращается в чушь на LVM2, так как обработка состояния недостаточно хороша. И даже не заставляйте меня говорить об обнаружении потери кворума (ха-ха) или обработке состояния (если я извлечу диск, он не будет отмечен как недоступный. У него даже нет проклятого столбца статуса )
Re: стабильность pvmove ... почему
pvmove data loss
занимает такое высокое место в моем блоге, хммм? Только сейчас я смотрю на диск, где физические данные lvm все еще находятся в состоянии из mid-pvmove. Я думаю, были некоторые утечки памяти, и общая идея о том, что копирование данных живых блоков из пользовательского пространства - это хорошо, просто грустна. Хорошая цитата из списка lvm "похоже на vgreduce --missing не обрабатывает pvmove" Фактически означает, что если диск отсоединяется во время pvmove, инструмент управления lvm переходит с lvm на vi. Да, также была ошибка, из-за которой pvmove продолжается после ошибки чтения / записи блока и фактически больше не записывает данные на целевое устройство. WTF?
Re: Снимки CoW выполняется небезопасно, путем обновления НОВЫХ данных в области lv снимка и последующего слияния после удаления снимка. Это означает, что у вас есть сильные всплески ввода-вывода во время окончательного слияния новых данных с исходным LV и, что гораздо важнее, у вас, конечно, также гораздо более высокий риск повреждения данных, потому что моментальный снимок не будет поврежден, когда вы нажмете стена, но оригинал.
Преимущество заключается в производительности, выполняя 1 запись вместо 3. Выбор быстрого, но небезопасного алгоритма - это то, чего, очевидно, ожидают от таких людей, как VMware и MS, на "Unix" я бы предпочел предположить все будет «сделано правильно». Я не видел особых проблем с производительностью, пока у меня есть резервное хранилище моментальных снимков на другом диске, отличном от основных данных (и, конечно, резервная копия на еще один)
Re: Барьеры Я не уверен, можно ли винить в этом LVM. Насколько я знаю, это была проблема с devmapper. Но некоторые могут быть виноваты в том, что эта проблема не особо заботилась об этой проблеме, по крайней мере, с версии ядра 2.6 до 2.6.33. AFAIK Xen - единственный гипервизор, который использует O_DIRECT для виртуальных машин, проблема была, когда использовался «цикл», потому что ядро все еще кэшировало его. Virtualbox, по крайней мере, имеет некоторые настройки для отключения подобных вещей, а Qemu / KVM, как правило, разрешает кеширование. У всех FUSE FS также есть проблемы (нет O_DIRECT)
Re: Размеры Думаю, LVM «округляет» отображаемый размер. Или он использует ГиБ. В любом случае вам нужно использовать размер VG Pe и умножить его на номер LE LV. Это должно дать правильный размер нетто, и эта проблема всегда связана с использованием. Это усугубляется файловыми системами, которые не замечают таких вещей во время fsck / mount (hello, ext3) или не имеют работающего онлайн-файла "fsck -n" (hello, ext3)
Конечно, это говорит о том, что вы не могу найти хороших источников такой информации. "сколько LE для VRA?" «Какое физическое смещение для PVRA, VGDA, ... и т. д.»
По сравнению с исходным LVM2 является ярким примером того, «Те, кто не понимает UNIX, обречены на то, чтобы изобретать его заново»
. Обновление через несколько месяцев: к настоящему моменту я использовал сценарий «полного снимка» для теста. Если они заполнятся, блокируется моментальный снимок, а не исходный LV. Я был неправ, когда впервые опубликовал это. Я взял неверную информацию из какого-то документа, или, может быть, я ее понял. В моих настройках я Я всегда был очень параноиком, чтобы не позволять им заполняться, и поэтому я никогда не исправлялся. Также возможно увеличивать / уменьшать моментальные снимки, что является удовольствием.
Я все еще не могу решить, как определить возраст моментального снимка. Что касается их производительности, на странице проекта «thinp» Fedora есть примечание, в котором говорится, что методика создания снимков обновляется, чтобы они не замедлялись с каждым снимком. Я не знаю, как они это реализуют.
Пара вещей:
Я видел людей, выступающих за (StackExchange и другие) расширение пространства VM в поперечном направлении: увеличение пространства путем добавления ДОПОЛНИТЕЛЬНЫХ PV к VG по сравнению с увеличением SINGLE PV. Это уродливо и распространяет вашу файловую систему (-ы) на несколько PV, создавая зависимость от все более и более длинной цепочки PV. Вот как будут выглядеть ваши файловые системы при горизонтальном масштабировании хранилища виртуальной машины:
Я видел много путаницы по этому поводу. Если линейный LV- и файловая система, которая в нем живет - распределены по нескольким PV, будет ли происходить ПОЛНАЯ или ЧАСТИЧНАЯ потеря данных? Вот проиллюстрированный ответ:
Логически это то, чего мы должны ожидать. Если экстенты, содержащие наши данные LV, распределены по нескольким PV и один из этих PV исчезнет, файловая система в этом LV будет катастрофически повреждена.
Надеюсь, эти маленькие каракули облегчили сложную тему для понимания рисков при работе с LVM
Предоставляя интересное окно о состоянии LVM более 10 лет назад, принятый ответ теперь полностью устарел. Современный (то есть: LVM после 2012 г.):
lvmthin
lvmcache
и политика быстрой обратной записи для NVMe/NVDIMM/Optane через dm-writecache
vdo
) поддержка благодаряlvmvdo
lvmraid
(скрыт)
Очевидно, это не означает, что вы всегда должныиспользовать LVM. да. Например, для простых виртуальных машин вы, безусловно, можете использовать только классический раздел.Но если вы цените какие-либо из вышеперечисленных функций, LVM — чрезвычайно полезный инструмент, который должен быть в наборе инструментов любого серьезного системного администратора Linux.