Задумался о покупке NAS. Или о сборка NAS своими силами. Нужно протестировать возможности Synology. Для этого разворачиваем виртуальный NAS XPEnology на ESXi 7.
XPEnology — это специальная минималистическая операционная система на ядре Linux, которая позволяет запускать Disk Station Manager (DSM) от компании Synology на стороннем оборудовании.
NAS (Network Attached Storage) — сервер для хранения данных на файловом уровне. Сетевое хранилище.
Создание виртуальной машины
Переходим в UI нашего гипервизора ESXi 7 и создаём виртуальную машину.
Укажем имя виртуальной машины. У меня будет xpnas. Уровень совместимости оставляем по умолчанию ESXi 7.0 U2 virtual machine.
В качестве семейства операционных систем указываем Linux. Guest OS version — Other 3.x Linux (64-bit). Можно, наверное, и поновее выбрать, но эта точно работает. Next.
Выбираем хранилище. В дальнейшем мне понадобится место для тестирования NAS, поэтому выбираю то хранилище, на котором есть нужное мне место в 700 ГБ. Next.
Даём виртуалке 2 ядра CPU и 4 ГБ ОЗУ.
Жёсткий диск, который предлагают нам создать, удаляем.
SCSI Controller — удаляем.
Добавляем второй сетевой адаптер. Оба адаптера подключаем к локальной сети. У меня там живёт DHCP сервер, который выдаст адаптерам IP адреса.
Типы обоих сетевых адаптеров VMXNET 3.
Добавляем второй SATA контроллер.
На первом SATA контроллере будет висеть диск для ОС, на втором — диски для хранилища.
Удаляем CD/DVD.
Тип USB контроллера выставляем в 3.1. В ином случае мышку в виртуальной консоли глючит.
В настройках видеокарты добавляем памяти. Я указываю 8 МБ. Это позволит открывать консоль с большим разрешением. Создадим виртуальную машину, пока без дисков. Next.
Finish.
Виртуальная машина создана.
Настройка загрузки виртуальной машины
ПРИМЕЧАНИЕ. Все диски и их образы использую толстые: thick zeroed.
Отредактируем настройки виртуальной машины.
Переключаемся на вкладку VM Options. В разделе Boot Options убеждаемся в том, что виртуалка будет грузиться в режиме BIOS.
Сохраняем конфигурацию. Save.
Загрузочный образ — Маленькая Красная Пилюля
В качестве загрузочного образа будем использовать Tinycore Redpill.
https://github.com/pocopico/tinycore-redpill
Выбираем последний релиз, это v.0.10.0.0.
Здесь нас интересует файл с образом VMDK диска tinycore-redpill.v0.10.0.0.vmdk.gz. Скачиваем его.
Переходим в хранилище, на котором находится директория виртуальной машины xpnas, загружаем в неё полученный файл.
Загрузка не длится долго. Размер файла всего 178 МБ.
Включаем на гипервизоре службу SSH.
Коннектимся по SSH.
Переходим в директорию нашей виртуальной машины:
/vmfs/volumes/том_вашего_хранилища/xpnas
Убеждаемся что GZ архив tinycore-redpill.v0.10.0.0.vmdk.gz на месте.
ll
Распаковываем архив.
gunzip tinycore-redpill.v0.10.0.0.vmdk.gz
Убеждаемся что распаковался VMDK файл tinycore-redpill.v0.10.0.0.vmdk:
ls -l
Конвертируем VMDK диск в подходящий формат.
vmkfstools -i /vmfs/volumes/656c8642-bf06b99c-07e0-98f2b3ebc594/xpnas/tinycore-redpill.v0.10.0.0.vmdk -d zeroedthick /vmfs/volumes/656c8642-bf06b99c-07e0-98f2b3ebc594/xpnas/tinycore.vmdk
Убеждаемся что получили новый файл tinycore.vmdk.
ls -l
Снова редактируем виртуальную машину, добавляем существующий диск.
В качестве диска выбираем сконвертированный tinycore.vmdk.
Для добавленного диска указываем SATA controller 0 и SATA (0:0).
Для хранения данных создаём новый диск.
Указываем желаемый размер диска. Я указываю 600 Гб. Указываем SATA controller 1 и SATA (1:0).
Сохраняем конфигурацию. Save.
Конфигурация применена. Заметим, что VMware Tools пока не стоит.
На всякий случай делаем снапшот.
Сборка образа DSM
Включаем виртуальную машину. Видим красную пилюлю. Доступен один вариант загрузки:
- Tiny Core Image Build
Проваливаемся в него.
Грузимся.
Загрузилась операционная система. У нас открыты два окна терминала, в некоторых инструкциях присутствует три окна, в одном из которых запущён скрипт menu.sh для удобной настройки. Но у меня классический вариант Красной Пилюли, настраивать будем руками.
Билди с нами, билди как мы, билди лучше нас.
Оставляем одно окошко терминала и обновляем пакеты.
./rploader.sh update
Мы находимся в /home/tc, если кто-то вдруг потерял рабочую директорию.
ПРИМЕЧАНИЕ: К TinyCore также можно подключиться по SSH.
- IP адрес — соответственно ваш, выдан DHCP
- Логин: tc
- Пароль: P@ssw0rd
- Порт: 22
Я буду продолжать работать в консоли.
Повторяем:
./rploader.sh update
Версия обновлена.
Продолжаем обновлять:
./rploader.sh fullupgrade
Подтверждаем.
Приступаем к сборке. Выбираем модель NAS.
ll ./config
Я выбрал модель DS923+.
Генерируем серийный номер:
./rploader.sh serialgen DS923+
Нам выдают серийный номер и MAC адрес. Переписываем их в текстовый файлик.
Выбираем сборку:
./rploader.sh build
Скроллим и находим свою сборку. Я выбираю последний вариант для выбранной модели: ds923p-7.0.2-64570.
Билдим:
./rploader.sh build ds923p-7.2.0-64570
После окончания сборки запускаем команду ещё раз!
./rploader.sh build ds923p-7.2.0-64570
После окончания второй сборки выключаем виртуальную машину: Shutdown.
Редактируем виртуальную машину. У первого адаптера устанавливаем MAC адрес, который сгенерировал ранее скрипт.
Save.
Установка DSM
Включаем виртуальную машину. Пунктов загрузки стало больше. Теперь грузится:
- Tiny Core Friend
Грузится.
Система запущена, указаны IP, полученный от DHCP сервера, MAC и серийный номер.
В той же подсети переходим на адрес:
Пока ничего не нашлось.
И вот наш NAS обнаружен.
Видим даже две вкладки. Вторая сетевая карта с другим IP тоже обнаружена.
Переходим на первую сетевую карту. Подключиться.
Принимаем лицензионное соглашение. Далее.
Читаем положение о конфиденциальности. Продолжить.
Путь в браузере сменился. Мы работаем на 5000 порту веб-сервера, стартанувшего на NAS.
Проверяем ссылку "Информация об устройстве". Закрыть.
Можем установить DSM. Установить.
Нам предлагают скачать PAT пакет из Центра загрузок Synology. Переходим по ссылке.
Выбираем NAS, модель DS923+. Версия ОС: DSM 7.2 Серия.
Нам нужна версия 7.2-64570. Мотаем ниже. Выбираем текущую версию таким образом, чтобы её версия была ниже выбранной нами: 7.2-64561. Указываем, что хотим её обновить до 7.2-64570.
Нам говорят, что для этого нужны пакеты:
- 7.2-64570 (With Update 1)
- 7.2-64570 Update 3
Скачиваем оба. Второй потом пригодится, пропатчим.
Возвращаемся к установке DSM, выбираем первый скачанный файл DSM_DS923+_64570.pat. Далее.
Предупреждают, что данные на диске 1 будут удалены. Соглашаемся галкой. Продолжить.
Пишем модель DS923+. Удалить.
Начинается установка DSM.
Побежали проценты.
NAS перезапускается. Установка займёт около 10 минут. Обычно меньше.
Фон при этом меняет цвет.
Добро пожаловать в DSM 7.2! Пуск.
Указываем имя устройства, логин и пароль администратора. Далее.
Выбираем вариант обновления. Далее.
Пропускаем создания учётной записи Synology.
Не соглашаемся отдавать диагностические данные. Отправить.
Загрузка.
DSM загрузился.
Нет, не нужны мне эти пакеты.
Очень рекомендуется включение двухфакторной аутентификации 2FA, но у меня тестовый стенд, я не включаю.
Предлагают Adaptive MFA, по той же причине пропускаю.
Точно пропускаю.
Нам предлагают создать пул. Создать.
Пуск.
Поскольку у нас для данных только один диск, то выбор вариантов RAID невелик. Выбираем SHR. Далее.
Выбираем диск. Объём диска должен быть не менее 21 Гб. Мы ранее добавляли диск на 600 Гб. Выбираем его. Далее.
Пропускаем проверку дисков. В виртуальной среде она не нужна. Далее.
Нужно указать ёмкость. Нажимаем кнопку Макс.
При этом автоматически указывается максимальный размер диска. Далее.
Указываем тип файловой системы. Рекомендуется Btrfs. Далее.
Не буду зашифровывать том. Далее.
Применить.
OK. Требуется время на создание файловой системы.
Диск создан.
Обновление DSM
Мы не до конца обновили желаемую версию.
Панель управления → Обновление и восстановление.
Текущая версия 7.2-64570 Update 1. Обновление DSM вручную.
Указываем второй скачанный нами PAT файл synology_r1000_923+.pat. OK.
Обновление займёт некоторое время. OK.
Выполняется обновление DSM.
Перезапуск.
Выполняем вход.
Теперь версия 7.2-64570 Update 3.
Установка VMware Tools
И последнее что мы сделаем в рамках этой лабораторной работы: установим VMware Tools.
Включаем SSH. Панель управления → Терминал и SNMP → Терминал. Включаем службу SSH на 22 порту. Применить.
Устанавливаем Docker.
Центр пакетов. Принимаем условия использования. OK.
Ищем "docker", находим Container Manager, пойдёт, устанавливаем. Установить.
Пакет устанавливается.
Приложение установлено.
Коннектимся по SSH к NAS. Я заранее это сделал, как видно, после установки пакета Container Manager у нас появился docker.
Создаём рабочую директорию:
sudo mkdir /root/.ssh
Собираем контейнер:
sudo docker run -d --restart=always --net=host -v /root/.ssh/:/root/.ssh/ --name open-vm-tools yalewp/xpenology-open-vm-tools
Контейнер запущен.
VMware Tools работает. ОС показывает из контейнера. Однако IP адреса отображает, даже лишние. И можно системой управлять.