Пошаговые руководства, шпаргалки, полезные ссылки...
БлогФорумАвторы
Полезные Online-сервисы
Перечень Бесплатного ПО
Подписка на RSS-канал
Готовим виртуальную машину для установки операционной системы Ubuntu Server 14.04 LTS. В нашем примере будет использоваться виртуальная машина на базе гипервизора Microsoft Hyper-V
С сетевой точки зрения виртуальная машина будет изолированной, то есть будет иметь только 1 сетевой контроллер направленный в сторону интернет-провайдера.
Конфигурация виртуальной машины:
Количество создаваемых виртуальных дисков определено таким образом, чтобы при необходимости можно было их по отдельности размещать на СХД на разные физические тома (с разными скоростными показателями). Например диск под базы данных MySQL в перспективе можно будет переместить на физический том работающий на быстрых SSD дисках.
Конечная конфигурация дисков и разделов будет выглядеть таким образом:
sda 30G ├─sda1 vfat 512M /boot/efi ├─sda2 ext4 23.5G / └─sda3 swap 6G [SWAP] sdb 50G ├─sdb1 ext4 10G /home ├─sdb2 ext4 20G /var └─sdb3 ext4 20G /var/www sdc 20G └─sdc1 ext4 20G /var/lib/mysql
Подробно описывать процесс установки Ubuntu Server 14.04 LTS здесь мы не будем, так как он рассматривался ранее в статье блога Настройка прокси сервера Squid 3.3 на Ubuntu Server 14.04 LTS. Часть 1. Установка ОС на ВМ Hyper-V Gen2. Однако здесь мы уделим внимание тем шагам, которые отличаются от типичной установки, касающимся планируемой нами дисковой конфигурации системы.
Дойдя до шага разметки дисков, выбираем первый диск sda и жмём Enter
Согласимся с запросом на создание новой таблицы разделов на выбранном диске Yes
Выбираем свободное место FREE SPACE и жмём Enter
В появившемся окне выбираем вариант создания нового раздела Create a new patition и жмём Enter
Укажем небольшую величину, например 512 MB, в качестве размера создаваемого раздела, который будет использоваться как загрузочный раздел. Жмём Continue.
На следующий вопрос отвечаем то, что мы хотим создать новый раздел в начале диска Beginning и жмём Enter
Затем откроется окно, в котором нам нужно будет задать параметры созданного раздела.
В поле Use as: выбираем из списка возможных значений EFI boot partition . Убеждаемся в том, что поле Bootable flag: установлено в on
Сохраняем настройки - выбираем вариант Done setting up the partition и жмём Enter. Мастер разметки вернёт нас обратно на окно выбра дисков. Снова выбираем свободное место FREE SPACE на первом диске ниже только что созданного раздела и нажимаем Enter
По аналогии с тем как делали ранее, создаём новый раздел:
Размер раздела рассчитываем по примерной формуле: Размер места на диске, свободного для разметки (31.7GB) минус размер раздела под файл подкачки, который создадим в дальнейшем на этом же диске (6GB) = 25.7GB
Раздел добавляем на свободное место с начала диска, то есть этот раздел будет создан сразу за загрузочным разделом, который мы создали ранее:
Настраиваем параметры раздела таким образом, что он будет являться корневым (точка монтирования «/» )
Возвращаемся в меню создания разделов и выбираем оставшееся место на первом диске:
Создаём новый раздел:
Задаём размер раздела в 6GB под файл подачки (на весь оставшийся доступный размер свободного места):
Определяем тип раздела как swap area:
Переходим к разметке следующего, второго диска - sdb:
Создаём новую таблицу разметки разделов
Выбираем свободное место для создания нового раздела:
По аналогии с ранее описанной последовательностью действий, создаём на свободном месте диска sdb по порядку 3 новых раздела.
Первый раздел второго диска под /home:
Второй раздел второго диска под /var:
Третий раздел второго диска под /var/www:
На третьем диске sdc по аналогии делаем раздел на полный размер диска с точкой монтирования /var/lib/mysql
В конечном итоге получаем планируемую разметку дисков:
Жмём Finish patitioning and write changes to disk
Завершаем процесс установки ОС и после первой загрузки системы убеждаемся в том, что точки монтирования расположены именно так как мы задумывали в процессе расметки с помощью команды:
sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
Для системы имеющей выход в Интернет первым делом необходимо включить и настроить брандмауэр iptables. Про базовую настройку iptables уже упоминалось ранее в нашем Блоге.
Меняем политику для всего входящего трафика не попавшего ни под одно правило в цепочке INPUT на запрещающую:
sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP
То же самое можно сделать и для протокола IPv6. Здесь в качестве интерфейса управления по аналогии с iptables будет выступать ip6tables
sudo ip6tables -P INPUT DROP sudo ip6tables -P FORWARD DROP
Создадим 2 правила.
1. Правило разрешающее любой входящий трафик на служебный внутренний loopback device. Это может потребоваться для корректной работы разного рода служб и приложений.
sudo iptables -I INPUT 1 -i lo -j ACCEPT
2. Правило для поддержки уже разрешённых ранее и установленных соединений
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Проверим что получилось в результате для протокола IPv4:
sudo iptables -S
А также для протокола IPv6:
sudo ip6tables -S
Для сохранения правил в большинстве случаев можно использовать пакет iptables-persistent, но проблема в том, что он не умеет работать с цепочками ipset, которые мы будем использовать в дальнейшем для защиты сервера.
Создадим файл для сохранения всех правил iptables и настроим права доступа к нему:
sudo touch /etc/iptables.conf sudo chown root:adm /etc/iptables.conf sudo chmod 640 /etc/iptables.conf
Создадим файл для сохранения всех правил ip6tables и настроим права доступа к нему:
sudo touch /etc/ip6tables.conf sudo chown root:adm /etc/ip6tables.conf sudo chmod 640 /etc/ip6tables.conf
В этот файл мы будем записывать текущую конфигурацию правил iptables после их корректировки.
Для того, чтобы правила iptables автоматически восстанавливались автоматического из файла /etc/iptables.conf во время загрузки системы, в файл /etc/rc.local (ранее всех других команд, но до команды exit 0) добавим строки:
... # Load iptables rules from this file iptables-restore < /etc/iptables.conf ip6tables-restore < /etc/ip6tables.conf ...
Для сохранения текущих правил iptables вручную в любой момент времени, например, после редактирования правил, в дальнейшем будем использовать команду:
sudo iptables-save | sudo tee /etc/iptables.conf sudo ip6tables-save | sudo tee /etc/ip6tables.conf
или
sudo sh -c "iptables-save > /etc/iptables.conf" sudo sh -c "ip6tables-save > /etc/ip6tables.conf"
Обновляем все пакеты и ядро системы и выполняем перезагрузку:
sudo apt-get update sudo apt-get dist-upgrade sudo reboot
После загрузки системы узнаём текущую версию загруженного ядра:
uname -r 3.13.0-83-generic
Как видно, в моём случае это 3.13.0-83-generic. Выполняем установку пакетов необходимых для улучшения интеграции Ubuntu Server 14.04 64-bit с Hyper-V с подстановкой версии ядра в имена пакетов linux-tools и linux-cloud-tools:
sudo apt-get install hv-kvp-daemon-init \ linux-tools-3.13.0-83-generic \ linux-cloud-tools-3.13.0-83-generic
Перезагружаем сервер и проверяем лог загрузки на предмет отсутствия ошибок запуска компонент интеграции:
sudo cat /var/log/boot.log | grep Hyper * Starting Hyper-V VSS Protocol Daemon [ OK ] * Starting Hyper-V KVP Protocol Daemon [ OK ] * Stopping Hyper-V KVP Protocol Daemon [ OK ]
Проверяем наличие процессов дополнительных средств Hyper-V:
sudo ps -ef | egrep "hv.*daemon" root 872 1 0 19:59 ? 00:00:00 /usr/lib/linux-tools/3.13.0-83-generic/hv_kvp_daemon root 873 1 0 19:59 ? 00:00:00 /usr/lib/linux-tools/3.13.0-83-generic/hv_vss_daemon
После установки компонент интеграции у нас появится возможность выполнять онлайн-бекап виртуальной машины такими средствами как Microsoft System Center 2012 R2 DPM.
Автор первичной редакции: Алексей Максимов Время публикации: 17.03.2016 15:41