По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В статье, мы разберем как работать в операционной системе Linux с HDD, Logical Volume и все что с этим связанно. А также рассмотрим утилиты для работы с HDD. Разберем, что такое LVM. Вводная Те, кто читал пред идущие стати должны понимать, что в операционной системе есть определенные папки. Это стандартный набор папок. Сейчас обратим внимание на те папки, в которые могут быть смонтированы отдельные разделы. Это значит, что если мы видим в корневом разделе какую-либо папку, то не факт, что данная папка находится на том же жестком диске, что и соседние папки или даже сама корневая файловая система. Это могут быть отдельные жесткие диски или разделы жестких дисков, которые смонтированы в корневую файловую систему. Самый большой раздел - это сама корневая файловая система, обозначается символом "/" . Следующий раздел, который обычно находится отдельно - это "/boot", загрузочный раздел, обычно он мегабайт на 100. Там хранятся файлы необходимые для загрузки операционной системы и само ядро. Можно данную директорию оставить на корневом разделе, но если у нас большой жесткий диск хотя бы на 1 ТБ, то старые диски его могут не увидеть при загрузке, поэтому хороший тон создавать отдельный раздел на жестком диске размером от 100 МБ. Директория "/home" - это домашние папки пользователей. Это некий аналог папки в операционной системе Windows, такой как Documents and Settings или c:users. Это директория, где хранятся все папки пользователя. Его можно монтировать, как сетевую папку. Например, если у вас используются какие-нибудь перемещаемые профили. Пользователь работает на нескольких компьютерах и ему необходимо, что бы везде был одинаковый рабочий стол. Вот в таком случае было бы правильно хранить его домашнюю папку где-нибудь на сервере и просто ее монтировать как сетевую папку, предоставляя доступ к файлам. Следующая папка, которая находится в корне - это "/root" она является домашней папкой суперпользователя, очень важная папка поэтому она хранится отдельно. Папка "/etc" - в ней находится конфигурация нашей операционной системы и ее компонент. Так же бывает, что она находится на отдельных дисковых разделах. Мы конечно сами определяем при установке как разбить жесткий диск, но, если при установке мы ставим галочку в установщике, чтобы он автоматически разбил жесткий диск и создал разделы так, как он считает нужным. Директория "/opt" в данной директории находится программное обеспечение от третьих поставщиков. Некоторые серверные дистрибутивы тоже хранят ее на отдельном логическом разделе. Директория "/var" здесь хранятся все часто меняющиеся данные. Например, логи различного программного обеспечения или изменяющиеся программные данные. Возможно для этой директории имеет смысл использовать быстрые диски, например, SSD. Потому, что к ним будет идти очень частое обращение программного обеспечения. Директория "/usr" в ней находятся все установленные пакеты программ, документация и исходный код ядра. Чаще всего данная директория смонтирована вообще в режиме "только чтения" и в принципе она может быть расположена вообще на каком ни будь медленном диске или папке в сети. Директория "/tmp" предназначена для хранения временных файлов. Важной особенностью данной папки является то, что хранящиеся файлы в ней, будут удалены в случае перезагрузки машины. Т.е при перезагрузки данная папка очищается автоматически. Существует еще один отдельный раздел подкачки swap. Обычно операционная система windows использует файл подкачки, то Linux чаще всего использует раздел подкачки, хотя может использовать и файл. Данный раздел не монтируется в нашу файловую систему, он просто существует отдельно. Как это выглядит в консоли. Переходим в корневую директорию cd / . Вводим команду ls и видим, как все директории у нас отображаются. Все те папки о которых шла речь мы видим находятся в корневой директории, кроме раздела swap. Для того, чтобы посмотреть, что и куда смонтировано, то необходимо посмотреть специальный конфигурационный файл cat /etc/fstab Для упрощения объяснения, мы под жестким диском будем понимать единое пространство, которое мы можем разбить на несколько частей. Изначально, компьютер не видел более 4-х разделов - этого считалось достаточно. Поэтому сейчас, изначально по умолчанию жесткий диск не может быть разбит на более чем 4 раздела. Если нам необходимо больше разделов, то необходимо создать так называемый расширенный раздел. И этот расширенный раздел уже будет содержать в себе несколько логических разделов. В старых версиях Linux диски назывались hd0, hd1 и т.д, сейчас жесткие диски называются sda, т.е буквами. USB устройства у нас так же идентифицируются как жесткие диски. Разделы у нас нумеруются по порядку sda1, sda2 и т.д. Т.е. название раздела у нас состоит из буквы диска и номера раздела по порядку. Следовательно, первые 4 цифры зарезервированы и даются только основным разделам, именно поэтому логические разделы нумерация начинается с 5-ки. Основной утилитой для работы с разделами является утилита FDISK. Это утилита используется для разбивки жесткого диска. Так же есть утилита MKFS. Данная утилита используется для создания файловой системы. Мы можем посмотреть все существующие жесткие диски командой fdisk -l. При выводе данной команды мы можем видеть, что у нас 2 подключенных жестких диска sda и sdb. В выводе мы можем так же увидеть их физический объем. На первом диске sda, мы так же можем увидеть 2 раздела sda1 и sda2. Начать работать со вторым жестким диском, необходимо сначала указать, как определенный файл. Устройства лежат в директории "/dev". Пишем команду fdisk /dev/sdb Получается следующая картина: А нажав букву m мы можем получить доступ к справке по работе с данной утилитой. Как можно заметить функционал утилиты достаточно обширен. Можно добавлять партиции, можно удалять партиции. Следующим шагом необходимо создать новый раздел. Выбираем опцию n. Далее предлагается выбор primary или extended. Мы выбираем primary ключ p. Далее выбираем номер раздела 1-4. Например, 1. Далее система спрашивает где будет (на каком секторе) начинаться разметка раздела. Можно выбрать по умолчанию. На следующем шаге мы можем указать сектор, но это крайне неудобно, проще указать сколько мы хотим выделить под размер, например, +10G. И этот раздел станет 10 гигабайт. Попробуем второй вариант с созданием раздела, он будет расширенный (extended). Выбираем ключ e, выбираем 2 раздел. Выбираем с какого сектора он начнется. Следующим шагом +8G. Мы создали расширенный диск на 8 GB. Далее создаем sdb3 на оставшихся 2 GB. А также 8GB расширенного диска разбиваем на 2 логических по 4 GB каждый. Все операции одинаковые. В после создания последнего раздела выбираем опцию w. Которая записывает все изменения. В итоге Прежде чем использовать эти разделы их необходимо отформатировать. Если посмотреть на вывод команды, мы можем увидеть еще одно интересное поле с информацией Id - это метка этого раздела. Необходимо разобраться, как эти id менять. Используем опять утилиту fdisk /dev/sdb. Далее используем ключ t. Утилита предлагает выбрать номер раздела. Выбираем 1. Затем необходимо ввести id в шестнадцатеричном формате, список всех вариаций и их описание можно вывести командой L. Можно заметить, что везде стоял по умолчанию 83 т.е. linux, мы можем изменить на любую метку, например, на 86 NTFS - windows раздел. 3 раздел пометим а5. Записываем изменения w. И можно все изменения увидеть через fdisk -l. Далее, чтобы пользоваться этими разделами, нам сначала их надо отформатировать. Чтобы это сделать используем утилиту mkfs. Набираем mkfs.ext4 , после точки указываем целевую , будет переформатирован раздел , а через пробел собственно сам раздел. Например mkfs.ext4 /dev/sdb5. Теперь немного, о разделе подкачки swap. Для работы с ним используется swapon и swapoff. Через первую команду мы можем включать раздел подкачки, добавлять разделы подкачки, а через вторую команду выключать. Так же есть утилита mkswap - которая позволяет создавать т.е. форматировать раздел, как раздел подкачки. А также у нас есть конфигурационный файл, расположенный в следующем месте /etc/fstab, в данном конфигурационном файле описывается монтирование файловых систем. Соответственно можно примонтировать разделы в ручном режиме, но если мы хотим, чтобы при загрузке разделы сами монтировались, то необходимо конфигурировать файл /etc/fstab/ Командой swapon -s, мы можем посмотреть информацию по своп разделу. Чтобы добавить новый своп раздел, то нам необходимо через команду fdisk создать новый раздел и указать , что он именно своповский раздел, потом его необходимо отформатировать и примонтировать раздел. Командой cat /etc/fstab мы можем посмотреть, какие разделы монтируются при загрузке. Выглядит это примерно так: Мы видим, что вот этот раздел с uuid 50cee6ca-cbd2-454b-a835-2614bf2e9d5d монтируется в корень, знак "/" об этом говорит и имеет файловую систему ext4. Uuid смотрим с помощью команды blkid. Раздел подкачки, как и файл подкачки - это место на диске, которое используется, как RAM. Если у нас не хватает оперативной памяти, то компьютер может пользоваться этим разделом, как оперативной памятью. Создадим новую директорию командой mkdir mounted и смонтируем туда раздел. Например, /dev/sdb5. Используем команду mount /dev/sdb5 /mounted. Чтобы отмонтировать используем команду umount /mounted. LVM LVM - это система управления томами для Linux. Она позволяет создать поверх физических разделов , Logical Volume, которые будут видны операционной системе , как обычные блочные устройства с томами. Преимущества: Мы можем в одну группу Logical Volume можем добавить разное количество физических дисков. Мы можем менять размеры этих разделов прям во время работы операционной системы. В данном случае на картинке есть, 3 HDD, на каждом есть определенное количество разделов. И мы можем из них собрать группу томов vg1. Которая будет видеть свои разделы, как физические тома, те объединяются в группу томов, а внутри этой группы мы можем создавать логические тома, вообще не указывая где они находятся, и они сами распределяются между дисками. Соответственно на каждом логическом томе будет какая-то файловая система. Чтобы посмотреть физические тома пользуемся командой pvdisplay. Посмотреть volume group, команда vgdisplay. Посмотреть логические тома lvdisplay. Удаляем, через fdisk все разделы на жестком диске /dev/sdb. Создаем 2 раздела по 4 ГБ основных с типом 8e, т.е. LVM тип. Создадим физический том командой pvcreate /dev/sdb1, аналогично делаем для второго раздела. Далее необходимо создать виртуальную группу vgcreate vg1 /dev/sdb1 /dev/sdb2, т.е. оба раздела. В группе можем создать пару логических томов командой lvcreate -n lv1 -L 2G vg1, где -n новый раздел, -L - объем и последний параметр в какой виртуальной группе. И можно создать второй lvcreate -n lv2 -L 3G vg1. Появились новые блочные устройства lv1 и lv2. Осталось их отформатировать. Команда mkfs.ext4 /dev/vg2/lv1 и аналогично второй. Данная группа позволяет легко добавлять и удалять HDD. Возможно добавление нового жесткого диска и на увеличение размера наших томов. Чтобы изменить размер команда lvresize -L 4G vg1/lv2. Система LVM позволяет делать снимки состояний, т.е. снапшоты. Они используются для систем резервного копирования, например.
img
У каждого из нас, наверное, есть родственник (бабушка, брат, племянник или еще кто-то), который говорил так быстро, что вы не могли понять слова, которое он говорил? Некоторые компьютерные программы тоже "говорят" слишком быстро. Рисунок 1 иллюстрирует это. На рисунке: В момент времени 1 (T1) отправитель передает около четырех пакетов на каждые три, которые может обработать приемник. Приемник имеет пяти-пакетный буфер для хранения необработанной информации; в этом буфере находятся два пакета. В момент времени Т2 отправитель передал четыре пакета, а получатель обработал три; буфер в приемнике теперь содержит три пакета. На этапе T3 отправитель передал четыре пакета, а получатель обработал три; буфер в приемнике теперь содержит четыре пакета. На этапе T4 отправитель передал четыре пакета, а получатель обработал три; буфер в приемнике теперь содержит пять пакетов. Следующий переданный пакет будет отброшен получателем, потому что в буфере нет места для его хранения, пока получатель обрабатывает пакеты, чтобы их можно было удалить. Что необходимо, так это своего рода петля обратной связи, чтобы сказать передатчику замедлить скорость, с которой он посылает пакеты, как показано на рисунке 3. Этот тип обратной связи требует либо неявной сигнализации, либо явной сигнализации между приемником и передатчиком. Неявная передача сигналов используется более широко. При неявной сигнализации передатчик предполагает, что пакет не был принят на основании некоторых наблюдений о потоке трафика. Например, получатель может подтвердить получение некоторого более позднего пакета, или получатель может просто не подтвердить получение определенного пакета, или получатель может не отправлять что-либо в течение длительного периода времени (в терминах сети). При явной сигнализации получатель каким-то образом напрямую сообщает отправителю, что определенный пакет не был получен. Windowing Windowing в сочетании с неявной передачей сигналов, безусловно, является наиболее широко используемым механизмом управления потоками в реальных сетях. Windowing по существу состоит из следующего: Передатчик отправляет некоторое количество информации получателю. Передатчик ждет, прежде чем решить, правильно ли была получена информация или нет. Если получатель подтверждает получение в течение определенного периода времени, передатчик отправляет новую информацию. Если получатель не подтверждает получение в течение определенного периода времени, передатчик повторно отправляет информацию. Неявная сигнализация обычно используется с Windowing протоколами, просто не подтверждая получение конкретного пакета. Явная сигнализация иногда используется, когда получатель знает, что он сбросил пакет, когда полученные данные содержат ошибки, данные получены не по порядку или данные иным образом повреждены каким-либо образом. Рисунок 3 иллюстрирует простейшую Windowing схему-окно с одним пакетом. В одиночном окне пакета (также иногда называемом ping pong) передатчик отправляет пакет только тогда, когда получатель подтвердил (показанный на рисунке как ack) получение последнего переданного пакета. Если пакет не получен, получатель не подтвердит его. При отправке пакета отправитель устанавливает таймер, обычно называемый таймером повторной передачи; как только этот таймер активируется (или истекает), отправитель предполагает, что получатель не получил пакет, и отправляет его повторно. Как долго должен ждать отправитель? Существует несколько возможных ответов на этот вопрос, но по существу отправитель может либо ждать фиксированное количество времени, либо установить таймер на основе информации, полученной из предыдущих передач и условий сети. Простой (и наивной) схемой было бы Измерьте промежуток времени между отправкой пакета и получением подтверждения, называемый временем обратного пути (RTT- Round Trip Time, хотя обычно пишется в нижнем регистре, поэтому rtt). Установите таймер повторной передачи на это число плюс небольшое количество времени буфера, чтобы учесть любую изменчивость в RTT на протяжении нескольких передач. Кроме того, получатель может получить две копии одной и той же информации: A передает пакет и устанавливает таймер его повторной передачи B получает пакет, но Не может подтвердить получение, потому что он находится вне памяти или испытывает высокую загрузку процессора или какое-то другое состояние. Отправляет подтверждение, но оно отбрасывается сетевым устройством. Таймер повторной передачи в точке A истекает, поэтому отправитель передает другую копию пакета. B получает эту вторую копию той же информации Как получатель может обнаружить дублированные данные? Для получателя представляется возможным сравнить полученные пакеты, чтобы увидеть, есть ли дублирующаяся информация, но это не всегда будет работать - возможно, отправитель намеревался отправить одну и ту же информацию дважды. Обычный метод обнаружения дублирующейся информации заключается в включении некоторого вида порядкового номера в передаваемые пакеты. Каждому пакету присваивается уникальный порядковый номер при его создании отправителем; если получатель получает два пакета с одинаковым порядковым номером, он предполагает, что данные дублированы, и отбрасывает копии. Окно размером 1, или ping pong, требует одного кругового перехода между отправителем и получателем для каждого набора передаваемых данных. Это, как правило, приводит к очень низкой скорости передачи. Если рассматривать сеть, как о сквозном железнодорожном пути, а каждый пакет-как об одном вагоне поезда, то наиболее эффективное использование пути и самая быстрая скорость передачи данных будут тогда, когда путь всегда полон. Это физически невозможно, однако, в случае сети, потому что сеть используется многими наборами отправителей и получателей, и всегда есть сетевые условия, которые помешают использованию сети достичь 100%. Существует некоторый баланс между повышением эффективности и скорости отправки более одного пакета за один раз, а также мультиплексированием и "безопасностью" отправки меньшего количества пакетов за один раз (например, одного). Если правильная точка баланса может быть вычислена каким-то образом, схема управления потоком с фиксированным окном может хорошо работать. Рисунок 4 иллюстрирует это. На рисунке 4, предполагаемое фиксированное окно с тремя пакетами: При T1, T2 и T3 A передает пакеты; A не нужно ждать, пока B что-либо подтвердит, чтобы отправить эти три пакета, так как размер окна установлен на 3. В момент T4 B подтверждает эти три пакета, что позволяет A передать другой пакет. При T5 B подтверждает этот новый пакет, даже если это только один пакет. B не нужно ждать, пока A передаст еще три пакета, чтобы подтвердить один пакет. Это подтверждение позволяет A иметь достаточный бюджет для отправки еще трех пакетов. При T5, T6 и T7 A отправляет еще три пакета, заполняя свое окно. Теперь он должен ждать, пока B не подтвердит эти три пакета, чтобы отправить больше информации. На этапе T8 B подтверждает получение этих трех пакетов. В схемах управления окнами, где размер окна больше одного, существует четыре вида подтверждений, которые приемник может отправить передатчику: Положительное подтверждение: приемник подтверждает получение каждого пакета в отдельности. Например, если порядковые номера 1, 3, 4 и 5 были получены, приемник подтвердит получение этих конкретных пакетов. Отправитель может сделать вывод, какие пакеты не получил приемник, отметив, какие порядковые номера не были подтверждены. Отрицательное подтверждение: приемник отправляет отрицательное ack для пакетов, которые, по его мнению, отсутствуют или были повреждены при получении. Например, если порядковые номера 1, 3, 4 и 5 были получены, приемник может сделать вывод, что порядковый номер 2 отсутствует, и отправить отрицательное ack для этого пакета. Выборочное подтверждение: по сути, это сочетание положительного и отрицательного подтверждения, как указано выше; приемник отправляет как положительные, так и отрицательные подтверждения для каждой последовательности полученной информации. Кумулятивное подтверждение: подтверждение получения порядкового номера подразумевает получение всей информации с более низкими порядковыми номерами. Например, если порядковый номер 10 подтвержден, подразумевается информация, содержащаяся в порядковых номерах 19, а также информация, содержащаяся в порядковом номере 10 Третий оконный механизм называется управлением потоком скользящего окна. Этот механизм очень похож на фиксированный механизм управления потоком окон, за исключением того, что размер окна не является фиксированным. При управлении потоком со скользящим окном передатчик может динамически изменять размер окна при изменении сетевых условий. Приемник не знает, какого размера окно, только то, что отправитель передает пакеты, и время от времени приемник подтверждает некоторые или все из них, используя один из механизмов подтверждения, описанных в предыдущем списке. Механизмы скользящих окон добавляют еще один интересный вопрос к вопросам, уже рассмотренным в других механизмах управления окнами: какого размера должно быть окно? Простое решение позволяет просто вычислить rtt и установить размер окна, кратный rtt. Были предложены более сложные решения; Negotiated Bit Rates (Согласование Bit Rates) Другое решение, которое чаще используется в сетях с коммутацией каналов, а не в сетях с коммутацией пакетов, заключается в том, чтобы отправитель, получатель и сеть согласовывали скорость передачи битов для любого конкретного потока. Широкий спектр возможных скоростей передачи данных был разработан для ряда различных сетевых технологий. Возможно, "наиболее полный набор" предназначен для асинхронного режима передачи данных (ATM)-но данные сети ATM вы скорее всего найдете в ближайшем Музее истории сетей, потому что ATM редко развертывается в производственных сетях. Битовые скорости ATM являются: Постоянная скорость передачи (Constant Bit Rate -CBR): отправитель будет передавать пакеты (или информацию) с постоянной скоростью; следовательно, сеть может планировать с учетом этой постоянной нагрузки на полосу пропускания, а приемник может планировать с учетом этой постоянной скорости передачи данных. Этот битрейт обычно используется для приложений, требующих синхронизации времени между отправителем и получателем. Переменная скорость передачи (Variable Bit Rate -VBR): отправитель будет передавать трафик с переменной скоростью. Эта скорость обычно согласовывается с несколькими другими частями информации о потоке, которые помогают сети и получателю планировать ресурсы, включая: Пиковая скорость или максимальная скорость передачи пакетов в секунду, которую планирует передать отправитель Устойчивая скорость или скорость, с которой отправитель планирует передавать данные в обычном режиме Максимальный размер пакета или наибольшее количество пакетов, которые отправитель намеревается передать за очень короткий промежуток времени Доступная скорость передачи (Available Bit Rate -ABR): отправитель намеревается полагаться на способность сети доставлять трафик с максимальной отдачей, используя некоторую другую форму управления потоком, такую как метод скользящего окна, для предотвращения переполнения буфера и настроить передаваемый трафик на доступную полосу пропускания.
img
Давайте для начала разберемся, что же такое Composer. Представленное программное обеспечение является менеджером пакетных зависимостей, разработанный для облегчения загрузки, а также установки различных PHP библиотек для вашего проекта. К примеру, используя менеджер пакетов, вы можете с легкостью добавить различные библиотеки к вашему проекту, разработкой которого вы занимаетесь, а также очень легко выполнять развертывание иных проектов, каковые имеют при себе документ composer.json. Composer.json является текстовым документов, который содержит библиотеки, каковые использует проект. Кроме того, Composer используется возможно использовать для установки различных фреймворков PHP, а также CMS. Данный менеджер пакетов представляет собой типичный PHP-скрипт, то есть программный продукт, разработанный на языке PHP. Главной целью данного программного продукта является предоставление удобного инструмента для веб-разработчиков, с помощью какового он с легкостью может выполнять загрузку, а также установку библиотек в проект, выполнять их обновление, и, при необходимости, деинсталляцию. С помощью менеджера пакетов можно выполнять все перечисленные выше действия с помощью нескольких команд. Composer при скачивании библиотек выполняет не только установку, но также устанавливает зависимости, от которых они уже могут зависеть. Допустим, вы загрузили некий пакет, который имеет зависимость от нескольких пакетов, и так далее. Данный менеджер пакетов автоматически выполнит установку. Представленный PHP-скрипт создает в корне проекта специальную папку Vendor, в которую уже и выполняется установку сторонних библиотек. Помимо этого, также создается документ autoload.php с помощью которого происходит интеграция пакетов в проект. Помимо перечисленных выше документов, при установке сторонних пакетов, также создается дополнительный документ composer.lock. Если же вышеописанный файл composer.json выполняет роль описания и требований версий библиотек, тогда composer.lock содержит в себе сами версии библиотек, каковые установились юзером. Основной целью документа composer.lock является оставить среду, в каковой был разработан и протестирован проект без каких-либо изменений. Работать с менеджером пакетов возможно с помощью консоли либо терминала, используя некоторые команды. Как установить менеджер пакетов на OpenServer (Windows) OpenServer по умолчанию содержит в себе Composer. Это будет зависеть от версии PHP. Для того, чтобы работать с данным менеджером пакетов, потребуется его собственная консоль, которую возможно открыть с помощью нажатия ПКМ на раздел Открыть сервер, и обнаружить пункт консольного меню в списке меню. Чтобы убедиться в том, что Composer включен, достаточно ввести команду Composer, и для вас отобразиться информация о вашей версии. Если же вы получите уведомление, что ваша версия уже устарела, вы можете обновить ее с помощью специальной команды composer self-update. Как установить менеджер пакетов на хостинг? Чтобы установить Composer на хостинг-сервис, просто скачайте эту программу и загрузите ее в корневой каталог проекта, например, по FTP. Команды на удаленном сервере обычно выполняются через SSH. По умолчанию на виртуальном хостинге этот сетевой протокол отключен. Чтобы включить его, вам нужно найти соответствующий элемент на панели управления, открыть его и нажать на кнопку Включить SSH внутри него. Если на вашем компьютере установлена операционная система Windows 10, тогда SSH-клиент автоматически будет добавлен в систему. А это может означать, что для использования команд над управлением удаленного сервера, вам не потребуется ничего устанавливать, так как можно использовать Windows PowerShell либо командную строку.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59