Позднее Ctrl + ↑

домашняя виртуализация, Proxmox (продолжение)

ранее я описывал выбранную платформу для виртуализации: https://voronin.one/all/domashnyaya-virtualizaciya-asus-pb62/

Сейчас остановимся на программной части

мой выбор пал на систему Proxmox https://www.proxmox.com/en/

proxmox

Рассмотрим плюсы/минусы и тонкости установки

Дистрибутив распространяется в виде iso образа, за основу взят Debian (удобно для любителей ubuntu, как я)

Установку лучше проводить сразу в своей сети, т. к. сетевые настройки, полученные от DHCP сервера станут статическими и при перемещении устройства, придётся «потанцевать с бубном». Предупреждение от меня лично, я раскатал систему на работе, а потом принёс домой и пришлось немного попотеть.

Итак, процесс установки очень прост, следуйте шагам установщика и у вас всё получится.

первый вход в систему осуществляется через web-Интерфейс по адресу: https://ваш_ip:8006

логин: root
пароль: который указали при установке

Теперь внимание!
Следующие действия необходимо сделать из командной строки (авторизуемся по ssh, логин и пароль см. выше)

ходить под рутом — это моветон, создадим нового пользователя в системе и назначим ему права управления сервером виртуализации, для этого

adduser user_name

сразу делаем его судоером

adduser user_name sudo

добавляем его в список пользователей pve

pveum user add user_name@pam

проверяем список

pveum user list
должно быть что-то похожее

назначаем пользователю права администратора в системе Proxmox

pveum acl modify / --roles Administrator --users user_name@pam

отлично! теперь поправим файл с репозиторием, иначе нам недоступны будут deb пакеты
сначала убираем «pve-enterprise.list», он требует платной подписки

sudo mv /etc/apt/sources.list.d/pve-enterprise.list /home/user_name

и прописываем новый источник пакетов

nano /etc/apt/sources.list

и дописываем в конце

#pve
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription

теперь можем обновить список пакетов и обновить систему, так же не забудьте установить sudo, я же для своего удобства поставил MC

apt update
apt upgrade 
apt install sudo mc

Помните, все эти манипуляции мы проделывали соединившись по ssh как root. Это не безопасно, теперь мы будем подключаться под созданным выше пользователем, а возможность удалённого подключения под рутом — отключим.

открываем в nano конфиг sshd

nano /etc/ssh/sshd_config

и меняем следующее

#Authentication
AllowUsers user_name
PermitRootLogin no

сохраняем и рестартим службу ssh

service ssh restart

Готово

домашняя виртуализация ASUS PB62

Не хватало домашнего сервера для виртуальных машин, искал что-то компактное и бюджетное, но с тем же производительное.

Не буду ходить вокруг да около, выбор пал на платформу ASUS PB62-BB5031MD.

это тонкий клиент, но современные тонкие клиенты обладают довольно высокой производительностью

что имеет наш малыш?

Intel Core i5-11400

его сердце — это процессор Intel Core i5-11400 (6 ядер, 12 потоков)

12 потоков — хороший потенциал для виртуализации
сам процессор поддерживает 128Гб оперативной памяти DDR4-3200, платформа же позволит поставить максимум две планки по 32Гб (суммарно 64Гб), что тоже неплохо.

Можно установить два ssd m.2 до 1 Тб и один hdd 2,5» до 1 Тб.

в листе совместимости я нашёл недорогую память

Crucial 32 ГБ DDR4 3200 МГц CL22 (CT32G4SFD832A)

я решил остановиться на одной планке памяти Crucial 32 ГБ DDR4 3200 МГц CL22 (CT32G4SFD832A), в будущем имея возможность поставить еще одну, если ресурсов перестанет хватать

Western Digital WD Green 1 ТБ M.2 WDS100T3G0C

а диск для системы взял (опять же бюджетный вариант) Western Digital WD Green 1 ТБ M.2 WDS100T3G0C

получилась очень производительная, компактная платформа для будущей виртуализации

синхронизация ftp synology

Был неприятно удивлен тем, что в новой DSM 7 нет больше возможности подключать удаленные папки по протоколу FTP. Ну, это нас никогда не останавливало, накатаем скрипт синхронизации папок по расписанию.

Вы скажете «стоп» — это совершенно разные вещи, а я отвечу, наши подрядчики придумали синхронизацию по расписанию. И попросили нам это реализовать у себя.

Их вариант подразумевал использование WinSCP https://winscp.net/. Мы же используем клиент lftp, который есть на борту Synology.

создаём sh файл

#!/bin/bash

USER="user_login"
HOST="ftp_server_address"
PORT="ftp_server_port"
LCD="/volume1/полный/путь/к/папке/с/проектом"	# путь к папке на нашем локальном сервере
RCD="путь/к/удаленной/папке"	# путь к папке на ftp сервере

# удаленную папку синхронизируем к нам
cd "$LCD/OUT"
lftp $USER:'P@$$W0RD'@$HOST:$PORT -e "set file:charset utf8;set ftp:charset utf8; cd $RCD/OUT; mirror --continue --delete --verbose; exit;"

# нашу папку синхронизируем на сервер
cd "$LCD/IN"
lftp $USER:'P@$$W0RD'@$HOST:$PORT -e "set file:charset utf8;set ftp:charset utf8; cd $RCD/IN; mirror --continue --reverse --delete --verbose; exit;"

предположим, что на удалённом сервере папку OUT надо синхронизировать с локальной папкой OUT, а локальную папку IN c удалённой IN.

К локальной папке лучше использовать полный путь, т. к. вы будете запускать по расписанию, то можете прописать путь относительно домашней папки пользователя от имени которого выполнится скрипт.

ЗЫ Почему я пишу пароль прямо в строку подключения? Потому что передать через переменную мне не удалось, возможно из-за спецсимволов в пароле. Я не стал париться, мой метод работает.

PS 25.07.2022 — добавил charset «set file:charset utf8;set ftp:charset utf8;» иначе может неверно работать с кириллицей

 Нет комментариев    32   3 мес   ftp   lftp   synology
Ранее Ctrl + ↓