Часть I. Новые возможности
Далее обсуждаются новые функции Red Hat Enterprise Linux 7.1.
Red Hat Enterprise Linux 7.1 предлагается в виде одного комплекта для нескольких архитектур
:
Этот выпуск объединяет множество усовершенствований для серверов и рабочих станций, а также в целом улучшает работу с открытым кодом Red Hat.
1.1. Red Hat Enterprise Linux для POWER (с прямым порядком байтов)
В Red Hat Enterprise Linux 7.1 добавлена поддержка режима прямого порядка байтов для серверов IBM Power Systems с процессорами IBM POWER8. Это облегчает процесс переноса приложений между 64-битными платформами Intel (x86_64
) и IBM Power Systems.
Для установки Red Hat Enterprise Linux на IBM Power Systems с прямым порядком байтов предлагается отдельный носитель. Его можно найти в секции загрузки на портале пользователей Red Hat.
Red Hat Enterprise Linux для POWER с прямым порядком байтов поддерживается только на платформах с процессорной архитектурой IBM POWER8.
В настоящее время Red Hat Enterprise Linux для POWER с прямым порядком байтов поддерживается только в качестве виртуального гостя KVM под управлением Red Hat Enteprise Virtualization. Установка в физической системе не поддерживается.
Для локальной и сетевой загрузки программы установки используется
GRUB2. В
руководстве по установке рассказывается, как настроить загрузочный сервер для клиентов IBM Power Systems.
Пакеты Red Hat Enterprise Linux для IBM Power Systems доступны в двух вариантах — с прямым и обратным порядком байтов.
Red Hat Enterprise Linux для POWER с прямым порядком байтов использует пакеты ppc64le
(например, gcc-4.8.3-9.ael7b.ppc64le.rpm).
Глава 2. Установка и загрузка
Anaconda была доработана с целью оптимизации процесса установки Red Hat Enterprise Linux 7.1.
Интерфейс
Графический процесс установки теперь включает этап настройки Kdump, который раньше настраивался в ходе выполнения firstboot. Как следствие, при отсутствии графического интерфейса настроить Kdump было невозможно. Окно Kdump можно открыть из главного меню установки.
Окно разделов было доработано, поэтому порядок элементов несколько изменился.
Сетевые мосты настраиваются в окне Сеть и имя узла. Нажмите кнопку со знаком + под списком интерфейсов, выберите Мост из выпадающего списка и в открывшемся диалоге введите необходимую информацию. Окно диалога предоставляется программой NetworkManager и подробно обсуждается в сетевом руководстве Red Hat Enterprise Linux 7.1.
Для конфигурации мостов были добавлены новые параметры кикстарта.
Журналы установки теперь на панель tmux в tty1
, не на разные консоли. Для перехода к tmux нажмите Ctrl+Alt+F1, а для переключения между окнами используйте комбинацию Ctrl+b X
(где X
— номер окна).
Чтобы вернуться к процессу установки, нажмите Ctrl+Alt+F6.
Текстовая версия Anaconda теперь включает подробную справку. Чтобы ее открыть, выполните команду anaconda -h
. В текстовом режиме Anaconda можно запустить в уже установленной системе, что часто используется для установки из дисковых образов.
Команды и параметры кикстарта
Добавлен параметр --profile=
команды logvol
, с помощью которого можно определить профиль конфигурации динамических логических томов. Имя профиля будет также добавлено в метаданные тома.
По умолчанию будет создано два профиля (default
и thin-performance
), которые будут сохранены в /etc/lvm/profile
. Подробную информацию можно найти на справочной странице lvm(8)
.
Аргумент --autoscreenshot
команды autostep
теперь работает как положено и сохраняет снимки экрана на каждом этапе установки в каталог /tmp/anaconda-screenshots
. После завершения установки снимки будут перенесены в /root/anaconda-screenshots
.
liveimg
теперь поддерживает установку из архивов \n.tar
, .tbz
, .tgz
, .txz
, .tar.bz2
, .tar.gz
и .tar.xz
. Архив должен содержать корневую файловую систему установочного носителя.
Для конфигурации мостов были добавлены новые параметры команды network
:
--bridgeslaves=
: определяет устройства, которые войдут в состав моста --device=
. Пример:
network --device=bridge0 --bridgeslaves=em1
--bridgeopts=
: список дополнительных параметров для подключаемого через мост интерфейса. Доступные параметры: stp
, priority
, forward-delay
, hello-time
, max-age
, ageing-time
. Их описание можно найти на справочной странице nm-settings(5)
.
Новый параметр --fstype
команды autopart
позволяет изменить тип файловой системы при автоматическом создании разделов (по умолчанию используется xfs
).
Ниже перечислены параметры кикстарта для поддержки Docker.
repo --install
сохраняет конфигурацию репозиториев в /etc/yum.repos.d/
. Если не задан, используемые в процессе установки репозитории не сохранятся в установленной системе.
bootloader --disabled
отменяет установку загрузчика.
%packages --nocore
отменяет установку группы пакетов @core
. Обычно используется для выполнения минимальной установки в контейнерах.
Эти параметры имеют смысл только для контейнеров Docker, — при обычной установке они могут привести к невозможности загрузки системы.
Энтропия Anaconda
Если диск, на котором устанавливается Red Hat Enterprise Linux 7.1, должен быть зашифрован, Anaconda осуществит сбор энтропии для достижения необходимого уровня защиты. Так как этот процесс может занять некоторое время, Anaconda предложит свои рекомендации по сокращению времени генерации энтропии.
Встроенная справка в графическом режиме
В правом верхнем углу окна в графическом режиме установки доступна кнопка справки, которая откроет соответствующую секцию
руководства по установке в окне
Yelp.
Установочный носитель для IBM Power Systems теперь включает GRUB2 вместо yaboot. Red Hat Enterprise Linux для POWER с прямым порядком байтов тоже требует GRUB2, в то время как комплект с обратным порядком байтов может использовать оба загрузчика, хотя GRUB2 является более предпочтительным.
В
руководство по установке добавлена информация о подготовке загрузочного сервера для загрузки IBM Power Systems при помощи
GRUB2.
Кэш LVM
Red Hat Enterprise Linux 7.1 теперь официально поддерживает кэш LVM, что позволяет создать логический том на базе небольшого быстрого устройства, которое будет выступать в роли кэша для медленных устройств. Подробную информацию можно найти на справочной странице lvm(8)
.
На подобное кэширование накладывается несколько ограничений:
Том кэша должен располагаться на верхнем уровне устройства и не может использоваться как динамический том, образ RAID или любой другой подтип логических томов.
После создания тома его параметры уже нельзя будет изменить. Чтобы это сделать, надо будет его удалить и создать заново с новыми параметрами.
LibStorageMgmt API
Red Hat Enterprise Linux 7.1 теперь официально поддерживает libStorageMgmt
API, который позволяет программно управлять хранилищами разных производителей и эффективно использовать их функции аппаратного ускорения. LibStorageMgmt
предоставляет команды для автоматизации задач управления хранилищем и необходимые функции для его ручной настройки. При этом поддержка модуля Targetd
осталась на уровне экспериментальной.
LSI Syncro
Драйвер
megaraid_sas
теперь включает код активации адаптеров LSI Syncro CS HA-DAS (High-Availability Direct-Attаched Storage). Несмотря на то что
megaraid_sas
полностью поддерживается в Red Hat Enterprise Linux 7.1, его поддержка для Syncro CS предлагается только в экспериментальном варианте, поэтому компании Red Hat и LSI продолжают принимать отзывы пользователей. За дальнейшей информацией обратитесь к
http://www.lsi.com/products/shared-das/pages/default.aspx.
LVM API
Red Hat Enterprise Linux 7.1 предоставляет экспериментальный API для управления LVM.
Подробную информацию можно найти в lvm2app.h
.
Поддержка DIF/DIX
Red Hat Enterprise Linux 7.1 предоставляет экспериментальные функции для обеспечения целостности данных на уровне стандарта SCSI. DIF/DIX увеличивает стандартный размер блока с 512 до 520 байт и добавляет поле целостности (DIF, Data Integrity Field). В этом поле хранится контрольная сумма блока данных, рассчитываемая HBA-адаптером в момент записи. Запоминающее устройство подтверждает сумму при получении и сохраняет ее вместе с данными. Во время чтения контрольная сумма будет проверяться устройством данных и HBA-адаптером.
Device-mapper-multipath
Если device-mapper-multipath
обнаружил пустые строки во время проверки файла multipath.conf
, они будут пропущены, а на экран будет выведено сообщение об ошибке.
В команде
multipathd show paths format
допускается использование подстановок:
Это значительно упрощает настройку многопутевых схем хостов Fibre Channel, целевых устройств и портов.
Глава 4. Файловые системы
Btrfs
Red Hat Enterprise Linux 7.1 включает пилотную версию файловой системы Btrfs
(B-Tree) с усовершенствованными функциями управления, масштабирования и надежности. Btrfs поддерживает снимки файловой системы, возможности сжатия и интегрированного управления устройствами.
pNFS
pNFS (Parallel NFS) является спецификацией стандарта NFS v4.1 для реализации параллельного доступа к данным на распределенных серверах NFS, что повышает производительность и облегчает их масштабирование.
pNFS поддерживает три схемы хранения данных — на основе объектов, файлов и блоков . Клиенты Red Hat Enterprise Linux 7.1 полностью поддерживают файловую структуру, а поддержка объектной и блочной структур предоставляется в качестве экспериментальной версии.
Red Hat при сотрудничестве с партнерами и другими открытыми проектами продолжает работу по стандартизации новых типов pNFS с целью обеспечения их полной поддержки.
Поддержка блочных устройств Ceph
Новые модули ядра libceph.ko
и rbd.ko
показывают блочные устройства Ceph как обычные устройства, которые могут быть смонтированы в каталог и отформатированы (например, как XFS
или ext4
).
Модуль ceph.ko
больше не поддерживается.
Обновление микропрограмм
В Red Hat Enterprise Linux 7.1 на платформах IBM System z включены обновления на микропрограммном уровне. Их параллельная установка не приведет к снижению скорости операций ввода-вывода флэш-накопителя. Пользователь будет уведомлен о сделанных изменениях.
Динамические исправления
Добавлена экспериментальная поддержка kpatch на платформах AMD64 и Intel 64 для применения исправлений к ядру на лету без необходимости перезагрузки системы.
Загрузка аварийного ядра с несколькими процессорами
Red Hat Enterprise Linux 7.1 разрешает использование нескольких процессоров при загрузке аварийного ядра. Эта функциональность предоставляется на экспериментальном уровне.
Dm-era
Red Hat Enterprise Linux 7.1 поддерживает экспериментальный модуль dm-era для device-mapper, который обычно используется в комбинации с dm-cache и отслеживает изменения блоков за заданный промежуток времени. Отсчет времени ведет 32-разрядный счетчик. Программы резервного копирования могут использовать dm-era для контроля блоков, которые были изменены со времени последнего копирования. Также dm-era поможет частично освободить кэш в ходе отката к исходному снимку.
Cisco VIC
Добавлена экспериментальная поддержка драйвера ядра Cisco VIC Infiniband для реализации удаленного прямого доступа к памяти (RDMA, Remote Directory Memory Access) на платформах Ciscso.
Hwrng
В Red Hat Enterprise Linux 7.1 было оптимизировано использование аппаратных генераторов случайных чисел (hwrng) виртуальными гостями Linux. Раньше в гостевой системе надо было запустить rngd
и предоставить доступ к пулу энтропии ядра. Теперь этот шаг не требуется, а в случае снижения энтропии до заданного уровня khwrngd
получит ее из virtio-rng
. Прозрачность такого подхода помогает эффективно использовать преимущества аппаратных генераторов случайных чисел хоста KVM.
Распределение нагрузки
Раньше при балансировке нагрузки планировщик учитывал все бездействующие процессоры. В Red Hat Enterprise Linux 7.1 незанятый процессор будет задействован, только если достигнут порог простоя. Такой подход сокращает число лишних операций распределения нагрузки, тем самым повышая производительность планировщика.
Newidle
При отсутствии готовых к запуску задач планировщик прекратит их поиск в коде баланса newidle
, что положительно скажется на производительности.
HugeTLB и выделение страниц размером 1 ГБ
Red Hat Enterprise Linux 7.1 поддерживает возможность выделения страниц памяти размером 1 ГБ во время работы системы. Помимо этого, пользователь сам сможет выбрать узел NUMA, на котором будет выделена страница.
Блокирование MCS
Новый механизм блокирования MCS значительно снижает накладные расходы spinlock
в больших системах, что повышает эффективность блокировки.
Размер стека процессов увеличен до 16 КБ
С целью оптимизации работы больших процессов размер стека был увеличен с 8 КБ до 16 КБ.
Uprobe и uretprobe с perf и systemtap
Uprobe
и uretprobe
теперь правильно работают с perf
и systemtap
.
Сквозная проверка согласованности данных
Red Hat Enterprise Linux 7.1 поддерживает сквозную проверку согласованности данных на платформах IBM System z, что эффективно снижает риск их потери.
Генератор псевдослучайных чисел в 32-битных системах
Red Hat Enterprise Linux 7.1 допускает использование генератора псевдослучайных чисел в 32-битных системах.
Размер crashkernel в Kdump
Kdump теперь полностью поддерживается в системах с объемом памяти более 4 ТБ.
Число виртуальных процессоров в KVM
Максимальное число виртуальных процессоров для гостей KVM увеличено до 240.
Поддержка Intel Core 5-го поколения
Гипервизор QEMU, код ядра KVM и libvirt
API поддерживают процессоры Intel Core 5-го поколения. Это позволяет использовать инструкции ADCX, ADOX, RDSFEED, PREFETCHW и SMAP.
Поддержка USB 3.0
Добавлена экспериментальная поддержка эмуляции контроллера USB 3.0 (xHCI).
Dump-guest-memory
Dump-guest-memory
теперь поддерживает сжатие дампа памяти. От этого особенно выиграют пользователи, которые по какой-либо причине не могут использовать virsh dump
, экономя не только место, но и время, которое будет затрачено на запись дампа.
OVMF
В Red Hat Enterprise Linux 7.1 добавлена экспериментальная поддержка OVMF (Open Virtual Machine Firmware) — защищенной среды загрузки UEFI для гостей AMD64 и Intel 64.
Hyper-V
Драйвер Hyper-V оптимизирован с целью повышения производительности сети. Теперь он поддерживает функции RSS (Receive Side Scaling), LSO (Large Send Offload) и ввод-вывод с рассеиванием/сборкой.
Hypervfcopyd в hyperv-daemons
В комплект hyperv-daemons был добавлен hypervfcopyd
, реализующий функциональность копирования файлов с хоста Hyper-V 2012 R2 в гостевую систему Linux по VMBUS.
Libguestfs
Библиотека libguestfs
предлагает несколько новых инструментов для управления образами виртуальных машин.
Новые инструменты
virt-v2v
— утилита для преобразования гостей, управляемых внешним гипервизором, с целью передачи управления KVM c libvirt, OpenStack, oVirt, Red Hat Enterprise Virtualization (RHEV) и др. В настоящее время virt-v2v может преобразовать гостевые системы Red Hat Enterprise Linux и Windows, работающие на Xen и VMware ESX.
virtio-blk-data-plane
Red Hat Enterprise Linux 7.1 теперь полностью поддерживает модуль virtio-blk-data-plane
, позволяющий QEMU выделить отдельный поток для дискового ввода-вывода, тем самым улучшая производительность ввода-вывода.
Анализ производительности qemu-kvm
Red Hat Enterprise Linux 7.1 включает поддержку SystemTap
для анализа производительности системы. С помощью SystemTap
можно следить за работой гостевых систем и автоматически собирать статистику qemu-kvm. Такой подход обеспечивает гораздо большую гибкость по сравнению с созданием дампов qemu-kvm.
Контроль выделения памяти на узлах NUMA
Новый параметр <memnode>
в настройках <numatune>
XML-конфигурации домена libvirt
позволяет установить ограничения для памяти гостевых операционных систем на каждом узле NUMA.
Token_coefficient
в Corosync
Новый параметр token_coefficient
для Corosync Cluster Engine
используется только в том случае, если секция nodelist
определена и содержит как минимум 3 узла. Расчет времени ожидания производится по формуле:
[токен + (число_узлов - 2)] * коэффициент
Это позволяет наращивать кластер без необходимости ручной коррекции времени ожидания после добавления нового узла. По умолчанию интервал равен 650 миллисекундам. Нулевое значение отключит эту функцию.
Таким образом, Corosync
с легкостью адаптируется к добавлению и удалению узлов.
Auto_tie_breaker
в Corosync
Функциональность auto_tie_breaker
была дополнена: теперь пользователь сможет сам выбрать набор узлов, который получит кворум при распаде кластера на равные части. По умолчанию будет выбрана часть, содержащая узел с наименьшим идентификатором.
Red Hat High Availability
Ниже перечислены основные изменения комплекта Red Hat High Availability
.
pcs resource cleanup
теперь может сбрасывать значение failcount
и статус всех ресурсов.
С помощью параметра lifetime
команды pcs resource move
можно настроить срок действия ограничений, автоматически накладываемых на ресурсы при выполнении этой команды.
Разрешения чтения и записи конфигурации кластера можно настроить при помощи команды pcs acl
.
pcs constraint
позволяет настроить не только общие, но и индивидуальные параметры ограничений кластерных ресурсов.
Параметр disabled
команды pcs resource create
запрещает автоматический запуск созданного ресурса.
pcs cluster quorum unblock
означает, что кластер не будет дожидаться установки кворума всеми узлами.
Параметры before
и after
команды pcs resource create
позволяют изменить порядок групп ресурсов.
Параметры backup
и restore
команды pcs config
отвечают за создание и восстановление архива файлов конфигурации кластера на всех узлах.
Глава 8. Компилятор и инструменты
Внесение изменений в бинарные функции System z
GCC (GNU Compiler Collection) теперь позволяет вносить исправления на лету в многопоточный код бинарных функций System z. Параметр командной строки
-mhotpatch
включает эту функциональность для всех функций, в то время как для конкретной функции это поведение можно контролировать с помощью атрибута hotpatch.
Так как применение исправлений в процессе работы отрицательно влияет на производительность, не рекомендуется использовать -mhotpatch
, а разрешать это для отдельных функций по мере необходимости.
В Red Hat Enterprise Linux 7.1 эта функциональность поддерживается полностью.
PAPI
Red Hat Enterprise Linux 7 поддерживает PAPI (Performance Application Programming Interface) — кроссплатформенный интерфейс для анализа производительности современных микропроцессоров. Для отслеживания событий PAPI использует счетчики, представляющие собой наборы регистров, что широко применяется для анализа и оптимизации производительности.
PAPI и библиотеки
libpfm
теперь поддерживают процессоры IBM Power 8, Applied Micro X-Gene, ARM Cortex A57 и ARM Cortex A53.
OProfile
OProfile — средство профилирования систем Linux для сбора статистики в фоновом режиме. В Red Hat Enterprise Linux 7.1 вошла версия OProfile, совместимая с процессорами Intel Atom C2XXX, Intel Core 5-го поколения, IBM Power8, AppliedMicro X-Gene и ARM Cortex A57.
OpenJDK8
Red Hat Enterprise Linux 7.1 включает пакеты java-1.8.0-openjdk с последней версией открытой реализации Java SE 8 — OpenJDK 8. Эти пакеты могут устанавливаться параллельно с java-1.7.0-openjdk.
Java 8 предоставляет множество новых функций, в том числе новые стандартные методы, лямбда-выражения, Stream API, JDBC 4.2, аппаратную поддержку AES и др. Другие усовершенствования и исправления OpenJDK8 оптимизируют производительность при разработке и запуске программ Java.
Sosreport и snap
Функциональность устаревшей программы snap из пакета powerpc-utils была интегрирована в sosreport.
GDB и PowerPC 64-бит с прямым порядком байтов
GDB теперь поддерживает 64-битную архитектуру PowerPC с прямым порядком байтов (от младшего к старшему).
Tuna
При помощи утилиты
Tuna
можно корректировать регулируемые параметры планировщика, в том числе правила планирования, приоритет RT, привязку к процессорам и т.п. Улучшенный интерфейс
Tuna
теперь запрашивает авторизацию root при запуске — таким образом, не требуется запускать рабочий стол в режиме root, чтобы запустить
Tuna
. Подробное обсуждение можно найти в
руководстве пользователя Tuna.
Глава 9. Сетевые возможности
Trusted Network Connect
В Red Hat Enterprise Linux 7.1 добавлена экспериментальная поддержка стандарта TNC (Trusted Network Connect), используемого в комбинации с TLS, 802.1X и IPsec для защиты конечных узлов. TNC проверяет статистику системы (данные о конфигурации операционной системы, списки установленных пакетов и т.п.) и определяет уровень доступа к сети по результатам анализа.
SR-IOV и qlcnic
Драйвер qlcnic
поддерживает экспериментальный вариант технологии SR-IOV (Single Root I/O Virtualization). Эта функциональность предоставляется на базе QLogic, поэтому отзывы и предложения следует отправлять Red Hat и QLogic. Остальные функции qlcnic поддерживаются полностью.
Фильтр пакетов Berkeley
В Red Hat Enterprise Linux 7.1 добавлена поддержка анализаторов трафика на базе BPF (Berkeley Packet Filter). BPF используется для фильтрации пакетов на уровне сокетов, а также в
seccomp и Netfilter. Богатый синтаксис BFP предлагает широкие возможности по созданию фильтров.
Стабильность работы часов
Раньше отключение режима динамических прерываний могло улучшить работу системных часов (с помощью параметра ядра nohz=off
). В ядре Red Hat Enterprise Linux 7.1 стабильность работы системных часов была существенно оптимизирована и nohz=off
не имеет большого значения. Это особенно улучшает эффективность программ синхронизации времени, использующих PTP
и NTP
.
Libnetfilter_queue
Библиотека libnetfilter_queue
предоставляет API для управления пакетами, которые были поставлены в очередь фильтром пакетов ядра. Функции включают извлечение пакетов из очереди подсистемы nfnetlink_queue
, их анализ, изменение заголовков и вставку уже измененных пакетов.
Libteam
libteam обновлен до версии 1.14-1
и включает целый ряд исправлений и дополнений. Так, в частности, systemd
теперь может автоматически запускать teamd
, что в целом повышает производительность.
Intel QuickAssist
Добавлен драйвер Intel QAT (QuickAssist Technology) для поддержки оборудования QuickAssist, что позволяет интегрировать аппаратные функции ускорения в программный дизайн с целью повышения производительности.
Timemaster в комбинации PTP с NTP
Пакет linuxptp обновлен до версии 1.4
. Среди прочего, он поддерживает переход от синхронизации часов с доменами PTP
к NTP
при помощи timemaster. При наличии нескольких доменов PTP
или при необходимости отката к NTP
, timemaster выберет наиболее точный источник времени из доступных вариантов.
Сценарии инициализации сетевых подключений
Red Hat Enterprise Linux 7.1 допускает использование произвольных имен VLAN. Поддержка IPv6
в туннелях GRE улучшена: внутренний адрес после перезагрузки не меняется.
Отсрочка ответов ACK в TCP
Iproute позволяет отсрочить отправку ACK, сгруппировав его с другими ответами ACK, тем самым сократив нагрузку. Эти функции контролируются командой ip route quickack
.
NetworkManager
NetworkManager в Red Hat Enterprise Linux 7.1 поддерживает параметр lacp_rate
. Также существенно упрощено переименование устройств при переименовании мастер-интерфейса и подчиненных интерфейсов.
Если при попытке автоматического подключения NetworkManager обнаружил несколько потенциальных вариантов, будет выбрано соединение с наиболее высоким приоритетом. Если все соединения имеют одинаковый приоритет, по умолчанию будет выбран наиболее активный канал.
VTI
В Red Hat Enterprise Linux 7.1 добавлена поддержка
интерфейсов виртуальных туннелей (
VTI, Virtual Tunnel Interface), что делает возможным прохождение трафика VTI в разных пространствах имен при инкапсуляции и извлечении пакетов.
Конфигурация MemberOf
Конфигурацию модуля MemberOf
для 389 Directory Server теперь можно разместить не в только в cn=config, но и в отдельной области в базе данных. Такое централизованное расположение облегчает копирование конфигурации MemberOf
на мастер-серверы.
Docker — открытое решение для автоматизации установки и управления приложениями со всеми зависимостями в изолированных контейнерах. Готовые контейнеры можно будет перенести и развернуть на другом узле. Контейнеры значительно упрощают внедрение приложений, их тестирование и диагностику, при этом обеспечивая высокий уровень защиты. Использование Docker в Red Hat Enterprise Linux 7 существенно увеличивает эффективность работы персонала, сокращает время, необходимое для развертывания приложений, и обеспечивает гибкое распределение ресурсов.
Red Hat Enterprise Linux 7.1 включает в свой состав Docker 1.3.2, отличительные особенности которого перечислены ниже.
Добавлена экспериментальная поддержка проверки цифровых подписей репозиториев.
Для запуска процессов в контейнере из Docker API используется команда docker exec
.
docker create
создает контейнер, не запуская процессы.
Red Hat предоставляет базовые образы Docker для сборки приложений на Red Hat Enterprise Linux 6 и Red Hat Enterprise Linux 7.
Контейнеры Linux под управлением Docker могут выполняться на узлах с включенными функциями SELinux. Если каталог /var/lib/docker/
расположен в файловой системе Btrfs
, SELinux будет недоступен.
Основные компоненты Docker включают:
Контейнер — изолированный экземпляр операционной системы на базе образа. При запуске контейнера из образа будет добавлен дополнительный слой образа. Сделанные в контейнере изменения можно сохранить в новый слой образа при помощи команды docker commit
.
Образ — статический снимок конфигурации контейнера, доступный только для чтения. Изменения будут применяться к образу на верхнем слое, после чего его можно будет сохранить в новый образ. Образ может быть связан с одним или несколькими родительскими образами.
Базовый образ — образ без родителя, определяющий рабочее окружение, пакеты и утилиты, необходимые для выполнения приложений в контейнере. Базовый образ доступен только для чтения, а изменения будут сохраняться в новый образ на следующем уровне.
Рисунок 10.1, «Иерархия образов в Docker» иллюстрирует пример такой иерархии.
Реестр — полный комплект образов. Реестр может быть открытым или закрытым. В некоторые реестры можно добавлять образы, тем самым разрешая их загрузку другими пользователями.
Dockerfile — файл конфигурации с командами сборки образов. С его помощью можно стандартизировать и автоматизировать процесс сборки.
Docker предоставляет API для работы с образами, управления контейнерами и даже позволяет использовать удаленный реестр для организации совместного доступа к контейнерам. Ключевые особенности Docker перечислены ниже.
Быстрое развертывание приложений: минимальные требования контейнеров к рабочему окружению позволяют поддерживать небольшой размер контейнера и быстро его развернуть.
Кроссплатформенность : приложение и его зависимости могут быть упакованы в платформонезависимый контейнер и перенесены на другой компьютер с поддержкой Docker.
Контроль версий и многократное использование компонентов: при необходимости можно выполнить откат к предыдущей версии контейнера или сравнить версии с целью определения различий. Новый контейнер создается на базе предыдущего с учетом различий — это и обеспечивает их легковесную структуру.
Совместный доступ: чтобы поделиться контейнером с другими пользователями, поместите его в удаленный репозиторий — реестр. Реестры могут быть общедоступными и закрытыми.
Легковесная структура и минимальные издержки: развертывание образов Docker происходит быстро, так как они не занимают много места.
Легкость обслуживания: Docker существенно упрощает процесс разрешения зависимостей и уменьшает риск их нарушения.
10.3. Сравнение с виртуальными машинами
Виртуальные машины строятся на базе сервера, где должно быть установлено необходимое программное обеспечение, требующее соответствующей поддержки. На каждой виртуальной машине необходимо установить отдельную операционную систему, в то время как контейнеры Docker используют единую ОС и разделяют доступ к системным ресурсам.
Для создания виртуальной системы необходимо установить полную версию операционной системы, что существенно увеличивает нагрузку, в то время как создание и удаление контейнеров не требует значительных ресурсов.
Контейнеры не занимают много места, поэтому на одном и том же хосте вы сможете разместить больше контейнеров чем виртуальных машин.
Контейнеры используют системные ресурсы совместно, то есть выполнение разных экземпляров одного приложения в контейнерах не требует дублирования одних и тех же библиотек. В свою очередь, виртуальные машины полностью изолированы от других.
Виртуальные машины можно переносить с одного хоста на другой, не прерывая работу, что невозможно для контейнеров — их надо будет остановить.
Прежде чем сделать выбор в пользу контейнеров или виртуальных машин, в каждом индивидуальном случае надо точно сформировать свои требования и оценить последствия.
Docker FAQ содержит ответы на наиболее часто задаваемые вопросы.
10.4. Docker в Red Hat Enterprise Linux 7.1
Реестр образов Red Hat содержит базовые образы для сборки приложений в Red Hat Enterprise Linux 6, 7 и других окружениях на базе Red Hat Enterprise Linux 7.1. Полный список можно найти на
портале пользователей.
Глава 11. Аутентификация и функциональная совместимость
Резервное копирование и восстановление
Новая команда
ipa-backup
создает архив данных управления идентификацией пользователей, а
ipa-restore
восстанавливает их в случае сбоя оборудования. Подробную информацию можно найти на справочных страницах ipa-backup(1), ipa-restore(1) и в документации
FreeIPA.
ipa-cacert-manage renew
Новая команда
ipa-cacert-manage renew
обновляет сертификат центра сертификации в системе управления идентификационными данными, что позволяет добавить сертификаты внешних центров. Подробную информацию можно найти на справочной странице ipa-cacert-manage(1) и в документации
FreeIPA.
Контроль доступа на сервере IDM
Раньше авторизованные пользователи на сервере IDM автоматически получали доступ ко всей информации. Теперь администратор может контролировать разрешения доступа по секциям, что облегчает защиту данных на сервере. Подробную информацию можно найти в документации
FreeIPA.
Ограничение доступа к доменам
Новый параметр
domains=
модуля
pam_sss
переопределяет одноименное значение в
/etc/sssd/sssd.conf
. Параметр
pam_trusted_users
позволяет определить список доверенных пользователей для
SSSD
, а
pam_public_domains
— список общедоступных доменов. С учетом этих нововведений, можно создать схему доступа, разрешающую доступ непривилегированных пользователей к отдельным приложениям, но не к самой системе. Более детально это обсуждается в документации
SSSD.
Интеграция SSSD c CIFS
SSSD
предоставляет дополнительный интерфейс для контроля того, как именно
cifs-utils будет создавать соответствия для идентификаторов. Таким образом, клиенты
SSSD
смогут обращаться к ресурсаму CIFS аналогично тому, как это делают клиенты
Winbind. Более подробно об этом рассказывается в документации
SSSD.
Переход от WinSync к отношениям доверия
Новая концепция
ID-представлений
помогает перевести пользователей IDM с
WinSync на схему отношений доверия между областями определения. За подробной информацией обратитесь к
документации FreeIPA.
Автоматическая конфигурация провайдера данных
ipa-client-install
по умолчанию использует SSSD
в качестве провайдера данных для sudo. Это поведение можно отключить при помощи ключа --no-sudo
. Новый параметр --nisdomain
определяет имя домена NIS, которое будет использоваться при установке клиента IDM, а --no_nisdomain
пропускает его настройку. Если ни один из этих параметров не указан, будет выбран домен IPA.
Провайдеры AD и LDAP для sudo
Провайдер AD обеспечивает подключение к серверу Active Directory. Red Hat Enterprise Linux 7.1 предлагает экспериментальную поддержку провайдера AD в комбинации с LDAP. Чтобы включить эту возможность, в sssd.conf
добавьте sudo_provider=ad
в секции домена.
Scap-security-guide
Пакет scap-security-guide предоставляет рекомендации спецификации SCAP (Security Content Automation Protocol), стандартные профили, механизмы проверки и необходимые данные для проверки соответствия системы требованиям безопасности (текстовое описание и автоматический тест). Автоматический тест может выполняться регулярно, тем самым обеспечивая удобный и надежный метод проверки.
Утилита oscap
из пакета openscap-utils поможет проверить систему на предмет соответствия требованиям спецификации. Подробную информацию можно найти на справочных страницах scap-security-guide(8).
SELinux
В Red Hat Enterprise Linux 7.1 стратегия SELinux подверглась изменениям: сервисы, для которых не были определены правила, работавшие в домене
init_t
, теперь будут выполняться в домене
unconfined_service_t
. Подробно этот вопрос обсуждается в главе
Неограниченные процессы в
руководстве SELinux.
OpenSSH
Комплект OpenSSH обновлен до версии 6.6.1p1.
Добавлена поддержка обмена ключами в соответствии с алгоритмом Диффи-Хеллмана
на эллиптических кривых Curve25519
. Этот метод используется по умолчанию сервером и клиентом при условии, что они его поддерживают.
Добавлена поддержка оптимизированного по быстродействию алгоритма Ed25519
на эллиптических кривых, который может использоваться для расчета ключей как на стороне клиента, так и хоста, и обеспечивает более высокий уровень защиты по сравнению с ECDSA
и DSA
.
Добавлен новый формат закрытого ключа на базе bcrypt
. Ключи Ed25519
используют этот формат по умолчанию.
Новый шифр chacha20-poly1305@openssh.com
объединяет поточный шифр ChaCha20
и код аутентификации сообщений Poly1305
.
Libreswan
Libreswan, открытая программная реализация
VPN на базе IPsec, обновлена до версии 3.12.
Добавлены новые шифры.
В
IKEv2
улучшена поддержка типа данных
CP
и запросов
CREATE_CHILD_SA
, а также добавлена поддержка
AH (
Authenticated Header
).
IKEv1
и IKEv2
поддерживают цепочки промежуточных сертификатов.
Оптимизировано управление соединениями.
Улучшена совместимость с OpenBSD, Cisco и Android.
Усовершенствована поддержка systemd.
Добавлена поддержка хэшированных запросов CERTREQ
и статистики трафика.
Trusted Network Connect
Реализация TNC (Trusted Network Connect) в пакете strongimcv построена на базе strongSwan 5.2.0. Ее основные особенности:
Добавлен транспортный протокол PT-EAP
(RFC 7171).
Аттестация IMC/IMV поддерживает формат измерений IMA-NG.
Аттестация IMV поддерживает TPMRA (TPM Remote Attestation).
Добавлена поддержка REST API с SWID IMV на базе JSON.
SWID IMC осуществляет сбор информации об установленных пакетах под управлением dpkg, rpm и pacman при помощи swidGenerator, который генерирует теги SWID по спецификации ISO/IEC 19770-2:2014.
Реализация библиотеки libtls
для TLS 1.2, используемая протоколом EAP-(T)TLS, поддерживает режим AEAD, на данный момент ограничиваясь рамками AES-GCM.
Aikgen при создании ключа AIK (Attestation Identity Key) привязывает его к модулю TPM.
IMV хранит код клиента, запрашивающего доступ, идентификатор устройства и сведения о продукте в общем объекте imv_session.
Исправлены ошибки в протоколах IF-TNCCS
(PB-TNC
, IF-M
(PA-TNC
)) и в OS IMC/IMV
.
GnuTLS
Свободная реалзиация GnuTLS для протоколов SSL
, TLS
и DTLS
обновлена до версии 3.3.8.
Добавлена поддержка DTLS 1.2
.
Добавлена поддержка расширения
ALPN (
Application Layer Protocol Negotiation).
Оптизирована работа комплектов шифрования, использующих алгоритмы на основе эллиптических кривых.
Добавлены шифры RSA-PSK
и CAMELLIA-GCM
.
Добавлена поддержка
TPM (
Trusted Platform Module).
Добавлена поддержка смарт-карт
PKCS#11
и улучшена поддержка аппаратных модулей
HSM (
Hardware Security Modules).
Улучшено соответствие требованиям федеральных стандартов FIPS 140 (Federal Information Processing Standards).
Глава 13. Рабочее окружение
Поддержка стереоизображений Quad Buffered OpenGL
GNOME Shell и Mutter теперь допускают использование Quad Buffered OpenGL на поддерживаемом оборудовании. Для этого потребуется установить драйвер NVIDIA 337 и выше.
Провайдеры сетевых учетных записей
В gnome-online-accounts добавлен ключ org.gnome.online-accounts.whitelisted-providers
для GSettings, определяющий список провайдеров сетевых учетных записей, которые должны быть включены во время запуска. Таким образом, администратор может контролировать добавление провайдеров.
Глава 14. Поддержка работоспособности
Микроотчеты ABRT
В Red Hat Enterprise Linux 7.1 ABRT характеризуется тесным уровнем интеграции с порталом пользователей Red Hat. Теперь микроотчеты можно напрямую передавать на портал, используя данные авторизации пользователя на портале или сертификат полномочий.
Автоматическая авторизация позволит получать ответы на микроотчеты в текстовом формате с предложениями возможных решений. Дополнительно можно настроить уведомления о важных обновлениях, имеющих отношение к содержимому микроотчетов.
Авторизация микроотчетов в Red Hat Enterprise Linux 7.0 включена по умолчанию.
Глава 15. Программные коллекции
Комплект Red Hat Software Collections включает в свой состав ряд динамических языков программирования, серверов баз данных и относящихся к ним пакетов, которые можно установить в Red Hat Enterprise Linux 6 и Red Hat Enterprise Linux 7 на платформах AMD64 и Intel 64.
Red Hat Software Collections не ставит целью заменить стандартные системные инструменты Red Hat Enterprise Linux.
Механизм сборки пакетов в Red Hat Software Collections построен на базе scl
, что позволяет выбрать конкретную версию интересующего пакета.
Red Hat Developer Toolset теперь входит в состав Red Hat Software Collections в качестве отдельной коллекции. В его состав вошли компиляторы и отладчик GNU, платформа разработки Eclipse и другие инструменты разработки, отладки и контроля производительности.
Полный список программ в комплекте, а также обзор известных проблем и инструкции можно найти
здесь.