121 lines
4.5 KiB
Markdown
121 lines
4.5 KiB
Markdown
# Домашнее задание 18
|
||
|
||
## Vagrant
|
||
|
||
Основная ОС это windows 10, vagrant установлен именно на ней.
|
||
В качестве гостевой OC используется Fedora Cloud 43
|
||
|
||
|
||
### Подготовка
|
||
|
||
Устанавливаем Virtualbox
|
||
|
||
Устанавливаем vagrant
|
||
|
||
Скачиваем готовый box Fedora Cloud 43 по ссылке https://download.fedoraproject.org/pub/fedora/linux/releases/43/Cloud/x86_64/images/Fedora-Cloud-Base-Vagrant-VirtualBox-43-1.6.x86_64.vagrant.virtualbox.box
|
||
|
||
Импортируем скаченный box в vagrant
|
||
```ps
|
||
PS C:\Users\Alex\vagrant> vagrant box add --name fedora/43-1.6 C:\Users\Alex\Downloads\Fedora-Cloud-Base-Vagrant-VirtualBox-43-1.6.x86_64.vagrant.virtualbox.box
|
||
```
|
||
|
||
Проверяем, что образ импортировался нормально
|
||
```ps
|
||
PS C:\Users\Alex\vagrant> vagrant box list
|
||
fedora/43-1.6 (virtualbox, 0, (amd64))
|
||
```
|
||
|
||
|
||
### Создание Vagrantfile
|
||
|
||
Зададим следующие характеристики для VM
|
||
- CPU - 1
|
||
- Memory - 1024mb
|
||
|
||
Добавим 2 дополнительных HDD по 1Gb
|
||
|
||
Пробросим порт 8080 с хостовой машины в гостевую на 80 порт.
|
||
|
||
После запуска VM в provision пропишим следующие действия:
|
||
1. Обновление пакетов
|
||
2. Установка nginx
|
||
3. Форматирование дополнительных дисков в ext4
|
||
4. Прописываем автомонтирование дисков в /mnt/disk1 и /mnt/disk2
|
||
|
||
Готовый [Vagrantfile](Vagrantfile)
|
||
|
||
|
||
### Запуск VM
|
||
|
||
Сохраняем готовый [Vagrantfile](Vagrantfile) вновую директорию, и страртуем vagrant
|
||
|
||
```ps
|
||
PS C:\Users\Alex\vagrant> vagrant up
|
||
Bringing machine 'Fedora-cloud' up with 'virtualbox' provider...
|
||
==> Fedora-cloud: Importing base box 'fedora/43-1.6'...
|
||
==> Fedora-cloud: Matching MAC address for NAT networking...
|
||
==> Fedora-cloud: Setting the name of the VM: fedora-test-vagrant
|
||
==> Fedora-cloud: Clearing any previously set network interfaces...
|
||
==> Fedora-cloud: Preparing network interfaces based on configuration...
|
||
Fedora-cloud: Adapter 1: nat
|
||
==> Fedora-cloud: Forwarding ports...
|
||
Fedora-cloud: 80 (guest) => 8080 (host) (adapter 1)
|
||
...
|
||
|
||
...
|
||
Fedora-cloud: Allocating group tables: done
|
||
Fedora-cloud: Writing inode tables: done
|
||
Fedora-cloud: Creating journal (8192 blocks): done
|
||
Fedora-cloud: Writing superblocks and filesystem accounting information: done
|
||
PS C:\Users\Alex\vagrant>
|
||
```
|
||
|
||
|
||
После проверим, какие порты прокинуты в VM
|
||
|
||
```ps
|
||
PS C:\Users\Alex\vagrant> vagrant port
|
||
The forwarded ports for the machine are listed below. Please note that
|
||
these values may differ from values configured in the Vagrantfile if the
|
||
provider supports automatic port collision detection and resolution.
|
||
|
||
80 (guest) => 8080 (host)
|
||
22 (guest) => 2222 (host)
|
||
PS C:\Users\Alex\vagrant>
|
||
```
|
||
Видно что порт 8080 проброшен
|
||
|
||
|
||
Подключимся в VM, и проверим монтирование дисков
|
||
|
||
```ps
|
||
PS C:\Users\Alex\vagrant> vagrant ssh
|
||
[vagrant@localhost ~]$ df -h
|
||
Filesystem Size Used Avail Use% Mounted on
|
||
/dev/sda4 3.0G 969M 1.6G 38% /
|
||
devtmpfs 448M 0 448M 0% /dev
|
||
tmpfs 475M 0 475M 0% /dev/shm
|
||
tmpfs 190M 596K 190M 1% /run
|
||
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service
|
||
tmpfs 475M 4.0K 475M 1% /tmp
|
||
/dev/sda3 1.9G 87M 1.7G 5% /boot
|
||
/dev/sda2 100M 21M 80M 21% /boot/efi
|
||
/dev/sda4 3.0G 969M 1.6G 38% /home
|
||
/dev/sda4 3.0G 969M 1.6G 38% /var
|
||
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-resolved.service
|
||
tmpfs 1.0M 0 1.0M 0% /run/credentials/getty@tty1.service
|
||
vagrant 465G 199G 266G 43% /vagrant
|
||
/dev/sdb 974M 280K 906M 1% /mnt/disk1
|
||
/dev/sdc 974M 280K 906M 1% /mnt/disk2
|
||
tmpfs 95M 16K 95M 1% /run/user/1000
|
||
tmpfs 1.0M 0 1.0M 0% /run/credentials/serial-getty@ttyS0.service
|
||
```
|
||
|
||
Видим, что диски примонтированы в каталоги /mnt/disk1 и /mnt/disk2
|
||
|
||
|
||
На основной ОС открываем в браузере ссылку http://127.0.0.1:8080/ и видим тестовую страницу nginx с гостевой VM
|
||

|
||
|
||
|
||
Все готово! |