Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Amet13/vz-tutorial.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmet13 <admin@amet13.name>2015-12-30 16:40:13 +0300
committerAmet13 <admin@amet13.name>2015-12-30 16:40:13 +0300
commitc6b070afe09a887cca3c8b6c3a6b7238a9866561 (patch)
tree88e8319034703f1c40ddb908c278d2b186ae336c /README.md
parent0f1207d395fff6c4840532517a9f1e2fb0c712f7 (diff)
Поправил ссылки
Diffstat (limited to 'README.md')
-rw-r--r--README.md69
1 files changed, 34 insertions, 35 deletions
diff --git a/README.md b/README.md
index 798be8c..dde6263 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Руководство по созданию и управлению контейнерами и виртуальными машинами на базе Virtuozzo
-## <a name='toc'>Содержание</a>
+## <a name='toc'></a>Содержание
1. [Введение в виртуализацию](#intro)
- [Эмуляция оборудования](#emulation)
- [Полная виртуализация](#full-virt)
@@ -35,7 +35,7 @@
10. [Ссылки](#links)
11. [Лицензия](#license)
-## [⬆](#toc) <a name='intro'>Введение в виртуализацию</a>
+## [⬆](#toc) <a name='intro'></a>Введение в виртуализацию
Виртуализация — предоставление наборов вычислительных ресурсов или их логического объединения, абстрагированное от аппаратной реализации, и обеспечивающее изоляцию вычислительных процессов.
Виртуализацию можно использовать в:
@@ -59,7 +59,7 @@
* паравиртуализация (Xen, L4, Trango)
* виртуализация уровня ОС (LXC, Virtuozzo, Jails, Solaris Zones)
-### <a name='emulation'>Эмуляция оборудования</a>
+### <a name='emulation'></a>Эмуляция оборудования
Эмуляция аппаратных средств является одним из самых сложных методов виртуализации.
Главной проблемой при эмуляции аппаратных средств является низкая скорость работы, в связи с тем, что каждая команда моделируется на основных аппаратных средствах.
@@ -71,7 +71,7 @@
*Эмуляция оборудования моделирует аппаратные средства*
![Схема эмуляции оборудования](https://raw.githubusercontent.com/Amet13/virtuozzo-tutorial/master/images/emulation.png)
-### <a name='full-virt'>Полная виртуализация</a>
+### <a name='full-virt'></a>Полная виртуализация
Полная виртуализация использует гипервизор, который осуществляет связь между гостевой ОС и аппаратными средствами физического сервера.
В связи с тем, что вся работа с гостевой операционной системой проходит через гипервизор, скорость работы данного типа виртуализации ниже чем в случае прямого взаимодействия с аппаратурой.
Основным преимуществом является то, что в ОС не вносятся никакие изменения, единственное ограничение — операционная система должна поддерживать основные аппаратные средства.
@@ -81,7 +81,7 @@
Полная виртуализация возможна исключительно при условии правильной комбинации оборудования и программного обеспечения.
-### <a name='paravirt'>Паравиртуализация</a>
+### <a name='paravirt'></a>Паравиртуализация
Паравиртуализация имеет некоторые сходства с полной виртуализацией.
Этот метод использует гипервизор для разделения доступа к основным аппаратным средствам, но объединяет код, касающийся виртуализации, в непосредственно операционную систему, поэтому недостатком метода является то, что гостевая ОС должна быть изменена для гипервизора.
Но паравиртуализация существенно быстрее полной виртуализации, скорость работы виртуальной машины приближена к скорости реальной, это осуществляется за счет отсутствия эмуляции аппаратуры и учета существования гипервизора при выполнении системных вызовов в коде ядра.
@@ -98,7 +98,7 @@
В этом режиме для эмуляции виртуальных устройств используется QEMU, который весьма медлителен несмотря на паравиртуальные драйвера.
Однако со временем поддержка аппаратной виртуализации в оборудовании получила настолько широкое распространение, что используется даже в современных процессорах лэптопов.
-### <a name='cont-virt'>Контейнерная виртуализация (виртуализация уровня ОС)</a>
+### <a name='cont-virt'></a>Контейнерная виртуализация (виртуализация уровня ОС)
Виртуализация уровня операционной системы отличается от других.
Она использует технику, при которой сервера виртуализируются непосредственно над ОС.
Недостатком метода является то, что поддерживается одна единственная операционная система на физическом сервере, которая изолирует контейнеры друг от друга.
@@ -112,7 +112,7 @@
Для систем на базе UNIX эта технология может рассматриваться как улучшенная реализация механизма chroot.
Ядро обеспечивает полную изолированность контейнеров, поэтому программы из разных контейнеров не могут воздействовать друг на друга.
-### <a name='vz7'>Virtuozzo — объединение технологий виртуализации уровня ОС и полной виртуализации</a>
+### <a name='vz7'></a>Virtuozzo — объединение технологий виртуализации уровня ОС и полной виртуализации
Virtuozzo позволяет создавать множество защищенных, изолированных друг от друга контейнеров на одном узле.
Помимо этого разрабатываются возможности по созданию виртуальных машин на базе QEMU/KVM.
Управление контейнерами и виртуальными машинами происходит с помощью специализированных утилит.
@@ -166,7 +166,7 @@ VCMM (Virtuozzo containers memory management) — сервис управлен
На втором графике — результаты тестирования пропускной способности сети.
На графике можно наблюдать, что OpenVZ обеспечивает практическую нативную пропускную способность 10Gb сети (9.7Gb отправка и 9.87Gb прием).
-## [⬆](#toc) <a name='history'>Краткая история проекта Virtuozzo</a>
+## [⬆](#toc) <a name='history'></a>Краткая история проекта Virtuozzo
В 1999 году возникла идея создания Linux-контейнеров, а уже в 2002 году компания SWsoft представила первый релиз коммерческой версии Virtuozzo. В том же 2002 году появились первые клиенты в Кремниевой долине.
В 2004 году выпуск Virtuozzo для Windows.
@@ -182,14 +182,14 @@ VCMM (Virtuozzo containers memory management) — сервис управлен
В апреле 2015 года был открыт репозиторий с ядром RHEL 7 (3.10), в мае были открыты исходные коды пользовательских утилит, а в июне выложены тестовые сборки ISO-образов и RPM-пакеты.
-## [⬆](#toc) <a name='install'>Установка и подготовительные действия</a>
+## [⬆](#toc) <a name='install'></a>Установка и подготовительные действия
Существует два способа установки Virtuozzo:
* с помощью ISO-образа дистрибутива
* с помощью установки пакетов и ядра на заранее установленный дистрибутив
Установка Virtuozzo с помощью PXE (Preboot Execution Environment) подробно описана в [документации](https://docs.openvz.org/virtuozzo_7_installation_using_pxe_guide.webhelp/).
-### <a name='bare-metal'>Установка Virtuozzo с помощью ISO-образа (bare-metal installation)</a>
+### <a name='bare-metal'></a>Установка Virtuozzo с помощью ISO-образа (bare-metal installation)
Дистрибутив Virtuozzo основан на операционной системе [CloudLinux](https://www.cloudlinux.com/) с патчами для ядра RHEL 7, утилитами управления и модифицированным установщиком.
Рекомендуется именно этот способ установки Virtuozzo.
@@ -242,8 +242,7 @@ Password: пароль_пользователя_root
[root@virtuozzo ~]#
```
-### <a name='exists-distro'>Установка Virtuozzo на заранее установленный дистрибутив</a>
-
+### <a name='exists-distro'></a>Установка Virtuozzo на заранее установленный дистрибутив
Поддерживаемые дистрибутивы:
* CloudLinux 7
* CentOS 7
@@ -276,7 +275,7 @@ Virtuozzo 7 beta3.
*Меню загрузчика Grub после установки Virtuozzo*
![Grub](https://raw.githubusercontent.com/Amet13/virtuozzo-tutorial/master/images/vz-install/grub-vz.png)
-### <a name='prepare'>Подготовительные действия</a>
+### <a name='prepare'></a>Подготовительные действия
На сервере важно всегда обновлять программное обеспечение, так как в новых версиях не только могут добавлять новые возможности, но и исправлять уязвимости.
Указанная ниже команда обновляет все существующие в системе пакеты:
```
@@ -297,7 +296,7 @@ Virtuozzo 7 beta3.
[root@virtuozzo ~]# ntpdate -q 0.ru.pool.ntp.org 1.ru.pool.ntp.org
```
-## [⬆](#toc) <a name='templates'>Управление шаблонами гостевых ОС</a>
+## [⬆](#toc) <a name='templates'></a>Управление шаблонами гостевых ОС
Просмотр списка уже имеющихся локальных шаблонов гостевых ОС:
```
[root@virtuozzo ~]# vzpkg list -O --with-summary
@@ -361,8 +360,8 @@ centos-7-x86_64 2015-10-19 00:48:16
centos-6-x86_64 2015-10-19 00:43:44
```
-## [⬆](#toc) <a name='containers'>Создание и настройка контейнеров</a>
-### <a name='configs'>Конфигурационные файлы</a>
+## [⬆](#toc) <a name='containers'></a>Создание и настройка контейнеров
+### <a name='configs'></a>Конфигурационные файлы
В старых версиях OpenVZ основным идентификатором контейнера является CTID, который вручную указывался при создании контейнера.
Сейчас в этом нет необходимости, на смену CTID пришел UUID, который создается автоматически.
Однако существует возможность указания UUID вручную.
@@ -414,7 +413,7 @@ DISKINODES="1310720:1310720"
The CT has been successfully configured.
```
-### <a name='create-ct'>Создание контейнера</a>
+### <a name='create-ct'></a>Создание контейнера
В качестве параметра к идентификатору контейнера может использоваться любое имя:
```
[root@virtuozzo ~]# CT=first
@@ -443,7 +442,7 @@ DEF_OSTEMPLATE=".centos-6"
Если планируется создание большого количества однотипных контейнеров, основываясь на одном и том же конфиге, то значения можно исправить на нужные.
-### <a name='setup-ct'>Настройка контейнера</a>
+### <a name='setup-ct'></a>Настройка контейнера
Контейнер создан, его можно запускать.
Но перед первым запуском необходимо установить его IP адреса, hostname, указать DNS сервера и задать пароль суперпользователя.
@@ -484,7 +483,7 @@ eVjfsDkTE63s5Nw
[root@virtuozzo ~]# prlctl set first --onboot yes
```
-### <a name='run-enter'>Запуск и вход</a>
+### <a name='run-enter'></a>Запуск и вход
После настроек нового контейнера. его можно запустить:
```
[root@virtuozzo ~]# prlctl start first
@@ -532,8 +531,8 @@ logout
[root@virtuozzo ~]#
```
-## [⬆](#toc) <a name='management'>Управление контейнерами</a>
-### <a name='status-ct'>Управление состоянием контейнера</a>
+## [⬆](#toc) <a name='management'></a>Управление контейнерами
+### <a name='status-ct'></a>Управление состоянием контейнера
Статус контейнера:
```
[root@virtuozzo ~]# prlctl status first
@@ -592,7 +591,7 @@ The CT has been successfully removed.
Команда выполняет удаление частной области сервера и переименовывает файл конфигурации, дописывая к нему `.destroyed`.
-### <a name='reinstall-ct'>Переустановка контейнера</a>
+### <a name='reinstall-ct'></a>Переустановка контейнера
Для переустановки ОС в контейнере, существует команда `vzctl reinstall`.
Прежде чем переустанавливать контейнер его нужно сначала остановить:
@@ -618,7 +617,7 @@ The CT has been successfully started.
[root@virtuozzo ~]# vzctl reinstall first --skipbackup
```
-### <a name='clone-ct'>Клонирование контейнера</a>
+### <a name='clone-ct'></a>Клонирование контейнера
Virtuozzo позволяет клонировать контейнеры:
```
[root@virtuozzo ~]# prlctl clone first --name second
@@ -661,7 +660,7 @@ Starting the CT...
The CT has been successfully started.
```
-### <a name='run-commands'>Запуск команд в контейнере с хост-ноды</a>
+### <a name='run-commands'></a>Запуск команд в контейнере с хост-ноды
Пример запуска команды в контейнере:
```
[root@virtuozzo ~]# prlctl exec first cat /etc/issue
@@ -680,7 +679,7 @@ CT second
Debian GNU/Linux 8 \n \l
```
-### <a name='extra-info'>Расширенная информация о контейнерах</a>
+### <a name='extra-info'></a>Расширенная информация о контейнерах
Подробная информация о контейнере:
```
[root@virtuozzo ~]# prlctl list -i first
@@ -749,7 +748,7 @@ ha_prio HA_PRIO
- -
```
-## [⬆](#toc) <a name='resources'>Управление ресурсами</a>
+## [⬆](#toc) <a name='resources'></a>Управление ресурсами
Доступные контейнеру ресурсы контролируются с помощью набора параметров управления ресурсами.
Все эти параметры можно редактировать в файлах шаблонов, в каталоге `/etc/vz/conf/`.
Их можно установить вручную, редактируя соответствующие конфиги или используя утилиты Virtuozzo.
@@ -761,7 +760,7 @@ ha_prio HA_PRIO
* память
* сеть
-### <a name='quota'>Дисковые квоты</a>
+### <a name='quota'></a>Дисковые квоты
Администратор сервера Virtuozzo может устанавливать дисковые квоты, в терминах дискового пространства и количества inodes, число которых примерно равно количеству файлов.
Это первый уровень дисковой квоты.
В дополнение к этому, администратор может использовать обычные утилиты внутри окружения, для настроек стандартных дисковых квот UNIX для пользователей и групп.
@@ -804,7 +803,7 @@ dumpe2fs 1.42.9 (28-Dec-2013)
[root@virtuozzo ~]# vzctl set first --diskinodes 10000:110000 --save
```
-### <a name='cpu'>Процессор</a>
+### <a name='cpu'></a>Процессор
Планировщик процессора в Virtuozzo также двухуровневый.
На первом уровне планировщик решает, какому контейнеру дать квант процессорного времени, базируясь на значении параметра `CPUUNITS` для контейнера.
На втором уровне стандартный планировщик GNU/Linux решает, какому процессу в выбранном контейнере дать квант времени, базируясь на стандартных приоритетах процесса.
@@ -882,7 +881,7 @@ NODEMASK="0"
Утилиты контроля ресурсов процессора, гарантируют любому контейнеру количество времени центрального процессора, которое собственно и получает этот контейнер.
При этом контейнер может потреблять больше времени, чем определено этой величиной, если нет другого конкурирующего с ним за время CPU сервера.
-### <a name='io'>Операции ввода/вывода</a>
+### <a name='io'></a>Операции ввода/вывода
В Virtuozzo существует возможность управления дисковыми операциями ввода/вывода.
Можно устанавливать значения таких параметров как:
* `IOPRIO`
@@ -950,7 +949,7 @@ root@first:/# dd if=/dev/zero of=test bs=1048576 count=10
10485760 bytes (10 MB) copied, 17.4388 s, 601 kB/s
```
-### <a name='memory'>Память</a>
+### <a name='memory'></a>Память
В Virtuozzo используется управление памятью четвертого поколения с помощью VCMM.
В прошлом же использовалось управление памятью с помощью:
* VSwap (третье поколение)
@@ -993,7 +992,7 @@ VM_OVERCOMMIT="2"
При использовании значения 2 для ранее упомянутого контейнера с 2048MB памяти, будет доступно (2048MB * 2 = 4096MB) памяти.
Естественно, если если эти ресурсы доступны на хост-ноде.
-### <a name='monitoring'>Мониторинг ресурсов</a>
+### <a name='monitoring'></a>Мониторинг ресурсов
С помощью утилиты `vznetstat` можно увидеть входящий и исходящий трафик (в байтах и пакетах) для всех контейнеров:
```
[root@virtuozzo ~]# vznetstat
@@ -1114,7 +1113,7 @@ KiB Swap: 975868 total, 975868 free, 0 used. 691636 avail Mem
3d32522a-80af-4773-b9fa-ea4915dee4b3 4082 105 20 0 38256 2336 1792 S 0.0 0.2 0:00.02 qmgr
```
-## [⬆](#toc) <a name='migration'>Миграция контейнеров</a>
+## [⬆](#toc) <a name='migration'></a>Миграция контейнеров
В текущей версии Virtuozzo пока недоступна возможность онлайн-миграции контейнеров без их отключения.
Пример оффлайн миграции контейнера с хост-ноды `vz-source` на `vz-dest` (192.168.0.180).
@@ -1167,14 +1166,14 @@ Starting the CT...
The CT has been successfully started.
```
-## [⬆](#toc) <a name='roadmap'>Планы</a>
+## [⬆](#toc) <a name='roadmap'></a>Планы
* 2016 — Virtuozzo 7 Technical Preview 2 — Containers.
Цель: живая миграция контейнеров с использованием CRIU
* 2016 — Virtuozzo 7 Technical Preview 2 — Virtual machines
* 2016 — Virtuozzo RC
* 2016 — Virtuozzo RTM
-## [⬆](#toc) <a name='links'>Ссылки</a>
+## [⬆](#toc) <a name='links'></a>Ссылки
* http://docs.openvz.org
* https://openvz.org/Books
* https://openvz.org/History
@@ -1183,7 +1182,7 @@ The CT has been successfully started.
* https://openvz.org/Roadmap
* https://openvz.org/Category:HOWTO
-## [⬆](#toc) <a name='license'>Лицензия</a>
+## [⬆](#toc) <a name='license'></a>Лицензия
![CC BY-SA 4.0](https://licensebuttons.net/l/by-sa/4.0/88x31.png)
[Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)](https://creativecommons.org/licenses/by-sa/4.0/deed.ru)