Virtualbox на nas4free из коробки: сервер, noVNC клиент
?Previous Entry | Next Entry
Гипервизор VirtualBox на сборках 10.2.02.1906 и более поздних — коробочный функционал nas4free. А также phpVirtualBox для управления из вебгуя и noVNC (HTML5 VNC клиент, эмулирующий монитор, клавиатуру и мышь виртуальной машины через вебгуй).Этот пост — об их использовании.
NB Если вы использовали ранее VirtualBox как расширение — его надо заблаговременно снасти и сделать несколько дополнительных телодвижений, см подробнее. Само расширение VirtualBox более не поддерживается за ненадобностью, пост о его установке частично устарел.
Из функционала, ранее доступного в расширении, коробочный VirtualBox не поддерживает (пока?) сохранение состояния виртуальных машин при остановке хоста.
1) VirtualBox доступен через вебгуй Advanced-> VirtualBox UPD VM|VirtualBox в более новых версиях /UPD
Здесь для запуска гипервизора надо поставить галочку Enable и выбрать место для хранения виртуальных машин и вспомогательных файлов.
Выбрать стоит место на жёстком диске или SSD (желательно НЕ на флешке и обязательно НЕ на диске в памяти). Я выделил под это хозяйство датасет на основном пуле, смонтированный как указано на скриншоте.
Нажимаем Save and Restart — и VirtualBox к нашим услугам. Работают 32 и 64 разрядные версии чего угодно — хоть Linux, хоть Windows. НО Производительность в VirtualBox — не самое сильное место. Также затруднительно (чаще — вовсе невозможно) напрямую использовать физические устройства в виртуальных машинах. Даже USB 2.0, тк необходимого пакета раширения под FreeBSD оракл не выпускает.
2) Нажав на ссылку /phpvirtualbox/index.html открываем в браузере картинку очень похожую на интерфейс VirtualBox для Windows — это phpVirtualBox
Логин-пароль по умолчанию admin admin
Подробно настройку виртуальных машин я уже описывал здесь начиная с п 6
Дальше либо используем встроенный noVNC (чуть ниже) либо настраиваем внешний клиент (часть 2). О настройке гостевой оси (часть 3)
3) noVNC требует обязательного пароля. Указываем его в настройках конкретной виртуальной машины
Теперь (для запущенной виртуальной машины, конечно) тычем на линк /novnc/vnc.html, вбиваем пароль
и видим рабочий стол нашей виртуалки
November 2022 | ||||||
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- lutay : FAQ Как переехать на коробочный VBox [+2]
- Василий Пуговкин : Рассинхрон курсора [+1]
- mitiok_kuts : (no subject) [+15]
- Виталий Уваров : Из коробки в ВБ работают только 32 бита [+3]
- 3 : Вопрос по подключению живого CD/DVD [+4]
- Денис Максимов : Удалить файлы [+6]
- andreyfitak : Доступ к VB извне по RDP [+2]
- Алексей Солдаткин : Проброс USB в виртуальную машину [+1]
- Леонид Аронов : (no subject) [+3]
- izraelhans : Запуск phpvirtualbox на NAS4Free 11.
0.0.4 (4195) [+2]
- saint_sergius : (no subject) [+2]
- Андрей : noVNC не конектится [+0]
- odnoburcev : (no subject) [+0]
- Сергей Соцков : Настройки для Storj Share [+1]
- scorpfixik : VBOX_Finish_Him [+4]
Powered by LiveJournal.com
Опыт использования виртуализации на VirtualBox / Хабр
Уровень: начинающим
Введение
Несколько лет назад я начал разбираться с вируализацией, и у меня получились своего рода путевые заметки, которые я сейчас оформил и выкладываю сюда. Никаких откровений тут не будет, статья адресована начинающим админам. Задача которую я здесь решаю состоит в том, чтобы виртуализовать уже имеющиеся не виртуальные сервера на Linux и FreeBSD.
Причины, по которым я тогда выбрал VirtualBox
Причины представлены ниже:
- Простота использования
- Отличное руководство, подробно описывающее все аспекты работы VirtualBox
- Наличие отличных графического, консольного и web-интерфейса
- Возможность предоставления доступа к консоли гостевой ОС про протоколу RDP
- Удобство использования
Полное руководство пользователя VirtualBox доступно на сайте производителя.
Причины, по которым я не выбрал бы его сейчас
- Отсутствие хороших web-морд. Имеющийся web-интерфейс, несмотря на то, что он позволяет совершать с виртуальными машинами большинство требуемых действий (создание, снимки, удаление, создание виртуальных сетей), и реализован очень качественно, обладает следующими ограничениями:
- Не позволяет назначать права на виртуальные машины (предоставления доступа разработчиками по списку только к своим машинам)
- Не позволяет управлять несколькими физическими серверами из одной панели управления
- Не отображает статистику по загрузке сервера
- Пишется сторонними разработчиками, не имеющими отношения к VirtualBox, в их свободное время, из-за чего вызывает опасение возможность прекращения его развития
- Более медленная работа при большом количестве запущенных виртуальных машин по сравнению с KVM.
- Оговорка в лицензии
Подготовка ОС для работы с виртуальными машинами
VirtualBox можно установить практически на любую ОС, однако стабильная работа и все его возможности (например, RDP-подключение к консоли гостевой системы) доступны только на Линуксе, поэтому был выбран Debian Linux. Для самого VirtualBox специальной настройки ОС не требуется, достаточно выделить отдельный раздел для хранения образов дисков гостевых систем и образов установочных дисков для чистой установки гостевых систем.
Однако для управления VirtualBox через Веб-интерфейс (phpvirtualbox) требуется веб-сервер (выбран Apache 2) и PHP 5. В Debian конфигурация по умолчанию PHP 5 и Apache 2 удовлетворяет требованиям phpvirtualbox, специальным образом настраивать ничего не нужно.
Описание конфигурации сервера для виртуалок:
- cервер имеет имя virtbox.site и адрес 10.0.0.7 (кстати, поищите почему не нужно использовать .local)
- Раздел для хранения образов гостевых ос создан на отдельном жестком диске и примонтирован в /srv/vdi
- Установлены пакеты Apache 2 и PHP 5: virtbox# apt-get install apache2 php5
Установка phpvirtualbox
Для Virtualbox существует бесплатный web-интерфейс, реализованный на PHP и использующий встроенную в virtualbox службу удаленного управления virtualbox web service.
Устанавливаем phpvirtualbox:
1. На сайте разработчика смотрим последнюю версию и скачиваем ее на сервер:virtbox# cd /var/www && wget phpvirtualbox.googlecode.com/files/phpvirtualbox-4.1-7.zip
2. Распаковываем:virtbox# unzip phpvirtualbox-4.1-7.zip
3. Конфигурируем:virtbox# cd phpvirtualbox-4.1-7.zip && cp config.php-example config.php && vim config.php
4. Прописываем адрес сервера, на котором работает VirtualBox, для удаленных подключений с помощью встроенного в VirtualBox RDP-plugin:var $consoleHost = '10.0.0.7';
Внимание! Для успешных подключений на сервере должны быть открыты входящие порты, по умолчанию начиная с 3389 (TCP), по одному порту на гостевую систему.
5. Настраиваем virtualbox web service, для чего создаем файл /etc/vbox/vbox.cfg со следующим содержанием:VBOXWEB_USER='vbox'
VBOXWEB_HOST=127.0.0.1
VBOXWEB_LOGFILE=/srv/log/vboxwebservice
6. Запускаем virtualbox web service, перед этим нужно убедиться в том, что файл /srv/log/vboxwebservice доступен для чтения и записи пользователю vbox:
/etc/init.d/vboxweb-service start.
phpvirtualbox теперь доступен по адресу virtbox.site/phpvirtualbox.
Создание виртуальных машин
Создание виртуальных машины через web-интерфейс достаточно очевидно, нужно нажать в phpvirtualbox кнопку New и следовать инструкциям мастера. Ниже приводится выработанный опытным путем список настроек гостевых систем, достаточный для нормальной работы гостевых Linux и FreeBSD.
- System
- Base Memory: 512 MB
- Processor(s): 1
- Enable PAE/NX: NO — эмуляция поддержки работы с более чем 4 ГБ памяти для 32-битных систем как правило не нужна
- Chipset: PIIX3 — в руководстве ничего не сказано про зависимость быстродействия от типа эмулируемого чипсета, поэтому выбираем по умолчанию
- Extended features
- Enable IO APIC — без включенной эмуляции APIC некоторые клонированные сервера работать не будут
- Hardware clock in UTC time — как правило гостевые системы ожидают системное время в формате UTC, и эта опция отвечает за передачу гостевой ОС времени в UTC, а не в Local time сервера.
- Display: 2 MB — минимально возможное значение, при установке этого значения в 1 MB rdp-подключения работать не будут. При создании новых машин можно оставить значение по умолчанию, предлагаемое phpvirtualbox.
- Storage: где нужно создать образ диска
- Network
- Debian: Virtio — Debian с помощью гостевых расширений умеет понимать, что она работает в виртуальной машине, и использовать виртуальную сетевую карту, что дает очень большой выигрыш в производительности
- FreeBSD: Intep PRO/1000 MT Server network card — для FreeBSD гостевого драйвера сетевой карты нет, поэтому выбираем эмуляцию самой быстрой карты из доступных. Во FreeBSD устройство называется em0.
- Serial ports: Disabled
- USB: Disabled
- Shared Folders: None — возможность VirtualBox предоставлять доступ гостевой системе к файлам хост-системы как правило не нужна, проще воспользоваться scp или sftp
Для создания виртуальных машин через консоль следуют воспользоваться руководством, раздел 8. 6.
Управление виртуальными машинами
Управление через веб-интерфейс
Управление виртуальными машинами через web-интерфейс тривиально, достаточно выделить нужную машину в phpvirtualbox и выбрать в интерфейсе требуемое действие, например Start, Stop (безусловное выключение, отправка сигнала о нажатии кнопки выключения питания, перезагрузка, сохранение состояние гостевой системы с возможностью впоследствии откатить ее состояние и приостановка работы гостевой системы с сохранением ее памяти на диск и возможностью впоследствии загрузки памяти с диска и продолжения работы).
По щелчку на гостевой системе правой кнопкой машины доступны операции ее настроек, удаления, просмотра логов и т.д.
Также стоит отметить возможность подключения к консоли гостевой системы, что аналогично подключению к реальной машине мыши и клавиатуры. Для этого нужно выделить нужную гостевую систему, выбрать вкладку Console в phpvirtualbox, задать размер экрана (для текстовых режимов работы гостевых ОС достаточно 800х600), нажать Connect и щелкнуть мышью по клиенту удаленного подключения (в котором выводится содержимое консоли гостевой системы). Управлять гостевой системой можно с момента включения.
Управление через консоль
Для управления гостевыми система в VirtualBox используются утилиты VBoxManage и VBoxHeadless, подробное описание которых доступно в руководстве.
Запускать команды нужно от пользователя vbox, под которым работает сам VrtualBox, в случае запуска от другого пользователя или root VirtualBox не сможет найти файлы конфигурации виртуальных машин, которые хранятся в домашней директории пользователя Vbox, и выдаст ошибку.
Для перехода под пользователя vbox нужно сказать:su -s /bin/bash vbox
Оболочку нужно указывать явно, потому что по умолчанию у пользователя vbox стоит оболочка /bin/false.
Ниже для примера приведены команды для включения, выключения и работы с образами дисков.
1. Запуск группы гостевых систем (можно сделать автоматическим при включении и перезагрузке сервера):for M in test1 test2 test3 ; do VBoxManage startvm $M --type=headless ; sleep 30 ; done
Если не указывать sleep 30 некоторые машины могут не запуститься из-за очень интенсивного чтения с жесткого диска сервера при запуске и некоторые гостевые системы решат, что у них ошибка чтения с жесткого диска.
2. Выключение группы гостевых систем (можно сделать автоматическим при включении и перезагрузке сервера):for M in test1 test2 test3 ; do VBoxManage controlvm $M acpipowerbutton ; sleep 30 ; done
Практически все машины понимают нажатие на кнопку выключения питания и смогут корректно завершиться.
3. Создание диска фиксированного размера для гостевой системы:VBoxManage createhd --variant Fixed --size 20000 --format vdi --filename test
4. Преобразование образа диска из формата VirtualBox в формат, понятный другим виртуальным машинам:VBoxManage internalcommands converttoraw test1.vdi test1.raw
Подключение через RDP
К консоли виртуальных машин можно подключиться через RDP. В Windows нужно открыть Пуск->Все программы->Стандартные->Подключение к удаленному рабочему столу и указать адрес virtbox.test и порт, сопоставленный конкретной гостевой системе, который можно посмотреть в phpvirtualbox. Для удобства использования в параметрах подключения можно указать разрешение экрана 1024х768, тогда окно с подключением не будет занимать весь экран и перехватывать системные сочетания клавиш, такие как Alt+Tab.
Важное замечание: возможно одновременное подключение к одной гостевой системе нескольких пользователей. При этом все видят одно и то же, и все совершенные кем-либо действия видны остальным подключившимся. Для включения этой настройки нужно в настройках виртуальной машины в phpvirtualbox в разделе Display на вкладке Remote Display установить галочку Allow Multiple Connections.
Создание снимков гостевых систем
Снимки дают возможность сохранения состояния гостевых систем и возврата к этому состоянию по требованию. Что это означает на практике?
- Можно попробовать различные запросы к базе данных на гостевой системе с возможностью после каждого запроса восстанавливать начальное системы
- Можно попробовать различные конфигурации взаимодействия сервисов на гостевой системе без необходимости вручную откатывать изменения во многих конфигурационных файлах в случае получения нерабочей системы
- И наконец это иногда удобный инструмент создания резервных копий, который позволяет сделать полный снимок рабочей машины и восстановить ее полностью за минимальное количество административных действий.
Внимание! Не делайте этого с продукционными машинами.
При создании снимка гостевой системы занимаемое ею место на диске фактически не увеличивается, дополнительный объем будут занимать только измененные по сравнению с уже существовавшим образом диска гостевой машины данные. Например, если будет изменен файл /etc/rc.conf, измененная копия будет записана отдельно.
Для создания снимка через phpvirtualbox нужно:
- Выделить гостевую систему, с которой нужно сделать снимок
- Перейти на вкладку «Snapshots»
- Нажать кнопку «Take Snapshot» (с изображением фотоаппарата)
- Ввести название снимка и комментарий
Для восстановления снимка через phpvirtualbox нужно:
- Выделить гостевую систему, с которой нужно сделать снимок
- Выключить гостевую систему, нажав «Stop»>«Power Off»
- Перейти на вкладку «Snapshots»
- Выделить снимок, который нужно восстановить
- Нажать кнопку «Restore Snapshot» (с изображением компьютера со стрелкой вверх)
Создание дампа
Debian Linux
Процедуры клонирования и восстановления приведены на примере сервера test1 на котором установлена Debian Linux (любой версии, начиная с 5 Lenny точно). Предполжим, что у нас имеются три раздела с тремя файловыми системами:
/, /var, /usr
Сначала нужно установить dump:aptitude install dump
Далее, для создания дампа клонируемого сервера на Debian необходимо от суперпользователя (root) или с помощью sudo дать следующие команды (как сделать так, чтобы не сдампило дампы, думайте сами):dump 0af test1.root /
dump 0af test1.var /var
dump 0af test1.usr /usr
Здесь:0 -- дамп уровня 0
a -- не делать предположений о размере носителя, на который осуществляется дамп
L -- делать дамп со смотрированной ФС, при этом сначало делается снимок фс, дапм, потом дамп еще раз, чтобы не было поврежденных файлов. Linux так не умеет.
f -- делать дамп в файл вместо ленточного накопителя.
Полученные файлики нужно переложить на сервер с VirtualBox.
FreeBSD
Процедуры клонирования и восстановления приведены на примере сервера test1 на котором установлена FreeBSD (любой версии, начиная с 6 точно). Предполжим, что у нас имеются три раздела с тремя файловыми системами:
/, /var, /usr
Для создания дампа клонируемого сервера на FreeBSD необходимо от суперпользователя (root) или с помощью sudo дать следующие команды (опять напоминаю про дампание дампов):dump 0aLf test1.root /
dump 0aLf test1.var /var
dump 0aLf test1.usr /usr
Здесь:0 -- дамп уровня 0
a -- не делать предположений о размере носителя, на который осуществляется дамп
f -- делать дамп в файл вместо ленточного накопителя.
Анаглогино, полученные файлики нужно переложить на сервер с VirtualBox.
Развертывание дампа
Debian Linux
1. Нужно сделать виртуальную машину, прицепить к ней диск и загрузочный LiveCD Debian.
2. Затем нужно примонтировать получившийся раздел, зачать на него дампы, развернуть их:cd /mnt1 && restore -rf /mnt/test1.
root && cd usr && restore -rf /mnt/test1.usr &&
cd ../var && restore -rf /mnt/test1.var
3. Установить загрузчик:grub-install /dev/sda1
.
4. Поправить UUID в /etc/fstab
5. Проверить, чтобы в /boot/grub/grub.cfg
были правильно указаны UUID разделов:search --no-floppy --fs-uuid --set df7f92ba-2877-4b39-8805-966cf9ab52f3
linux /boot/vmlinuz-2.6.32-5-amd64 root=UUID=df7f92ba-2877-4b39-8805-966cf9ab52f3 ro quiet
6. Проверить /var/spool/cron/crontabs, /etc/crontab
и отключить то, что ненужно.
7. Если на восстанавливаемом сервере была включена консоль, то убрать из /etc/inittab
строчку похожую на следующую:T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
, а и из /etc/default/grub
такую:GRUB_TERMINAL=console
(достаточно закомментировать).
FreeBSD
Созданные дампы нужно развернуть на образе диска, выделенного под гостевую систему. В настоящие время поддержка файловых систем UFS используемых во FreeBSD ограниченна, поэтому для развертывания дампов создается виртуальная машина FreeBSD, к ней подключается раздел для хранения дампов, на который с помощью scp и пересылаются дампы с клонируемых серверов. Потом к этой машине подключается образ диска выделенный под гостевую систему, на этом образе создается файловая система FreeBSD и разворачивается полученный дамп.
Далее предполагается, что раздел tmp примонтирован в /mnt, образ диска для гостевой ОС размечен под два слайса, первый из которых примонтирован в mnt1, а второй отдан под swap и не примонтирован. Тогда развернуть дамп можно следующим образом:
cd /mnt1 && restore -rf /mnt/test1.root && cd usr && restore -rf /mnt/test1.usr &&
cd ../var && restore -rf /mnt/test1.var
Здесь && нужно для того, что следующая команда выполнится только в случае успешного завершения предыдущий, и таким образом исключаются ситуации, когда например каталог var не будет создан, переход в него не осуществится и разворачивание дампа произойдет не туда, т. к. разворачивание дампа производится относительно текущей директории.
Необходимые изменения в конфигурации гостевой ОС клонированного сервера
До загрузки гостевую ОС нужно перенастроить для работы в виртуальной машине. Количество требуемых действий как правило минимально и сводится к следующему:
1. Находясь в директории mnt1 (см. выше) удаляем файлы конфигурации загрузчика. Это особенно актуально, если виртуализуем какой-нибудь продукционный сервер, чтобы исключить использование COM-порта в качестве консоли по умолчанию, что приводит к зависанию загрузчика.rm /mnt1/boot.config
rm /mnt1/boot/device.hints
2. Заменить содержимое файла /mnt1/etc/fstab
следующим:/dev/ad0s1b none swap sw 0 0
/dev/ad0s1a / ufs rw 2 2
При этом предполагается, что образ диска гостевой ОС разбит на 2 слайса, первый из которых отдан под хранение данных и второй под swap.
3. Если нужно, сказать клонированной системе о необходимости загрузки модуля ядра для работы с эмулированной сетевой картой, для чего нужно в файле /boot/loader.conf добавить строчку if_em_load="YES"
4. Указать клонированное системе выделенный для нее IP-адрес, для чего в /etc/rc.conf
нужно закомментировать строчку текущих настроек сетевого адаптера и добавить новую строчку следующего вида:
ifconfig_em0="inet 10.0.0.8/24"
6. Если клонированному серверу выделяется видимый снаружи IP-адрес, то нужно удалить его настройки, отвечающие за его взаимодействие с другими серверами. Внимание! У клонированного сервера есть все настройки настоящего, поэтому теоретически возможно, что если настройки не удалить, то клонированный сервер будет мешать работе боевой системы. Главное место, которое нужно проверить на FreeBSD-based серверах, находится в /var/cron/tabs/
.
7. Выключить FreeBSD, использованную для разворачивания дампа, и загрузить гостевую систему с клоном сервера. В случае проблем при загрузке возможно, что ядро на системе было пересобрано с измененной конфигурацией, это можно исправить сказав загрузчику загрузить ядро по умолчанию, которое я надеюсь вы сохранили в системе во время пересборки:
unload
load boot/kernel.GENERIC/kernel
boot
Для отдачи этих команд необходимо включить гостевую систему, подключиться к ней по RDP и дождаться появления на экране сообщений о том, что можно нажать Enter для указания опций загрузчику.
8. Добавить пользователя для доступа по ssh, зайдя через RDP на клонированный сервер:pw user add username -g wheel && passwd username
Здесь опция -g wheel
добавляет пользователя в группу wheel, члены которой во FreeBSD обладают правом делать sudo и su.
Создание виртуальных сетей
Внутри VirtualBox можно создавать полностью изолированные виртуальные сети. Какие возможности это дает?
Минимизация необходимости перенастройки клонированных серверов
Создание тестовой среды для отработки взаимодействия серверов между собой
Создание виртуальной сети
Чтобы создать виртуальную сеть нужно в phpvirtualbox зайти в свойства гостевой системы, перейти в раздел Network, выбрать в поле «Attached to» опцию «Internal Network», а в выпадающем списке «Name» выбрать требуемую виртуальную сеть. Какие могут возникнуть сложности?
Нужно создать новую виртуальную сеть, а такой опции в интерфейсе нет. Есть два варианта решения:
Попробовать написать имя новой виртуальной сети прямо в выпадающем списке «Name». Однако в этом случае может возникнуть ошибка.
Тогда нужно привязать сетевой адаптер гостевой системы к виртуальной сети через CLI:
sudo su -s /bin/bash vbox
VBoxManage modifyvm test1 --nic1 intnet
Здесь
nic1 — сетевой адаптер гостевой системы, где 1 это его порядковый номер. Количество адаптеров в гостевой системе не ограничено
intnet — виртуальная сеть, название может быть любым. Особенность работы VirtualBox заключается в том, что специально создавать виртуальные сети не нужно, достаточно указать нескольким гостевым системам одну и ту же виртуальную сеть и они окажутся связанными на (эмулированном) физическом уровне автоматически, что аналогично подключению нескольких реальных компьютеров к одному свитчу (коммутатору).
Более подробная информация находится в разделе 8.7.2 Networking setting руководства пользователя.
Управление недоступными снаружи машинами в виртуальной сети
Доступ по RDP
RDP-сервер работает на физическом сервере, поэтому для подключения к любой виртуальной машине справедливо написанное в разделе Управление через веб-интерфейс этой статьи.
Проброс портов
Существует возможность создать в гостевой системе виртуальную сетевую карту с подключением через NAT (реализуемый автоматически средствами VirtualBox) и пробросить (отобразить) произвольный порт гостевой системы на порт сервера VirtualBox. Для того, чтобы сделать это через phpvirtualbox, нужно:
1. Зайти в свойства гостевой системы, перейти в раздел «Network», выбрать в поле «Attached to» опцию «NAT»
2. Раскрыть опции, скрывающиеся в разделе «Advanced» этого же раздела, и нажать там кнопку Port Forwarding
3. В открывшемся окне «Port Forwarding Rules» указать следующие параметры:
4. Нужный протокол, путем щелчка мышью по именованию «TCP» в поле «Protocol»
5. Указать свободный порт на сервере VirtualBox в поле «Host Port»
6. Указать порт гостевой системы в поле «Guest Port».
Больше ничего указывать не нужно. После применения настроек порт гостевой системы станет немедленно (без перезагрузки) доступен через соответствующий порт сервера VirtualBox. Как пример, в случае с пробросом порта ssh (22 TCP) гостевой системы на 2200 порт VirtualBox нужно указать следующие параметры:Параметр Значение
Name ssh (необязательный параметр)
Protocol TCP
Host IP Не указывать
Host Port 2200
Guest Port 22
Guest IP Не указывать
Количество отображаемых портов не ограничено, можно отобразить столько, сколько нужно.
Виртуальный маршрутизатор
В случае создание в VirtualBox группы взаимодействующих гостевых систем без внешних адресов имеет смысл установить еще одну гостевую систему, которая будет играть роль маршрутизатора. Какие цели при этом достигаются?
Конфигурацию сетевых адаптеров клонированных сервером можно не менять. При этом виртуальный маршрутизатор создает для остальных гостевых систем видимость того, что они настоящие и пользуются своими настоящими именами хостов и IP-адресами
К гостевым системам не имеющим ни внешних адресов, ни описанной выше возможности проброса портов, которая работает только в случае использования NAT опции VirtualBox, становится возможен прямой доступ по ssh.
Создание создание виртуального маршрутизатора состоит из следующих шагов:
- Создание гостевой системы
- Установка на гостевую систему любой ОС, которая может играть роль маршрутизатора, например Debian Linux или FreeBSD
- Ввод гостевой системы в виртуальную сеть как описано выше
- Настройка гостевой системы для выполнения функций маршрутизатора
- Подключение к гостевой системе второго виртуального сетевого адаптера в режиме моста с сетевым адаптером сервера VirtualBox
После этого можно пробрасывать порты с виртуального маршрутизатора на гостевые системы без внешних адресов. В случае Linux c iptables для проброса входящих соединений с 2200 порта протокола TCP виртуального маршрутизатора на 22 порт (TCP) гостевой системы без внешнего адреса c внутренним адресом 192.168.0.2 достаточно следующего правила:
iptables -t nat -A ROUTING -p tcp -i eth0 --dport 2200 -j DNAT --to-destination 192.168.0.2:22
При этом предполагается, что виртуальный маршрутизатор настроен правильно и имеет сетевой адаптер, настроенный на работу с виртуальной подсетью в которой находится гостевая система с адресом 192.168.0.2
Доступ по SSH
В соответствии с вышеприведенным примером можно зайти по ssh на гостевую систему без внешнего адреса указав в ssh-клиенте адрес виртуального маршрутизатора и порт 2200. Аналогично можно зайти по scp для передачи файлов на гостевую систему.
Как установить виртуальную машину FreeNAS на VirtualBox (Windows, Linux или MacOS) -h3S Media
Здесь, в этом руководстве, мы используем ISO-образ FreeNAS для создания виртуальной машины FreeNAS (виртуальная машина) с помощью VirtualBox в Windows, Linux и MacOS.
FreeNAS — это операционная система NAS с открытым исходным кодом, основанная на FreeBSD и не нуждающаяся в представлении. С помощью FreeNAS , пользователь может создать свой персональный NAS-бокс, используя какой-нибудь старый компьютер или даже виртуальную машину. Более того, если вы переадресуете свой локальный IP-адрес FreeNAS на свой общедоступный IP-адрес (для удаленного доступа), вы можете использовать его как своего рода персональный облачный сервер, на котором вы можете устанавливать и получать доступ к различному программному обеспечению, такому как plex media server, Вордпресс и многое другое. Он поставляется с ZFS для защиты, хранения, резервного копирования всех ваших данных. ZFS — это файловая система с открытым исходным кодом корпоративного класса, RAID-контроллер и диспетчер томов. FreeNAS поставляется с такими функциями, как общий доступ к файлам (NFS, FTP, AFP, iSCSI, WebDAV), веб-интерфейс, защита данных, моментальные снимки, репликация, шифрование, службы резервного копирования (резервное копирование Windows, rsync, Apple Time Machine, TrueOS Life Preserver и плагины).
Также следует отметить, что для установки FreeNAS требуется отдельный жесткий диск для хранения данных, кроме жесткого диска устройства, на которое вы собираетесь его установить. Это означает, что если у вас есть только диск, подключенный к ПК или виртуальной машине, вы можете установить только FreeNAS, а для хранения любых данных вам потребуется отдельный диск. Более того, прежде чем использовать FreeNAS в качестве коммерческого или постоянного решения, вы также можете установить его на USB-накопитель / флешку; так что вы можете использовать жесткий диск вашего компьютера для целей хранения.
Другой лучший способ протестировать или использовать FreeNAS — это виртуальная среда, в которой вы можете установить FreeNAS для тестирования и обучения. Но, согласно официальному сайту, для коммерческих или производственных целей установка FreeNAS на виртуальную машину не рекомендуется.
Чтобы установить и запустить виртуальную машину FreeNAS (виртуальную машину) на виртуальной машине, вам необходимо создать виртуальную машину, которая соответствует следующим минимальным требованиям ОС FreeNAS :
- ISO-образ FreeNAS
- не менее 8 ГБ ОЗУ.
- Минимум 8 ГБ виртуального диска для установки и загрузки ОС FreeNAS
- Один запасной виртуальный диск объемом не менее 4 ГБ для хранения контента.
Давайте начнем с пошагового руководства по установке виртуальной машины FreeNAS на VirtualBox:
В этом руководстве мы использовали VirtualBox и ISO-образ FreeNAS 11.2. И процесс установки будет одинаковым для Windows, Linux или MacOS.
Шаг 1. Загрузите ISO-образ FreeNAS:
Прежде всего, перейдите на сайт freenas.org и загрузите ISO-образ операционной системы FreeNAS с открытым исходным кодом . Вы также можете использовать эту ссылку: https://www.freenas.org/download-freenas-release/. Во время выполнения этого руководства последней версией была Freenas 11.2.
Шаг 2. Загрузите VirtualBox
Если у вас уже есть VirtualBox, пропустите этот шаг. В противном случае используйте эту ссылку (скачать), чтобы получить VirtualBox для Windows, Linux или MacOS. В Linux, как и в ОС Ubuntu, вы можете установить Virtual Box с помощью всего одной команды в командном терминале.
Шаг 3: Создайте ВМ (виртуальную машину) для FreeNAS на VirtualBox.
После загрузки и установки VirtualBox пришло время создать виртуальную машину для FreeNAS.
1. Откройте виртуальный ящик .
2. Нажмите кнопку Новый .
3. Введите имя для вашей виртуальной машины FreeNAS и в раскрывающемся списке введите выберите Other и Версия — Другое/Неизвестно (64-разрядная версия).
4. Установите размер памяти, мы установили его 4 Гб, здесь из-за ограничений нашей тестовой системы, но рекомендуется 8 Гб. Итак, если на вашем компьютере так много свободной памяти, назначьте ее для своего FreeNAS.
5. Теперь нажмите кнопку Создать .
6. Создайте виртуальный жесткий диск для виртуальной машины FreeNAS. Не менее 4Gb должно быть там, но мы выделили ему 57GB и вы можете назначить в зависимости от наличия на вашем компьютере.
7. После создания диска нажмите кнопку Create .
8. Теперь выберите созданную вами виртуальную машину FreeNAS с левой стороны, а затем щелкните параметр Settings , указанный в меню VirtualBox.
9. В настройках нажмите на 9Опция 0007 Storage и значок CD справа, как показано на приведенном ниже снимке экрана.
10. Нажмите на опцию Choose Virtual Optical Disk File и просмотрите загруженный выше образ FreeNAS ISO .
11. Теперь вы можете видеть, что образ FreeNAS ISO будет отображаться под Storage Devices.
Как я уже говорил выше , мы не можем использовать жесткий диск для хранилища , куда мы устанавливаем F reeNAS. Итак, для хранилища, нам нужно подключить еще один виртуальный жесткий диск к нашей виртуальной машине FreeNAS.
12. Для этого в разделе «Хранилище» нажмите « Controller: IDE option », а затем на значок «плюс» + значок жесткого диска .
13. Нажмите на кнопке «Создать новый диск».0007 Создать кнопку .
15. Теперь нажмите кнопку OK.
Шаг 4: Конфигурация сети
После настройки виртуального жесткого диска щелкните параметр Сеть и выберите Присоединен к : Мостовой адаптер. Вам необходимо выбрать эту опцию, потому что только тогда вы сможете обмениваться данными с FreeNAS с хоста или другого компьютера, присутствующего в вашей локальной сети.
Нажмите кнопку OK.
Теперь выберите FreeNAS VM с левой стороны панели VirtualBox , а затем нажмите кнопку START , указанную в меню.
Шаг 5: Установите FreeNAS на VirtualBox в качестве виртуальной машины.
Нажмите кнопку Enter, чтобы начать установку FreeNAS.
Если вы назначили системе меньший объем ОЗУ в соответствии с рекомендациями, вы увидите соответствующее сообщение. Просто выберите YES и нажмите ENTER .
Теперь выберите опцию «Установить/обновить» с помощью клавиатуры и нажмите Enter.
Используйте клавиши со стрелками и кнопку пробела на клавиатуре, чтобы выбрать диск, на который вы хотите установить FreeNAS.
Выберите YES , чтобы стереть раздел и начать установку FreeNAS .
FreeNAS обладает обеими возможностями загрузки из режима BIOS или UEFI. Выберите вариант загрузки через Bios .
Во время установки FreeNAS попросит вас установить пароль root .
После завершения установки. Нажмите кнопку Enter и удалите установочный носитель , который представляет собой образ FreeNAS.ISO , щелкнув правой кнопкой мыши значок компакт-диска , указанный в нижней части VirtualBox.
После завершения установки вы увидите несколько вариантов, включая IP-адрес , который вы можете использовать для доступа к FreeNAS в своем браузере (веб-интерфейс).
Если вы хотите изменить пароль root:
Введите « 7′ » с клавиатуры и нажмите кнопку «Ввод». И введите новый пароль, который вы хотите назначить своему ящику FreeNAS.
Шаг 6: Получите доступ к пользовательскому веб-интерфейсу FreeNAS.
Чтобы получить доступ к пользовательскому веб-интерфейсу FreeNAS, просто введите IP-адрес , который показан в настройках консоли FreeNAS.
Например, в нашем случае IP-адрес 192.168.43.149.
При вводе IP-адреса вы увидите экран входа в систему FreeNAS.
Введите Логин — root, и пароль — Вы задали в своем случае.
Наконец…
Другие ресурсы для просмотра:
- Как установить Ubuntu в Windows 10 с помощью виртуальной машины Virtualbox
- Установите Rockstor NAS на Ubuntu/Debian в виртуальной машине
- Как установить Ubuntu с USB-накопителя на ПК с Windows 10
- Как создать виртуальную машину Windows в Linux (Ubuntu)
РЕШЕНО — FreeNAS + Virtualbox?
пирс7
Дилетант
- #1
Ранее в этом году я собирался построить машину FreeNAS, а потом узнал, сколько я буду платить за сервер. Я также обнаружил сквозную передачу PCI-E, поэтому решил обновить некоторые спецификации и создать виртуализированную игровую машину Windows, чтобы она работала вместе с моим виртуализированным FreeNAS. Короче говоря, я настроил виртуальную машину Windows, и есть некоторые неожиданные особенности, которые раздражают, поэтому я кое-что изменю.
На мой взгляд, у меня есть 2 варианта:
1. Установить Windows в качестве основной ОС, а затем запустить FreeNAS в качестве виртуальной машины.
Моя машина:
ЦП: E5-1650 v3
Память: 64 ГБ
HD1: 500 ГБ SSD
HD2: 9 ТБ WD Red
Я планирую взять 9 ТБ HD, сделать резервную копию всех моих семейных фотографий и видео на нем и настройте план аварии в качестве его резервной копии. Мне не нужно мгновенное восстановление или что-то в этом роде. Если мой жесткий диск выйдет из строя, неделя или две простоя моего сервера не будут концом света. Я просто хочу быть уверенным, что не потеряю свои данные.
Я хотел бы придерживаться варианта 1 и виртуализировать FreeNAS (поскольку моя машина достаточно мощная, и я хотел бы сэкономить деньги). Я нашел этот пост о виртуализации FreeNAS, и, честно говоря, он меня немного пугает. Мне удобно делать с компьютерами вещи, в которых я мало разбираюсь (например, настраивать транзитную передачу PCI-E), но я нервничаю по поводу настройки вещей, о которых они говорят в этом посте, поскольку я ничего о них не знаю, и настройка их неправильное использование может привести к потере данных. Также возможно, что все это очень простые настройки в настройках FreeNAS, о которых я не знаю. Насколько сложно будет правильно настроить FreeNAS как виртуальную машину?
VirtualBox — это, вероятно, то, что я бы использовал для виртуализации FreeNAS в Windows (если вы можете порекомендовать что-то лучшее, я воспользуюсь им). Насколько сложно будет запустить правильную настройку? Может быть, есть хорошее руководство, которое поможет мне пройти через это?
Приветствуются любые советы!
пиратский призрак
Неразборчивый Компьютерщик
- #2
Если вы считаете, что виртуальный ящик является приемлемым гипервизором для размещения ваших ценных данных, вам следует вернуться и прочитать эти сообщения о виртуализации.
Виртуальная коробка, работающая в Windows, — УЖАСНАЯ идея для виртуализации FreeNAS.
FreeNAS не нужен.
Просто используйте рабочий стол Windows, создайте общий ресурс для своего большого жесткого диска, чтобы другие компьютеры в вашей сети могли его видеть, и установите нужные приложения. В вашем сообщении нет ничего, что указывало бы на то, что FreeNAS принесет вам ЛЮБУЮ пользу. Вы пытаетесь усложнить то, что на самом деле просто.
Если вам не нужны zfs и моментальные снимки, предоставляемые FreeNAS, у вас есть только один диск данных и у вас нет подходящего оборудования для установки на «голое железо», вам не нужен FreeNAS.
Копья
Длинноногий
- #3
spierce7 сказал:
Ранее в этом году я собирался построить машину FreeNAS, а потом узнал, сколько я буду платить за сервер.
Я также обнаружил сквозную передачу PCI-E, поэтому решил обновить некоторые спецификации и создать виртуализированную игровую машину Windows, чтобы она работала вместе с моим виртуализированным FreeNAS. Короче говоря, я настроил виртуальную машину Windows, и есть некоторые неожиданные особенности, которые раздражают, поэтому я кое-что изменю.
На мой взгляд, у меня есть 2 варианта:
1. Установить Windows в качестве основной ОС, а затем запустить FreeNAS в качестве виртуальной машины.Моя машина:
ЦП: E5-1650 v3
Память: 64 ГБ
HD1: 500 ГБ SSD
HD2: 9 ТБ WD RedЯ планирую взять 9 ТБ HD, сделать резервную копию всех моих семейных фотографий и видео на нем и настройте план аварии в качестве его резервной копии. Мне не нужно мгновенное восстановление или что-то в этом роде. Если мой жесткий диск выйдет из строя, неделя или две простоя моего сервера не будут концом света. Я просто хочу быть уверенным, что не потеряю свои данные.
Я хотел бы придерживаться варианта 1 и виртуализировать FreeNAS (поскольку моя машина достаточно мощная, и я хотел бы сэкономить деньги).
Я нашел этот пост о виртуализации FreeNAS, и, честно говоря, он меня немного пугает. Мне удобно делать с компьютерами вещи, в которых я мало разбираюсь (например, настраивать транзитную передачу PCI-E), но я нервничаю по поводу настройки вещей, о которых они говорят в этом посте, поскольку я ничего о них не знаю, и настройка их неправильное использование может привести к потере данных. Также возможно, что все это очень простые настройки в настройках FreeNAS, о которых я не знаю. Насколько сложно будет правильно настроить FreeNAS как виртуальную машину?
VirtualBox — это, вероятно, то, что я бы использовал для виртуализации FreeNAS в Windows (если вы можете порекомендовать что-то лучшее, я воспользуюсь им). Насколько сложно будет запустить правильную настройку? Может быть, есть хорошее руководство, которое поможет мне пройти через это?
Приветствуются любые советы!
Нажмите, чтобы развернуть…
FreeNAS — это серверно-ориентированное программное обеспечение, и одной из основных причин его использования является избыточность данных, полученная за счет использования нескольких дисков либо в зеркалах (RAID1), либо в конфигурациях RAID с паритетом (RAID-Z1, RAID-Z2, RAID-Z3). Похоже, вы не знакомы с этой концепцией, поскольку рассматриваете однодисковую систему. Вам может сделать это — создать однодисковый пул FreeNAS. Но это делается редко, поскольку не является избыточным, что опять-таки сводит на нет всю цель использования FreeNAS.
Кроме того, хотя вы действительно можете виртуализировать FreeNAS, я никогда не слышал, чтобы кто-то использовал VirtualBox в Windows для этого, и я не знал, что можно передавать дисковые контроллеры в виртуальные машины на основе VirtualBox. FreeNAS действительно нужен прямой доступ к своим дискам данных через контроллер диска, так что это очень важно. Большинство пользователей, виртуализирующих FreeNAS, используют ESXi от VMware.
В общем, мы не рекомендуем вам пытаться виртуализировать FreeNAS, если вы не знаете, что делаете, и звучит так, как будто вам лучше просто запустить Windows.
Ах, ха! Я вижу, что @pirateghost печатает быстрее, чем я!
В любом случае… удачи!
BACON : FreeNAS 11. 2-U8
Плата: Supermicro X10SRL-F с Intel Xeon E5-2667 v4 @ 3,2 ГГц, 128 ГБ ОЗУ
Корпус: Supermicro SC826BE1C-R920LPB 3U, 12 отсеков с объединительной платой BPN-SAS3-826EL1
Сеть: SolarFlare SFN6122F 10GbE, 2 x Intel GbE
HBA: LSI SAS9300-8i
Загрузка: 2 x 120 ГБ Intel DC S3500 SSD
Пул 1: 2 x 2 диска RAIDZ vdevs с использованием дисков HGST UltraStar 7K6 SAS3 4kn емкостью 4 ТБ
Pool 2: Stripe (2 x 14 ТБ HGST/WDC Ultrastar DC HC530 WUH721414AL4204, чередующиеся между огнеупорным сейфом и BACON )
BILBO 9VM8-2-51. ESXi v6.7 с 2 виртуальными ЦП и 32 ГБ ОЗУ
Плата: Supermicro X11SSM-F с Intel Xeon E3-1280 v6 @3,9 ГГц, 64 ГБ ОЗУ
Корпус: Supermicro 835TQ-R800B 3U, 8 отсеков с объединительной платой CSE-SAS-833TQ
HBA: LSI SAS9207-8i
Загрузочные хранилища ESXi и хранилища данных: 100 ГБ Intel DC S3500 SSD + 512 ГБ Samsung SM961 M.2 NVMe SSD
Пул: зеркало (2 x 12 ТБ HGST Ultrastar DC HC520 (0F30141) 11.2-U8
Виртуализировано на VMware ESXi v6. 7 с 4 виртуальными ЦП и 128 ГБ ОЗУ
Плата: Supermicro X9DRi-LN4F+ с двумя процессорами Intel Xeon E5-2680 v2 @2,8 ГГц, 256 ГБ ОЗУ
Корпус: Supermicro CSE-846BA-R920B 4U, 24 отсека с задней панелью BPN-SAS-846A Intel GbE
HBA: 3 x LSI SAS9207-8i
ESXi для загрузки и хранения данных: 100 ГБ Intel DC S3700 + 512 ГБ Samsung 970 PRO M.2 NVMe SSD на Supermicro AOC-SLG3-2M2
Пул: зеркало (12 x 4 ТБ HGST Deskstar NAS HDN726040ALE614 и Ultrastar 7K4000 HUS72404ALE640)
BRUTUS : FreeNAS-11.2-U8
Виртуализировано на VMware ESXi v6.7 с 2 виртуальными ЦП и 64 ГБ ОЗУ
Система: SuperMicro SYS-5028D-TN4T: плата X10SDV-TLN4F с Intel Xeon D-1541 @2,1 ГГц, 128 ГБ ОЗУ
Сеть: 2 x Intel 10GBase-T, 2 x Intel GbE, Intel I340-T quad GbE Сетевые адаптеры, проходящие через pfSense VM
Загрузка ESXi и хранилище данных: 512 ГБ Samsung 970 PRO M.2 NVMe SSD
Пул: зеркало (2 x 1,6 ТБ твердотельные накопители Intel DC S3500)
BOOMER : FreeNAS-11. 2-U8/FreeNAS-11.3-U5/TrueNAS-12.0-U5.1 или что-то еще… Это моя песочница.
Плата: Supermicro X10SL7-F с процессором Intel Xeon E3-1241 v3 @3,5 ГГц, 32 ГБ ОЗУ, встроенный SAS2308 HBA
Корпус: Fractal Define R4
Сеть: SolarFlare SFN6122F 10GbE, 2 сетевых адаптера Intel GbE
Загрузка ESXi и хранилище данных: 100 ГБ Intel Твердотельный накопитель DC S3500
Пул: зеркало (2 x 6 ТБ WDC «черный»)
пирс7
Дилетант
- #4
Спасибо за ваши ответы, ребята. Я вижу вашу точку зрения. Изначально я планировал использовать RAID 5, а затем решил, что слишком усложняю ситуацию, и вместо этого выбрал гигантский одиночный диск.