Introduction
Since the introduction of Windows 10 Fall Creators Update, it’s possible to run Ubuntu natively on Windows 10. However, there are limitations to running Ubuntu natively on Windows, such as being restricted to using the command-line interface.
Hyper-V offers a built-in way of creating and managing virtual machines on Windows 10. It allows you to install a distribution of Linux, including Ubuntu.
In this tutorial, we will go over the step-by-step process of installing Ubuntu 20.04 on a virtual machine using Hyper-V on Windows 10.
Prerequisites
- A system running Windows 10
- An account with administrator-level privileges
Hyper-V Ubuntu Installation Guide
Following the steps outlined below, you can enable Hyper-V and start using it to create an Ubuntu virtual machine:
STEP 1: Enable Virtualization in BIOS
Using Hyper-V requires virtualization enabled in the motherboard’s BIOS. The exact steps of this process will vary depending on the model of your motherboard.
1. Open the BIOS by rebooting your computer and pressing the BIOS button (F1, F2, F10, F12, or Delete, depending on the motherboard model) when prompted.
2. The virtualization settings are located under the CPU or Advanced BIOS Settings category, depending on your system.
Note: The virtualization settings have different names on different systems. Look for items like Hyper-V, SVM, Vanderpool, VT-X, Intel Virtualization Technology, or AMD-V.
3. Once you enable the appropriate settings, use the Save and Exit option to confirm the changes.
STEP 2: Enable Hyper-V
Before setting up the virtual machine, you need to enable Hyper-V in Windows settings:
1. Open the Windows Start menu, and select the Settings window.
2. Click the Apps tile to open application settings.
3. On the right-hand side, click the Programs and Features link.
4. In the Programs and Features window, click the Turn Windows features on or off link on the left-hand side.
5. Scroll down and check the Hyper-V option, along with the Hyper-V Management Tools and Hyper-V Platform sub-options.
6. Click OK to confirm the changes.
7. Restart your computer.
STEP 3: Create a Virtual Switch
After enabling Hyper-V, create a virtual network switch for the virtual machine to use:
1. In the Start menu, navigate to the Windows Administrative Tools folder and open Hyper-V Manager.
2. Right-click on the name of your system on the left-hand side of the Hyper-V Manager window. Select the Virtual Switch Manager option from the drop-down menu.
3. In the Virtual Switch Manager window, select the New virtual network switch option on the left-hand side. Set the virtual switch type to External and click Create Virtual Switch.
4. Enter a name for the new virtual switch. In this example, we will be using Ubuntu 20.04. Click OK to finish setting up the virtual switch.
5. A new window might appear prompting you to apply network changes. Click Yes to confirm.
STEP 4: Install Ubuntu 20.04
Hyper-V offers two options when creating a new virtual machine:
- The Quick Create option lets you use a wizard to automatically download an operating system and install it on a virtual machine.
- You can also manually set up a new virtual machine and install an operating system from your hard drive or external media.
We will go over the process of installing Ubuntu 20.04 using both options:
Quick Create
1. In the Action drop-down menu, click Quick Create to start the quick create wizard.
2. On the left-hand side, select Ubuntu 20.04 from the list of operating systems.
3. Click More options to set up a name for the new virtual machine and select the Ubuntu 20.04 virtual switch in the Network menu.
3. Click Create Virtual Machine to start the setup process. Hyper-V will automatically download and install Ubuntu.
4. Once the installation is done, use the Connect button to start up your virtual machine or the Edit settings… button to change settings.
Manually
1. Before you start setting up a new virtual machine, download the Ubuntu 20.04 installation image from the official Ubuntu website.
2. In the Action drop-down menu, select New and click Virtual Machine.
3. In the New Virtual Machine Wizard, click Next to start setting up the new virtual machine.
4. Choose a name and install location for the new virtual machine, then click Next to proceed.
5. Choose the generation for the new virtual machine, then click Next.
Note: Learn the difference between type 1 and type 2 hypervisors in our article What is a Hypervisor.
6. Assign the amount of memory to allocate to the virtual machine. Use at least 2 GB of memory and enable the use of dynamic memory. Click Next to continue.
7. Choose Ubuntu 20.04 as the virtual network switch, then click Next.
8. Use the Create a virtual hard disk option to create a new hard disk for the virtual machine. Assign at least 20 GB of hard disk space and click Next to continue.
9. Under the Install an operating system from a bootable CD/DVD-ROM option, choose Image file (.iso) and select the Ubuntu image you downloaded previously. Click Next to continue.
10. The final step offers a summary of the new virtual machine setup. Click Previous to make any changes or click Finish to create the virtual machine.
STEP 5: Start the Virtual Machine
The new virtual machine appears in the Hyper-V Manager window. Right-click on the virtual machine name and click Connect to start it up.
Conclusion
After following this tutorial, you should have Hyper-V enabled, and a new virtual machine with Ubuntu 20.04 installed and ready to use.
Установка Ubuntu Server 18.04 на виртуальную машину Hyper-V, установка PostgreSQL и средств управления
Включение роли Hyper-V
Для развертывания Ubuntu Server в виртуальной среде Microsoft Hyper-V убедитесь, что Ваше оборудование отвечает следующим требованиям:
Требования к операционной системе:
Роль Hyper-V можно включить в следующих версиях Windows 10:
- Windows 10 Корпоративная
- Windows 10 Pro
- Windows 10 для образовательных учреждений
Требования к оборудованию:
Хотя в этом документе не приводится полный список оборудования, совместимого с Hyper-V, укажем следующие обязательные требования:
- 64-разрядный процессор с поддержкой преобразования адресов второго уровня (SLAT).
- Поддержка расширения режима мониторинга виртуальной машины (технология VT-x на компьютерах с процессорами Intel).
- Не менее 4 ГБ оперативной памяти. Так как виртуальные машины и узел Hyper-V используют память совместно, необходимо обеспечить достаточный объем памяти для обработки предполагаемой рабочей нагрузки на виртуальной машине.
В BIOS системы необходимо включить следующие компоненты.
- Virtualization Technology (Технология виртуализации) — может иметь другое название (VTx, Vanderpool Technology, VT Technology, Virtualization) в зависимости от производителя системной платы;
- Hardware Enforced Data Execution Prevention (Принудительное аппаратное предотвращение выполнения данных) — может отсутствовать в настройках BIOS.
На следующем этапе включаем Hyper-V:
Hyper-V можно включить разными способами, в том числе используя панель управления Windows 10, PowerShell или с помощью средства обслуживания образов развертывания и управления ими (DISM).
Включение Hyper-V с помощью PowerShell:
1.Откройте консоль PowerShell от имени администратора.
2.Выполните следующую команду:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
По завершении установки выполните перезагрузку.
Включение Hyper-V с помощью CMD и DISM:
Система обслуживания образов развертывания и управления ими (DISM) позволяет настраивать ОС Windows и образы Windows. Помимо всего прочего, средство DISM может включать функции Windows во время выполнения операционной системы. Чтобы включить роль Hyper-V с помощью DISM, выполните указанные ниже действия.
1.Запустите PowerShell или сеанс CMD от имени администратора.
2.Введите следующую команду:
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
Включение роли Hyper-V с помощью раздела «Параметры»:
1.Щелкните правой кнопкой мыши кнопку Windows и выберите пункт «Приложения и возможности».
2.Выберите «Программы и компоненты» справа в разделе «Сопутствующие параметры» параметры.
3.Выберите пункт Включение или отключение компонентов Windows.
4.Выберите Hyper-V и нажмите кнопку ОК.
После установки компонентов перезагрузите компьютер.
Важно!
Обратите внимание, на состояние строки «Низкоуровневая оболочка Hyper-V», если она «некликабельна» (серая), еще раз убедитесь, что ваше оборудование поддерживает технологию виртуализации и она включена в BIOS машины.
Создание виртуальной машины в Hyper-V
Скопируйте к себе с сервера \\fsrv\DISTR\CentOS\ файл ubuntu-18.04.3-live-server-amd64.iso или скачайте с сайта https://releases.ubuntu.com/18.04/open in new window к себе на компьютер образ установочного диска для сервера:
В поле поиска в панели задач введите Hyper-V
(или через Панель управления — Администрирование — Диспетчер Hyper-V) и запустите «Диспетчер Hyper-V»
В диспетчере Hyper-V слева выбираем имя своего компьютера, а в правом столбце «Действия» выбираем Создать — Виртуальная машина
В открывшемся окне задайте произвольное имя виртуальной машины, ее расположение и нажмите Далее
Выберите Поколение 2 и нажмите Далее
Укажите размер выделяемой памяти для виртуальной машины, исходя из возможностей Вашего оборудования, но не менее 512 Мб (минимальные требования Ubuntu Server) и нажмите Далее
В настройках сети выберите «Default Switсh» и нажмите Далее
Создайте виртуальный диск для Вашей новой машины задав имя, расположение и размер. При выборе расположения и размера виртуального диска исходите из конфигурации оборудования и задач, под которые создается сервер, но не менее 16 Гб и нажмите Далее
В следующем окне укажите путь к ранее загруженному файлу установочного образа и нажмите Далее
В следующем окне завершите работу мастера создания виртуальной машины, нажав Готово
После окончания работы мастера откройте Диспетчер Hyper-V, выберите свою виртуальную машину из списка:
кликнете правой кнопкой мыши и выберите «Параметры», в открывшемся окне перейдите на вкладку «Безопасность», уберите отметку в чекбоксе «Включить безопасную загрузку» и нажмите «ОК».
Виртуальная машина создана и готова к установке операционной системы.
Установка Ubuntu Server
В Диспетчере Hyper-V дважды кликните на Вашу виртуальную машину и в открывшемся окне нажмите «Пуск»
Дождитесь инициализация виртуальной машины и начала установки Ubuntu Server 18.04. (возможен вывод лога сообщений об ошибках или из-за кортокого таймаута перед началом установки Вы сразу увидите меню выбора языка установки)
В открывшемся окне настройки установки в первым будет предложен выбор языка устанавливаемой ОС. Управление производится клавишами «Вверх», «Вниз» и «Enter». Выбираем «Русский».
В следующем окне будет предложено обновить дистрибутив установки, мы уже определились с устанавливаемой версией, выбираем «Continue without updating» и нажимаем «Enter»
В окне конфигурации клавиатуры выбираем «Русская» с вариантом «Русская» выбираем «Готово» и нажимаем «Enter»
В следующем окне выбираем сочетание клавиш для переключения раскладки клавиатуры, выбираем «ОК», «Готово» и нажимаем «Enter»
В открывшемся окне конфигурации сетевого соединения настраиваем динамический или статический IP адрес, в данном случае оставляем конфигурацию выбранного адаптера без изменений, выбираем «Готово» и нажимаем «Enter»
В следующем окне конфигурируем proxy, если Вы не используете proxy, оставляем поле «Proxy address» пустым, выбираем «Готово» и нажимаем «Enter»
Зеркало для загрузки пакетов тоже оставьте по умолчанию, выбираем «Готово» и нажимаем «Enter»
В окне «File system setup» настраиваем разметку разделов Linux, можно предоставить возможность инсталлятору сделать это по своему усмотрению (Use An Entire Disk) или настроить «Вручную». Рассмотрим вариант установки вручную. Выбираем «Вручную» и нажимаем «Enter»
В следующем разделе выбираем нужный диск в списке «Available Devices» и нажимаем «Enter»
В открывшемся контекстном меню выбираем «Add Partition» и нажимаем «Enter»
В следующем окне задаем размер раздела, формат и точку монтирования. Создам корневой раздел, оставляем точку монтирования в поле «Mount» в виде одного слэша » / «, или выбираем эту точку из списка. Формат файловой системы ext4. Все свободное место выделяем под корневой каталог, выбираем «Create» и нажимаем «Enter»
В разделе «File system summary» мы видим смонтированный нами корневой раздел с файловой системой ext4 и инсталлятор автоматически выделил место и смонтировал загрузочный раздел /boot/efi с файловой системой fat32:
Когда завершите создавать разделы, у вас должно получится два раздела. Выбираем «Готово» и нажимаем «Enter».
В следующем диалоге соглашаемся на начало инсталляции и внесение изменений в структуру разделов, выбираем «Продолжить» и нажимаем «Enter»
Следующий шаг — создание учетной записи пользователя и выбор имени сервера. Заполните такие поля:
- Ваше имя — просто имя, можно русскими буквами;
- Your server’s name — имя вашего сервера, только строчные латинские буквы;
- Имя пользователя — имя пользователя для входа в систему, только строчные латинские буквы;
- Пароль — вводится два раза, используйте сложные пароли для серверов.
На следующем этапе выбираем «Install OpenSSH server», выбираем «Готово» и нажимаем «Enter»
Когда установка Ubuntu Server 18.04 lts завершится, дождитесь установки обновлений безопасности и нажмите кнопку Перезагрузить сейчас.
После перезагрузки введите логин и пароль, которые вы использовали во время установки:
Откроется окно с готовой к работе системой Ubuntu Server
Так как, в дальнейшем предстоит вводить много команд через терминал, а в гипервизоре корректно не работает вставка из буфера обмена, для подключения по ssh воспользуемся сторонним клиентом. Сначала узнаем IP адрес нашей виртуальной машины, для этого вводим sudo ifconfig
в терминале гипервизора, подтверждаем команду паролем и получаем вывод терминала вида:
Запоминаем IP адрес интерфейса eth0.
Теперь установим ssh клиент, например, Snowflake. Для этого скачаем его с GitHub https://github.com/subhra74/snowflake/releasesopen in new window, выбираем инсталятор для Windows snowflake.msi:
Сохраняем и запускаем скачанный устанвщик snowflake.msi, в открывшемся после усановки окне программы, нажимаем «New connection», задаем произвольное имя сервера, в поле «Host» вводим IP адрес виртуальной машины, порт оставляем без изменений, заполняем поля с логином и паролем, которые Вы ввели при установке Ubuntu в виртуальную машину и нажимаем «Connect»:
Соглашаемся с добавлением RSA ключа:
Откроется терминал для управления установленной Ubuntu Server по ssh:
Далее все команды вводим здесь, копируя из инструкции.
Установка PostgreSQL 11 на Ubuntu Server 18.04
Обновление установленных пакетов
Обновляем текущие установленные пакеты для вновь установленного сервера, для этого последовательно вводим команды:
sudo apt update
sudo apt -y upgrade
После обновления пакетов, перезагрузите сервер
sudo reboot
На время перезагрузки будет разорвано соединение, выждите некоторое время и нажмите «Reconnect» в красном поле справа:
После перезагрузки системы установите vim
и wget
, если они еще не установлены.
sudo apt install -y wget vim
Добавление репозиториев PostgreSQL 11
Перед добавлением содержимого репозитория на Ваш Ubuntu Server вам необходимо импортировать ключ подписи репозитория:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
В выводе теминала будет «ОК»:
После импорта ключа GPG добавьте содержимое репозитория в вашу систему:
RELEASE=$(lsb_release -cs)
echo "deb http://apt.postgresql.org/pub/repos/apt/ ${RELEASE}"-pgdg main | sudo tee /etc/apt/sources.list.d/pgdg.list
добавление прошло без ошибок, теперь проверим содержимое файла репозитория
cat /etc/apt/sources.list.d/pgdg.list
В выводе терминала отобразится строка содержимого:
Установите PostgreSQL 11 в Ubuntu Server, для этого введите следующие две команды:
sudo apt update
sudo apt -y install postgresql-11
Разрешить доступ к PostgreSQL с удаленных хостов
По умолчанию доступ к серверу базы данных PostgreSQL осуществляется только с localhost:
Чтобы разрешить доступ к сети, отредактируйте файл конфигурации, для этого введите:
sudo nano /etc/postgresql/11/main/postgresql.conf
Откроется редактор nano, переместите курсор в раздел CONNECTIONS AND AUTHENTICATION, добавьте строку:
listen_addresses = '*'
Для сохранения нажмите сочетание CTRL + X, для подтверждения введите «Y» и «Enter»
Не забудьте перезапустить службу postgresql после внесения изменений.
sudo systemctl restart postgresql
Убедитесь в адресе привязки для PostgreSQL:
sudo ss -tunelp | grep 5432
Если у вас активен брандмауэр UFW, разрешите порт 5432
sudo ufw allow 5432/tcp
Установка пароля администратора PostgreSQL
Установите пароль для администратора по умолчанию
sudo su - postgres
psql -c "alter user postgres with password 'ВашПароль'"
Вы также можете добавить других пользователей базы данных:
createuser dbuser1
Добавить тестовую базу данных:
createdb testdb -O dbuser1
Выполните тестовую операцию, войдя в систему как dbuser1 и работая с testdb:
psql -l | grep testdb
Установите пароль пользователя:
psql
alter user dbuser1 with password 'ПарольПользователя';
Создайте таблицу и добавьте какие-нибудь данные данные:
create table test_table ( id int,Имя text, Фамилия text );
insert into test_table (id,Имя,Фамилия) values (1,'Иван','Пупкин');
Просмотрите данные таблицы:
select * from test_table;
Удалите Вашу тестовую таблицу:
DROP TABLE test_table;
\q
Удалите тестовую базу данных:
dropdb testdb;
Выйдите из PostgreSQL
exit
Вы успешно установили и протестировали сервер базы данных PostgreSQL в Ubuntu 18.04.
Установка инструментов управления
Создание пользователя
Для последующей работы с Ubuntu, у вас должен быть обычный пользователь без полномочий root с привилегиями sudo, настроенными на вашем сервере. Кроме того, вам потребуется включить базовый брандмауэр, чтобы блокировать второстепенные порты.
В этом примере создается новый пользователь с именем ssh_user, но вы должны заменить его на имя пользователя, которое вам нравится:
sudo adduser ssh_user
Вам будет задано несколько вопросов, начиная с пароля учетной записи.
Введите надежный пароль и, при желании, введите любую дополнительную информацию. Это не обязательно, и вы можете просто нажать ENTER в любом поле, которое хотите пропустить.
Теперь у нас есть новая учетная запись пользователя с обычными привилегиями учетной записи. Однако иногда нам может потребоваться выполнение административных задач.
Чтобы избежать необходимости выходить из системы обычного пользователя и снова входить в систему как учетная запись root, мы можем настроить так называемые «суперпользовательские» или привилегии root для нашей обычной учетной записи. Это позволит нашему обычному пользователю запускать команды с административными привилегиями, помещая слово sudo перед каждой командой.
Чтобы добавить эти привилегии нашему новому пользователю, от имени пользователя root выполните эту команду, чтобы добавить нового пользователя в группу sudo:
sudo usermod -aG sudo ssh_user
Включение брандмауэра
Серверы Ubuntu 18.04 могут использовать брандмауэр UFW, чтобы убедиться, что разрешены только подключения к определенным службам. С помощью этого приложения мы можем очень легко настроить базовый брандмауэр.
Различные приложения могут зарегистрировать свои профили в UFW после установки. Эти профили позволяют UFW управлять этими приложениями по имени. У OpenSSH, сервиса, позволяющего нам теперь подключаться к нашему серверу, есть профиль, зарегистрированный в UFW.
Вы можете увидеть это, набрав:
sudo ufw app list
Нам нужно убедиться, что брандмауэр разрешает SSH-соединения, чтобы мы могли снова войти в систему в следующий раз. Мы можем разрешить эти подключения, набрав:
sudo ufw allow OpenSSH
После этого мы можем включить брандмауэр, набрав:
sudo ufw enable
Введите «y» и нажмите ENTER, чтобы продолжить. Вы можете видеть, что соединения SSH по-прежнему разрешены, набрав:
sudo ufw status
Как видим, разрешены только подключения через порт который мы добавили ранее для работы с PostgreSQL и подключения OpenSSH.
Установка pgAdmin
Установите открытый ключ для репозитория:
sudo curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add
Создайте файл конфигурации репозитория:
sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
Установите pgAdmin как web сервер:
sudo apt install pgadmin4-web
Дождитесь окончания процесса:
Настройте веб-сервер:
sudo /usr/pgadmin4/bin/setup-web.sh
Для настройки укажите в качестве логина адрес электронной почты (можно любой) и пароль:
Затем согласитесь с настройкой Apache и дополнительных модулей, для чего введите «Y», также согласитесь с перезапуском службы Apache:
Разрешим доступ к Apache в файрволле:
sudo ufw allow 'Apache Full'
Теперь можно подключиться к pgAdmin
Доступ к pgAdmin
На локальном компьютере откройте веб-браузер и перейдите по IP-адресу вашего сервера:
http://IP_Вашего_сервера/pgadmin4
Вам будет представлен экран входа в систему:
Введите учетные данные, которые вы вводили ранее, и вы попадете на приветственный экран pgAdmin.
Теперь, когда вы убедились, что можете получить доступ к интерфейсу pgAdmin, осталось только подключить pgAdmin к вашей базе данных PostgreSQL.
Подключение pgAdmin к серверу
Откройте диалог добавления сервера, на первой вкладке введите имя сервера:
На вкладке «Соединение» введите имя сервера, порт. Базу данных и пользователя оставьте «postgres» (это пользователь с правами супервизора PostgreSQL по умолчанию) и пароль который Вы задали ранее:
На вкладке «SSL» выберите «допускается» (SSl еще не настроен, поэтому установив, например, «требуется» Вы не соединитесь с сервером):
И нажмите «Сохранить»
В левой части окна pgadmin появится обозреватель (browser) подключенных серверов:
Создание ролей
Создаем роли с правами админа db_owner (без права логина) и SA (обязательно в верхнем регистре), для этого в обозревателе нажимаем правой кнопкой мыши на вкладку «Роли входа/группы» и выбираем «создать роль входа/группы»:
В открывшемся окне на вкладке «Общие» задаем имя роли:
На вкладке «Определение» задаем пароль:
На вкладке права выставляем для db_owner права, как на скриншоте:
И нажимаем «Сохранить»
Повторяем действия для роли SA, с той разницей, что на вкладке «Права» разрешаем вход:
И нажимаем «Сохранить»
Проверить созданные роли можно также из командной строки PostgreSQL, не изменяя при этом сессии пользователя. Чтобы получить доступ к командной строке Postgres, запустите команду psql как пользователь postgres с правами sudo:
sudo -u postgres psql
Эта команда выполнит автоматический вход в PostgreSQL без промежуточной оболочки bash.
Затем введите:
\du
В выводе терминала Вы увидите список ролей с их правами:
Выйдите из командной строки PostgreSQL
exit
Создание табличного пространства и базы данных
Создайте табличное пространство (tablespace), для этого в web-интерфейсе pgAdmin, в обозревателе на вкладке «Табличные пространства» кликните правой кнопкой мыши и выберите «Создать табличное пространство». В открывшемся окне на вкладке «Общие» введите имя пространства и определите владельца dw_owner:
На вкладке «Определение» укажите расположение, как на скриншоте или задайте табличное пространство сообразно своей логики размещения файлов объектов базы данных в файловой системе:
И нажимаем «Сохранить»
Создайте базу данных, для этого в web-интерфейсе pgAdmin, в обозревателе на вкладке «Базы данных» кликните правой кнопкой мыши и выберите «Создать Базу данных». В открывшемся окне на вкладке «Общие» введите имя базы данных и определите владельца dw_owner:
На вкладке «Определение» выставите значения, как на скриншоте:
И нажимаем «Сохранить»
Выполнение скриптов
На созданной базе выполните скрипты, для этого выбираем созданную базу в списке, нажимаем правой кнопкой мыши и выбираем «Запросник» (Query tool):
В правой части окна pgadmin в открывшемся редакторе вводим:
CREATE EXTENSION "uuid-ossp";
И нажимаем F5, появится сообщение об успешном выполнении запроса.
Выполняем еще один скрипт:
CREATE EXTENSION "tablefunc";
Установка PGagent
Для устанвки пакета вернемся в ssh клиент и введем в терминале:
sudo apt-get install pgagent
Соглашаемся на установку:
Создаем скрипт автозапуска:
sudo nano /etc/init.d/pgagent
В открывшемся окне вставляем код:
#!/bin/sh
#
# start/stop pgagent daemon.
### BEGIN INIT INFO
# Provides: pgagent
# Required-Start:$network $local_fs postgresql
# Required-Stop: $network $local_fs postgresql
# Default-Start: S 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
. /lib/lsb/init-functions
path2bin="/usr/bin/pgagent"
if ! test -f $path2bin; then
log_failure_msg "$path2bin not found"
exit 1
fi
RUN_AS=""
CONNECT_STRING=""
LOGLEVEL=0
LOGFILE="/var/log/pgagent.log"
if [ -f /etc/default/pgagent ]; then
. /etc/default/pgagent
elif [ -f /etc/pgagent.conf ]; then
. /etc/pgagent.conf
fi
if [ "$CONNECT_STRING" = "" ]; then
log_failure_msg "CONNECT_STRING not specified"
exit 1
fi
opts="--quiet --oknodo --exec $path2bin"
case "$1" in
start)
log_begin_msg "Starting PgAgent daemon..."
if pidof $path2bin > /dev/null; then
log_begin_msg "Already running"
log_end_msg 0
exit 0
fi
if [ "$RUN_AS" != "" ]; then
opts="-c $RUN_AS $opts"
if [ ! -f "$LOGFILE" ]; then touch $LOGFILE; fi
chown $RUN_AS $LOGFILE
fi
OPTIONS="-l $LOGLEVEL -s $LOGFILE $CONNECT_STRING"
start-stop-daemon --start $opts -- $OPTIONS
log_end_msg $?
;;
stop)
log_begin_msg "Stopping PgAgent daemon..."
start-stop-daemon --stop $opts
log_end_msg $?
;;
force-reload)
$0 restart
;;
restart)
$0 stop
$0 start
;;
status)
if ! pidof $path2bin > /dev/null; then
log_success_msg "PgAgent isn't running"
exit 3
fi
log_success_msg "PgAgent running"
exit 0
;;
*)
log_success_msg "Usage: /etc/init.d/pgagent {start|stop|force-reload|restart|status}"
exit 1
;;
esac
exit 0
Для выхода нажимаем «Ctrl + x», соглашаемся на сохранение изменений: вводим «Y» и «Enter».
Добавляем файл конфигурации:
sudo nano /etc/pgagent.conf
В открывшемся окне вставляем:
CONNECT_STRING="host=127.0.0.1 port=5432 user=postgres"
LOGLEVEL=2
RUN_AS=postgres:postgres
Выполнить:
sudo chmod 755 /etc/init.d/pgagent
sudo update-rc.d pgagent defaults
И запустить сервис:
sudo service pgagent start
Через web-интерфейс pgAdmin на базе postgres выполнить:
CREATE EXTENSION pgagent;
Настройка заданий
Перед настройкой заданий в pgagent в файл конфигурации в строку подключения добавим password=ВашПароль
пользователя posgres:
sudo nano /etc/pgagent.conf
Настроить ежедневную задачу в pgagent с тремя запросами по шагам, для этого в левой части интерфейса pgAdmin переходим на «Задания paAgent» (если меню заданий pgAgent не отображается в браузере, нажмите правой кнопкой мыши на имя сервера и выберите в контестном меню «Обновить» (Refresh)), нажимаем правой кнопкой мыши и выбираем «Создать — Задание pgAgent»:
В открывшемся окне, на вкладке «Общие», задаем имя задания, выбираем класс задания «Routine Maintenance»:
На вкладке шаги для добавления в верхней правой части нажать «+», ввести имя:
Затем нажать на иконку изменения шага (слева от имени), в открывшемся окне на вкладке «Общие» свойств шага, выберите базу для которой создается задание:
На вкладке «Код» ввести vacuum analyze;
Добавить следующий шаг, нажать «+», на изменение выбрать базу и ввести код cluster;
Повторить дествия для третьего шага, выбрать базу и ввести код `reindex database <имя базы>;
На вкладке «Расписания» добавить расписание, присвоить имя, в разделе «Общие» задать дату и время начала и окончания выполнения задания:
В разделе «Повтор» выберите время выполнения задания:
Таким образом, было создано задание на ежедневное обслуживание базы данных с тремя шагами (Очистка всех таблиц, кластеризация всех таблиц и переиндексация.
Постараюсь дать максимально подробный ответ. Пока сочинял, получилась целая статья. Надеюсь, материал вам пригодится.
Вместо предисловия
Компания Microsoft не особо заботится об улучшении классического функционала Windows 10, предпочитая вкладывать усилили в будущее платформы UWP, но иногда кое-что из старого арсенала пополняет новыми возможностями. В числе такого арсенала — встроенный в редакции системы, начиная с Pro, штатный гипервизор Hyper-V, в своё время доставшийся Windows 8.1 по наследству от серверной линейки Windows. Относительно недавно в нём появилась упрощённая возможность создания виртуальной машины с Ubuntu 18.04 LTS. Причём с предустановленным сервером XRDP для поддержки расширенного подключения по протоколу RDP. Не всё, увы, в этой истории гладко, есть нюансы. Но, обо всём подробнее ниже.
Поддержка Linux
Hyper-V давно поддерживает Linux, причём отдельные дистрибутивы типа Ubuntu могут быть установлены на виртуальные машины 2-го поколения. Такие отдельные дистрибутивы устанавливаются так же, как и Windows, никакой принципиальной разницы в настройках самой виртуальной машины нет. Разве что в параметрах машин 2-го поколения перед их запуском необходимо отключать функцию безопасной загрузки.
Единственный, но немаловажный нюанс, который делает Hyper-V в плане поддержки Linux неконкурентоспособным гипервизором по сравнению с VirtualBox и VMware – доступ к виртуальной машине даже 2-го поколения только в рамках обычного ограниченного подключения. В терминологии самого Hyper-V — базового сеанса. Тогда как VirtualBox и VMware в среде хостовой Windows позволяют полноценно взаимодействовать с гостевой Linux за счёт внедрения в неё дополнений.
Расширенное подключение по протоколу RDP
Обычное подключение к виртуальной машине (базовый сеанс) заточено под максимальную выжимку производительности, но имеет ряд ограничений:
- Разрешение экрана машины только 1024х768, его нельзя изменить, можно только масштабировать с потерей качества изображения;
- Отсутствие звука;
- Односторонний буфер обмена для текста, работающий по направлению из хост-системы в гостевую.
Расширенное подключение к виртуальной машине (расширенный сеанс) осуществляется посредством протокола Microsoft RDP для подключения к удалённому рабочему столу. И вот он уже предлагает полноценное взаимодействие с гостевой ОС:
- Выбор любого разрешения экрана, включая поддерживаемое монитором в среде хост-системы;
- Поддержку двух и более мониторов;
- Двусторонний буфер обмена текстом и файлами;
- Поддержку звука, принтеров, разделов диска и внешних носителей, прочих устройств, отображаемых в хост-системе.
Использовать расширенное подключение можно только для машин с гостевыми Windows 8.1 и 10. Для Windows 7 (в редакциях не ниже Pro) необходимо внутри гостевой ОС разрешать удалённые подключения.
И подключаться к ней по RDP из среды хост-системы.
По этому же принципу можно подключаться по протоколу RDP к гостевым Linux. Только в таковые предварительно необходимо внедрить сервер, поддерживающий протокол Microsoft RDP. Таким сервером является программное обеспечение XRDP. Внедрить его в пару кликов юзабильным способом не получится, без годного мануала здесь не обойтись никак. И вот Microsoft берёт на себя все эти хлопоты: компания предлагает нам готовое решение — установку Ubuntu со встроенным сервером XRDP. С помощью которого можно полноценно работать с гостевой Ubuntu в расширенном сеансе. Более того, такое готовое решение предлагается в рамках упрощённого формата создания виртуальных машин.
Упрощённый формат создания виртуальных машин
Упрощённый формат создания виртуальных машин появился в Hyper-V после того, как «Десятка» обновилась до версии 1709. Изначально этот процесс предусматривал просто упрощённую процедуру создания машин с гостевыми Windows — лишённую пошагового мастера с детализацией параметров. В упрощённом формате виртуальные компоненты задаются автоматически, исходя из оптимального распределения физических ресурсов компьютера. В этом формате Hyper-V даже научился автоматически создавать виртуальный коммутатор, он же сетевой адаптер. Позже Microsoft, очевидно, позаимствовав идею у Parallels Desktop, добавила в такой упрощённый формат ещё и поставку дистрибутива гостевой ОС.
Удобно ведь: в едином процессе и дистрибутив с Интернета подгружается, и машина с оптимальными настройками создаётся. Правда, платить за такое удобство придётся захламлённостью папки «Temp» в каталоге «AppData» — именно туда без вариантов Hyper-V качает файлы установки гостевых ОС. И таких гостевых ОС на данный момент две:
- Среда разработки Windows 10 – ознакомительная 90-дневная редакция Enterprise с предустановленными компонентами для разработчиков;
- Linux Ubuntu 18.04.1 LTS – стабильная версия с долгосрочной поддержкой (в течение 5 лет с даты релиза).
Ну а теперь к делу. В консоли Hyper-V жмём «Быстро создать».
Выбираем Ubuntu 18.04.1 LTS. Можем заглянуть в дополнительные параметры.
Здесь по умолчанию заданы имя виртуальной машины и коммутатор (сетевой адаптер). И только их можно изменить. Путь размещения файлов машины на диске в упрощённом формате выбрать нельзя, будет тот, что указан в общих настройках Hyper-V. Но после создания машины при необходимости её можно будет перенести в указанное место. В итоге жмём «Создать виртуальную машину».
Ожидаем, пока скачается дистрибутив Ubuntu.
Он скачался, машина создалась, можем посмотреть её параметры. И при необходимости что-то изменить.
Убирать галочку с безопасной загрузки, кстати, не нужно. Она должна быть убрана по умолчанию, Microsoft этот момент учла. При желании можем переместить файлы машины куда нужно на диске.
И, собственно, можем включать.
Установка Ubuntu
При включении машины увидим этап выбора региональных настроек Ubuntu. Выбираем язык.
Далее — раскладку клавиатуры.
Локацию.
Создаём профиль. В графу «Your Name» вводим своё имя. Имя компьютера и имя пользователя в графе «Pic a username» подтянутся автоматически, но последнее можно подкорректировать и установить минимальное значение. Поскольку его вместе с паролем придётся постоянно вводить вручную при подключении по RDP. В расчёте на работу с RDP нельзя выбирать автоматический вход в систему – «Log in automatically». Необходимо оставить значение по умолчанию и каждый раз авторизоваться.
Далее пару минут система будет настраиваться.
И как только всё будет готово, окно расширенного подключения по RDP само появится.
Подключение по RDP
В окошке запуска расширенного сеанса выбираем разрешение экрана и нажимаем «Подключить».
Вводим имя пользователя и пароль в форму авторизации XRDP.
Важно: окно авторизации XRDP не предусматривает возможность смены раскладки клавиатуры. Англоязычная раскладка, которая нужна для ввода данных авторизации латиницей, должна быть установлена (!) в хост-системе.
И переключиться на английскую раскладку необходимо до запуска окна XRDP. Если в хост-системе установлена русская раскладка, в форме авторизации XRDP жмём «Cancel». Меняем раскладку на английскую. Повторно подключаемся.
Ну и сможем уже работать с Ubuntu.
Русификация Ubuntu
Дистрибутив Ubuntu со встроенным XRDP Microsoft поставляет только с англоязычной локализацией. Потому в настройках системы необходимо внедрить русскоязычный пакет локализации. Как это делается, подробно описано на официальном сайте системы, это сразу же первая позиция выдачи в поисковиках по запросу «Ubuntu русификация».
Проблемы
Реализация поставки компанией Microsoft дистрибутива Ubuntu со встроенным XRDP для Hyper-V – молодой проект, соответственно, сырой. Гостевая Ubuntu на данный момент не поддерживает звук, возможны проблемы с подключением сети и доступом по RDP. С жалобами пользователей и реакцией на них сотрудников Microsoft можно ознакомиться на официальном блоге компании:
https://blogs.windows.com/buildingapps/2018/09/17/run-ubuntu-virtual-machines-made-even-easier-with-hyper-v-quick-create/
The Ubuntu version 21.04 was recently released and I decided to spin up the VM in Microsoft hyper-v on a windows machine. I have used it for a while and haven’t noticed any issue with the operating system.
So in this blog, let’s go ahead and start the installation of the latest Ubuntu 21.04 on windows Hyper-V.
Prerequisite:-
- A windows 11 or 10 operating system.
- Download the latest Ubuntu21.04 software image.
Steps to install ubuntu on Hyper-V hypervisor.
- Enable the Hyper-V feature on windows.
- Open the Hyper-V software on windows.
- Creation of the VM in Hyper-V.
- Configure the memory.
- Virtual machine network configuration.
- Configure the Virtual hard disk for the Hyper-V VM
- Install the Ubuntu operating system.
- Disable the Secure Boot.
- Initiate the ubuntu installation.
1. Enable the Hyper-V feature on windows.
I have covered the article here on how you can enable hyper-v on a Windows 11/10 machine, follow the article here to enable the hyper-v on a windows machine.
2. Open the Hyper-V software on windows.
After you logged in, click on the start menu, and type Hyper-V.
You should see the program called Hyper-V manager. Click on it to open.
Alternatively, In the start menu, you can go to windows administrative tools, and you should see the Hyper-V program there as well.
3. Creation of the VM in Hyper-V.
On the Hyper-V manager, you should see your machine name, and currently, we don’t have any Virtual machine installed on it. We are now going to install Ubuntu in the Hyper-V.
Under Hyper-V Manager, right-click on your computer name and click New>Virtual machine.
A new virtual machine creation wizard window will now pop up.
Before you begin, you may click on next to create a virtual machine with custom values.
On the next screen, you need to specify the name of the VM we will install. Since I am installing the ubuntu version 21.04, I am naming it as Ubuntu 21.04.
By default, the Hyper-V would choose the default location to store the Virtual machine files. In case if you would like to change the storage to some other place, you may check the option that says Store the virtual machine in a different location, and browse for the location of your choice.
As I have enough storage space, I am OK with the default location and click on Next.
You will have to choose what generation of Virtual machine you want to install, choose generation 2 here, and click Next.
4. Configure the memory.
We are now going to configure the memory for your VM, by default, the hypervisor would pick up just 1GB of RAM, which will not be sufficient for the Ubuntu machine to run smoothly. For a better experience, it is better to have at least 4GB of RAM.
Under Startup memory, choose the memory size, and leave the default option. Use Dynamic memory for this virtual machine, checked and click on Next.
5. Virtual machine network configuration.
We have to connect this VM to the network. For that, from the connection drop-down, choose the default switch and click on Next.
6. Configure the Virtual hard disk for the Hyper-V VM
Under Create a virtual hard disk, you should see the size of the VM picked up as default 127GB. If you have enough storage, you may leave the default or reduce it based on your hard drive free space.
I am providing 40GB of storage; after the selection, click on next.
7. Install the Ubuntu operating system.
By default, you will have an option selected here that says install an operating system later, however, we already have the latest Ubuntu ISO image, so we can install it right now.
Check the option that says install an operating system from a bootable image, and click on Browse to attach the iso image that you downloaded. And click on Next.
You should get a basic summary of the Ubuntu Virtual machine that we are going to install. If you want to make any changes, you can do that by choosing the desired option on the left.
To create the Ubuntu virtual machine in Hyper-V, you may now click on Finish.
8. Disable the Secure Boot.
You will see a newly created Ubuntu VM under a Virtual machine. For the Ubuntu virtual machine to boot correctly, you will need to disable the Secure Boot which is enabled by default.
Right-click on the VM, and click on settings.
In Security, uncheck the option that says, enable secure Boot and click on OK.
Right-click on the VM and click on Connect.
You will see a new window that says the virtual machine Ubuntu 21.04 is turned off. You may click on start to power on the VM. Click on start.
9. Initiate the ubuntu installation.
Starting off the Ubuntu virtual machine will take some time. After few seconds, you will see the menu to choose the operating system. Choose Ubuntu from the list.
You can either try Ubuntu or install it on the hypervisor, Click on install to proceed with the installation.
- Choose the language of your choice and click on Next.
By default, Ubuntu would pick up normal installation, which includes a media player, office utilities, and others. I will choose the minimal installation since this is a VM, and I do not intend heavy use.
Note: The Ubuntu will automatically start connecting to the internet and download the required update during the installation if you choose the default option. ‘Download updates while installing Ubuntu’. You need to make sure you uncheck this option, as it will delay the installation process for a long time. You can install the update later on post the installation.
After the selection, click on Continue.
Under installation type, you need to choose to erase the disk and install the Ubuntu, so click on install now.
Write the changes to disks, click on Continue.
- You need to choose your timezone based on your location and click on Continue.
- Set the user credentials and click on Continue.
The installation will now begin, and this process will take some time to complete.
You will get a message that says installation complete and you can click on Restart now.
That’s it you have successfully installed Ubuntu 21.04 on a Microsoft Hyper-V. Login to the machine and enjoy the Ubuntu Linux operating system on the native Microsoft hypervisor.
And with the default configuration that we followed, your virtual machine will have internet access as well.
Contents
-
Hyper-V
- What is Hyper-V?
- Why Hyper-V?
-
Enabling Hyper-V
- Windows Editions
- Hyper-V System Requirements
- Hyper-V Graphical Install
- Hyper-V PowerShell Install
- Hyper-V Admin Center (Windows 10 Server)
-
Installing Ubuntu on Hyper-V
- Using Quick Create
- Using an Ubuntu CD image (.ISO)
Hyper-V
What is Hyper-V?
Hyper-V is a native type 1 hypervisor developed by Microsoft for the Windows family of operating systems, similar to Xen or VMWare ESXi.
Hyper-V was first released for Windows Server 2008, and is available without additional charge since Windows Server 2012 and Windows 8.
For more information on the difference between type 1 and type 2 hypervisors, click here.
Why Hyper-V?
Hyper-V allows Ubuntu to be run in parallel or in isolation on Windows operating systems. There are several use-cases for running Ubuntu on Hyper-V:
- To introduce Ubuntu in a Windows-centric IT environment.
- To have access to a complete Ubuntu desktop environment without dual-booting a PC.
-
To use Linux software on Ubuntu that is not yet supported on the Windows Subsystem for Linux.
Enabling Hyper-V
Windows Editions
Ubuntu on Hyper-V can be enabled on the following Windows operating systems:
- Windows 10 Pro
- Windows 10 Enterprise
- Windows 10 Education
- Windows 10 Server
Hyper-V is not included in Windows 10 Home, which can be upgraded to Windows 10 Pro.
Hyper-V System Requirements
The following are additional system requirements for Hyper-V:
- A 64-bit processor with Second Level Address Translation (SLAT)
- CPU support for virtualization extensions and virtualization enabled in the system BIOS/EFI
- Minimum of 4 GB of memory, recommended 8 GB
- Minimum of 5 GB of disk space, recommended 15 GB
Hyper-V Graphical Install
-
Right click on the Windows Start button and select ‘Apps and Features’
-
Select ‘Programs and Features’ on the right under Related Settings
-
Select ‘Turn Windows Features on or off’
-
Select ‘Hyper-V’ and click OK
-
Restart when prompted
Hyper-V PowerShell Install
-
Open a PowerShell console as Administrator
-
Run the following command: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
- Restart when prompted
Hyper-V Admin Center (Windows 10 Server)
See official Microsoft documentation.
Installing Ubuntu on Hyper-V
There are different methods for installing Ubuntu on Hyper-V depending on your use-case. Read each of the descriptions of the following methods and then determine the best for your needs
Using Quick Create
The recommended method for installing Ubuntu on Hyper-V is to use the curated Ubuntu image from the Hyper-V Quick Create Gallery. This method is ideal for desktop development on Ubuntu and for users interested in running a complete Ubuntu desktop environment. The Ubuntu image from the Quick Create Gallery includes pre-configured features, such as clipboard sharing, dynamic resolution display, and shared folders.
-
Enable Hyper-V as described above.
-
Open ‘Hyper-V Manager’ by:
- Click on the Windows Start button, expand the ‘Windows Administrative Tools’ folder, and click ‘Hyper-V Manager’, or
- Click the Windows key and type ‘Hyper-V’ and click ‘Hyper-V Manager’ or select with your keyboard arrow keys and press ‘Enter’
-
In the future, the Quick Create tool can be accessed directly using the above methods, but it is useful to know where Hyper-V Manager is because it is where you will come back to manage your Ubuntu VM.
-
On the ‘Actions’ pane click ‘Quick Create’ and the Quick Create tool will open.
-
Select a version of Ubuntu from the versions on the left. A build of the most recent LTS version of Ubuntu and the most recent interim release are provided. If you are developing for Ubuntu server or an enterprise environment, the LTS version is recommended. If you would like to use the latest versions of software in Ubuntu, the interim release is recommended.
-
Click ‘Create Virtual Machine’ and wait for the VM image to be downloaded.
-
Click ‘Connect’ to open a connection to your VM.
-
Click ‘Start’ to run your VM.
-
Complete the final stages of Ubuntu install, including selection of a username.
Using an Ubuntu CD image (.ISO)
It is also possible to install Ubuntu on Hyper-V using a CD image .ISO. This is useful if you are running Ubuntu Server and do not require an enhanced desktop experience. Note that the enhanced features of the Quick Create images are not enabled by default when you perform a manual install from an ISO.
-
Download an Ubuntu ISO from an official Ubuntu source.
-
Enable Hyper-V as described above.
-
Open ‘Hyper-V Manager’ by:
- Click on the Windows Start button, expand the ‘Windows Administrative Tools’ folder, and click ‘Hyper-V Manager’, or
-
Click the Windows key and type ‘Hyper-V’ and click ‘Hyper-V Manager’ or select with your keyboard arrow keys and press ‘Enter’
-
On the ‘Actions’ pane click ‘Quick Create’ and the Quick Create tool will open.
- Click ‘Change installation source’ and select the ISO file you downloaded before. If you want to give your virtual machine a more descriptive name, click the ‘More options’ down arrow on the bottom right and change ‘New Virtual Machine’ to something more useful, such as ‘Ubuntu Server 18.04 LTS’.
-
Click ‘Create Virtual Machine’ and wait for the virtual machine to be created.
-
Click ‘Connect’ to open a connection to your VM.
-
Click ‘File’ in the menu bar, chose ‘Settings’, click the ‘Security’ tab and under Secure Boot select ‘Microsoft UEFI Certificate Authority’, then ‘Apply’ and ‘OK’ to return to your VM.
-
Click ‘Start’ to run your VM.
-
Complete the manual installation of Ubuntu.
CategoryEnterprise