По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В данной статье рассматриваются вопросы, которые следует задать системным администраторам, и меры предосторожности, которые они должны предпринять при устранении неполадок. Как правило, устранение неполадок не рассматривается на каких-либо официальных занятиях, - это все то, что большинство из нас в конечном итоге усваивает на собственном горьком опыте. Как действовать, где искать, как определить первопричину возникших проблем - все это навыки, которые мы обычно развиваем с течением времени. Жизненный цикл сеанса устранения неполадок обычно включает: Обнаружение - обнаружение проблемы Идентификация - понимание того, в чем проблема Анализ - определение причины проблемы Исправление - исправление того, что было не так Профилактика - принятие мер для предотвращения повторения проблемы Систематический подход к устранению неполадок может помочь быстрее выявить основную причину проблемы, которая нарушает работу сервера или приложения. Вот несколько шагов и вопросы, которые нужно задать себе: 1. Что только что изменилось? Наиболее частая первая реакция на что-то, что перестает работать - это спросить: «Хорошо, а что изменилось?» Изучение последних изменений - это тоже действие, которое, скорее всего, окупится, если на самом деле какое-то существенное изменение было сделано только что. Ищите файлы, особенно файлы конфигурации, которые могли быть изменены, приложения или пакеты, которые были только что добавлены, службы, которые только что были запущены, и т. д. Не упускайте из виду тот факт, что многие системные проблемы возникают не сразу. Примеры того, что идет не так, не связано с недавним изменением, включают: Медленно заканчивается место на диске Можете столкнуться с ошибкой конфигурации, которая раньше просто не активировалась из-за несоблюдения определенных условий 2. Какие ошибки я наблюдаю? Обратите особое внимание на любые ошибки, которые отображаются на системной консоли или в файлах журнала. Указывают ли эти ошибки на какую-то конкретную причину? Вы видели раньше подобные ошибки? Видите ли вы какие-либо проявление тех же ошибок в старых файлах журнала или в других системах? Что вам говорят поисковые запросы в Интернете? Независимо от того, с какой проблемой вы столкнулись, вы вряд ли будете первым системным администратором, столкнувшимся с ними. 3. Как себя ведет система или сервис? Возможно, стоит обратить внимание на симптомы проблемы. Система или служба работают медленно или полностью непригодны для использования? Может быть, только некоторые пользователи не могут войти в систему. Может быть, не работают только некоторые функции. Выделение того, что работает, а что нет, может помочь вам сосредоточиться на том, что не так. 4. Чем эта система отличается от той, которая является рабочей? Если вам повезло, что у вас есть дублирующие системы, и у вас есть шанс сравнить ту, которая не работает, с другой. Возможно, вы сможете определить ключевые различия, которые могут помочь выявить причину. 5. Каковы вероятные точки останова? Подумайте, как работает приложение или сервис и как/где могут возникнуть проблемы. Полагается ли он на конфигурационный файл? Нужно ли ему общаться с другими серверами? Задействована ли база данных? Записывается ли он в определенные лог-файлы? Включает ли это несколько процессов? Можете ли вы легко определить, все ли необходимые процессы запущены? Если можете, систематически устраняйте потенциальные причины. 6. Какие инструменты для поиска и устранения неисправностей могут быть полезны? Подумайте об имеющихся у вас инструментах для поиска системных проблем. Некоторые из них могут оказаться полезными: top - для оценки производительности, включая проблемы с памятью, файлом подкачки и загрузкой df - для проверки использования диска find - для поиска файлов, которые были изменены за последний день tail -f - для просмотра последних записей журнала и наблюдения за тем, появляются ли все еще ошибки lsof - чтобы определить, какие файлы были открыты конкретным процессом ping - быстрая проверка сети ifconfig - проверка сетевых интерфейсов traceroute - проверка подключений к удаленным системам netstat - проверка сетевых подключений nslookup - проверка разрешений хоста route - проверка таблиц маршрутизации arp - проверка IP-адреса на записи MAC-адреса в вашем кеше 7. Происходит что-нибудь неприятное? Не исключайте возможность того, что кто-то вмешивался в вашу систему, хотя большинство хакеров предпочли бы делать свою работу так, чтобы вы ничего не заметили. 8. Что мне НЕ делать? Не путайте симптомы и причины. Каждый раз, когда вы определяете проблему, спрашивайте себя, почему она существует. Будьте осторожны, чтобы не уничтожить «доказательства», пока вы лихорадочно работаете над тем, чтобы вернуть свою систему в оперативный режим. Скопируйте файлы журнала в другую систему, если вам нужно освободить дисковое пространство, чтобы вернуть систему в рабочее состояние. Затем вы можете изучить их позже, чтобы выяснить, что вызвало проблемы, над решением которых вы работаете. Если вам нужно восстановить файл конфигурации, сначала сделайте копию файла (например, cp -p config config.save), чтобы вам было легче узнать, как и когда файл был изменен, и что вам нужно сделать, чтобы все заработало. Имейте ввиду, что для поиска решения возникшей проблемы вы, возможно, примените большое количество решений. И в последствии не сможете запомнить, какое из решений устранило проблему. 9. Что мне делать? Запишите все свои действия. Если вы используете PuTTY для подключения (или какой-либо другой инструмент, позволяющий записывать взаимодействия с вашей системой), включите ведение журнала. Это поможет вам, когда вам нужно будет проанализировать, что произошло и как вы решили проблему. Если у вас достаточно места на диске, вы также можете использовать скрипт для записи сеанса входа в систему (например, сценарий устранения неполадок `date% m% d% y`). Если у вас нет возможности сохранять логи, записывайте все, что вы делали и что видели. Вы можете не вспомнить все это позже, особенно если вы находитесь в состоянии стресса. Вы можете помнить шаги, но не порядок, в котором вы их выполняли. После устранения проблемы задокументируйте, что произошло. Возможно данная проблема возникнет снова, и вам, возможно, придется объяснить своему руководству или клиентам, что произошло, и как вы собираетесь предотвратить это в будущем. По возможности подумайте, как можно избежать данной проблемы в будущем. Можете ли вы улучшить свои службы мониторинга так, чтобы проблемы с дисковым пространством, памятью и сетью, изменения конфигурации и т. д. были решены задолго до того, как они повлияют на работающие службы?
img
Несмотря на доступ к все более эффективному и мощному оборудованию, операции, выполняемые непосредственно на традиционных физических (или «чистых») серверах, неизбежно сталкиваются со значительными практическими ограничениями. Стоимость и сложность создания и запуска одного физического сервера говорят о том, что эффективное добавление и удаление ресурсов для быстрого удовлетворения меняющихся потребностей затруднено, а в некоторых случаях просто невозможно. Безопасное тестирование новых конфигураций или полных приложений перед их выпуском также может быть сложным, дорогостоящим и длительным процессом. Исследователи-первопроходцы Джеральд Дж. Попек и Роберт П. Голдберг в статье 1974 года («Формальные требования к виртуализируемым архитектурам третьего поколения» (“Formal Requirements for Virtualizable Third Generation Architectures”) - Communications of the ACM 17 (7): 412–421) предполагали, что успешная виртуализация должна обеспечивать такую среду, которая: Эквивалента физическому компьютеру, поэтому доступ программного обеспечения к аппаратным ресурсам и драйверам должен быть неотличим от невиртуализированного варианта. Обеспечивает полный контроль клиента над аппаратным обеспечением виртуализированной системы. По возможности эффективно выполняет операции непосредственно на базовых аппаратных ресурсах, включая ЦП. Виртуализация позволяет разделить физические ресурсы вычислений, памяти, сети и хранилища («основополагающая четверка») между несколькими объектами. Каждое виртуальное устройство представлено в своем программном обеспечении и пользовательской среде как реальный автономный объект. Грамотно настроенные виртуальные изолированные ресурсы могут обеспечить более защиту приложений приложений без видимой связи между средами. Виртуализация также позволяет создавать и запускать новые виртуальные машины почти мгновенно, а затем удалять их, когда они перестанут быть необходимыми. Для больших приложений, поддерживающих постоянно меняющиеся бизнес-требования, возможность быстрого вертикального масштабирования с повышением или понижением производительности может означать разницу между успехом и неудачей. Адаптивность, которую предлагает виртуализация, позволяет скриптам добавлять или удалять виртуальные машины за считанные секунды, а не недели, которые могут потребоваться для покупки, подготовки и развертывания физического сервера. Как работает виртуализация? В невиртуальных условиях, архитектуры х86 строго контролируют, какие процессы могут работать в каждом из четырех тщательно определенных уровней привилегий (начиная с Кольца 0 (Ring 0) по Кольцо 3). Как правило, только ядро операционной системы хоста имеет какой-либо шанс получить доступ к инструкциям, хранящимся в кольце под номером 0. Однако, поскольку вы не можете предоставить нескольким виртуальным машинам, которые работают на одном физическом компьютере, равный доступ к кольцу 0, не вызывая больших проблем, необходим диспетчер виртуальных машин (или «гипервизор»), который бы эффективно перенаправлял запросы на такие ресурсы, как память и хранилище, на виртуализированные системы, эквивалентные им. При работе в аппаратной среде без виртуализации SVM или VT-x все это выполняется с помощью процесса, известного как ловушка, эмуляция и двоичная трансляция. На виртуализированном оборудовании такие запросы, как правило, перехватываются гипервизором, адаптируются к виртуальной среде и возвращаются в виртуальную машину. Простое добавление нового программного уровня для обеспечения такого уровня организации взаимодействия приведет к значительной задержке практически во всех аспектах производительности системы. Одним из успешных решений было решение ввести новый набор инструкций в ЦП, которые создают, так называемое, «кольцо 1», которое действует как кольцо 0 и позволяет гостевой ОС работать без какого-либо влияния на другие несвязанные операции. На самом деле, при правильной реализации виртуализация позволяет большинству программных кодов работать как обычно, без каких-либо перехватов. Несмотря на то, что эмуляция часто играет роль поддержки при развертывании виртуализации, она все же работает несколько иначе. В то время как виртуализация стремится разделить существующие аппаратные ресурсы между несколькими пользователями, эмуляция ставит перед собой цель заставить одну конкретную аппаратную/программную среду имитировать ту, которой на самом деле не существует, чтобы у пользователей была возможность запускать процессы, которые изначально было невозможно запустить. Для этого требуется программный код, который имитирует желаемую исходную аппаратную среду, чтобы обмануть ваше программное обеспечение, заставив его думать, что оно на самом деле работает где-то еще. Эмуляция может быть относительно простой в реализации, но она почти всегда несет за собой значительные потери производительности. Согласно сложившимся представлениям, существует два класса гипервизоров: Type-1 и Type-2. Bare-metal гипервизоры (исполняемые на «голом железе») (Type-1), загружаются как операционная система машины и – иногда через основную привилегированную виртуальную машину – сохраняют полный контроль над аппаратным обеспечением хоста, запуская каждую гостевую ОС как системный процесс. XenServer и VMWare ESXi – яркие примеры современных гипервизоров Type-1. В последнее время использование термина «гипервизор» распространилось на все технологии виртуализации хостов, хотя раньше оно использовалось только для описания систем Type-1. Первоначально более общим термином, охватывающим все типы систем, был «Мониторы виртуальных машин». То, в какой степени люди используют термин «мониторы виртуальных машин» все это время, наводит меня на мысль, что они подразумевают «гипервизор» во всех его интерпретациях. Гипервизоры, размещенные на виртуальном узле (Type-2) сами по себе являются просто процессами, работающими поверх обычного стека операционной системы. Гипервизоры Type-2 (включая VirtualBox и, в некотором роде, KVM) отделяют системные ресурсы хоста для гостевых операционных систем, создавая иллюзию частной аппаратной среды. Виртуализация: паравиртуализация или аппаратная виртуализация Виртуальные машины полностью виртуализированы. Иными словами, они думают, что они обычные развертывания операционной системы, которые живут собственной счастливой жизнью на собственном оборудовании. Поскольку им не нужно взаимодействовать со своей средой как-то иначе, чем с автономной ОС, то они могут работать с готовыми немодифицированными программными стеками. Однако раньше за такое сходство приходилось платить, потому что преобразование аппаратных сигналов через уровень эмуляции занимало дополнительное время и циклы. В случае с паравиртуализацией (PV – Paravirtualization) паравиртуальные гости хотя бы частично осведомлены о своей виртуальной среде, в том числе и том, что они используют аппаратные ресурсы совместно с другими виртуальными машинами. Эта осведомленность означает, что хостам PV не нужно эмулировать хранилище и сетевое оборудование, и делает доступными эффективные драйверы ввода-вывода. На первых порах это позволяло гипервизорам PV достигать более высокой производительности для операций, требующих подключения к аппаратным компонентам. Тем не менее, для того, чтобы предоставить гостевой доступ к виртуальному кольцу 0 (т.е. кольцу -1), современные аппаратные платформы – и, в частности, архитектура Intel Ivy Bridge – представили новую библиотеку наборов инструкций ЦП, которая позволила аппаратной виртуализации (HVM – Hardware Virtual Machine) обойти узкое место, связанное с ловушкой и эмуляцией, и в полной мере воспользоваться преимуществами аппаратных расширений и немодифицированных операций ядра программного обеспечения. Также значительно повысить производительность виртуализации может последняя технология Intel – таблицы расширенных страниц (EPT – Extended Page Tables). В связи с этим, в большинстве случаев можно обнаружить, что HVM обеспечивает более высокую производительность, переносимость и совместимость. Аппаратная совместимость Как минимум, несколько функций виртуализации требуют аппаратную поддержку, особенно со стороны ЦП хоста. Именно поэтому вы должны убедиться, что на вашем сервере есть все, что вам необходимо для задачи, которую вы собираетесь ему дать. Большая часть того, что вам нужно знать, храниться в файле /proc/cpuinfo и, в частности, в разделе «flags» (флаги) каждого процессора. Однако вам нужно знать, то искать, потому что флагов будет очень много. Запустите эту команду, чтобы посмотреть, что у вас под капотом: $ grep flags /proc/cpuinfo Контейнерная виртуализация Как мы уже видели ранее, виртуальная машина гипервизора – это полноценная операционная система, чья связь с аппаратными ресурсами «основополагающей четверки» полностью виртуализирована – она думает, что работает на собственном компьютере. Гипервизор устанавливает виртуальную машину из того же ISO-образа, который вы загружаете и используете для установки операционной системы непосредственно на пустой физический жесткий диск. Контейнер в свою очередь фактически представляет собой приложение, запускаемое из скриптообразного шаблона, которое считает себя операционной системой. В контейнерных технологиях, таких как LXC и Docker, контейнеры – это не что иное, как программные и ресурсные (файлы, процессы, пользователи) средства, которые зависят от ядра хоста и представления аппаратных ресурсов «основополагающей четверки» (т.е. ЦП, ОЗУ, сеть и хранилище) для всего, то они делают. Конечно, с учетом того, что контейнеры фактически являются изолированными расширениями ядра хоста, виртуализация Windows (или более старых или новых версий Linux с несовместимыми версиями libc), например, на хосте Ubuntu 16.04 будет сложна или невозможна. Но эта технология обеспечивает невероятно простые и универсальные вычислительные возможности. Перемещение Модель виртуализации также позволяет использовать широкий спектр операций перемещения, копирования и клонирования даже из действующих систем (V2V). Поскольку программные ресурсы, определяющие виртуальную машину и управляющие ею, очень легко идентифицировать, то обычно не требуется очень много усилий для дублирования целых серверных сред в нескольких местах и для разных целей. Иногда это не сложнее, чем создать архив виртуальной файловой системы на одном хосте, распаковать его на другом хосте по тому же пути, проверить основные сетевые настройки и запустить. Большинство платформ предлагают единую операцию командной строки для перемещения гостей между хостами. Перемещение развертываний с физических серверов на виртуализированные среды (P2V) иногда может оказаться немного сложнее. Даже создание клонированного образа простого физического сервера и его импорт в пустую виртуальную машину может сопровождаться определенными трудностями. И как только все это будет выполнено, вам, возможно, придется внести некоторые корректировки в системную архитектуру, чтобы можно было использовать возможности, предлагаемые виртуализацией, в полную силу. В зависимости от операционной системы, которую вы перемещаете, вам также может потребоваться использование паравиртуализированных драйверов для того, чтобы ОС могла корректно работать в своем «новом доме». Как и в любых других ситуациях управления сервером: тщательно все продумывайте заранее.
img
Дистрибутив Linux, несмотря на версию и вид, имеет множество графических оболочек, которые позволяют искать файлы. Большинство из их них позволяют искать сами файлы, но, к сожалению, они редко позволяют искать по содержимому. А особенно рекурсивно. В статье покажем два способа того, как можно рекурсивно найти файлы, которые содержат ту или иную фразу. Поиск будет осуществлен по папкам и директориям внутри этих папок. Найти фразу в файлах рекурсивно через консоль Все просто. Открываем серверную консоль, подключившись по SSH. А далее, вводим команду: grep -iRl "фраза" /директория/где/искать Например, команда может выглядеть вот так: grep -iRl "merionet" /home/user/merion Команда найдет и выведет все файлы, которые содержат фразу merionet в директории /home/user/merion и во всех директориях, внутри этой папки. Мы используем следующие ключи: -i - игнорировать регистра текста (большие или маленькие буквы); -R - рекурсивно искать файлы в сабдиректориях; -I - показывать названия файлов, вместо их содержимого; Так же, вам могут быть полезны следующие ключи: -n - показать номер строки, в которой находится фраза; -w - показать место, где слово попадается; Поиск слова через Midnight Commander Так же, в консоли сервера, дайте команду: mc Эта команда запустит Midnight Commander. Кстати, если он у вас не установлен, его можно просто установить через yum: yum install mc Открыв mc, во вкладке Command выберите Find File и заполните поисковую форму как показано ниже: Start at: - директория, где нужно осуществлять поиск; File name: - маска поиска. Например, искать только в файлах расширения txt будет - *.txt; Content - сама фраза; Нажимаем OK и получаем результат: Готово. Наслаждайтесь :)
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59