126 lines
4.3 KiB
Markdown
126 lines
4.3 KiB
Markdown
# И так. Я решил поднять небулу
|
||
## Мной, в качестве сервера выбран debian 13 (16Cores, 32GB RAM + 2tb SSD)
|
||
## Обязательно проверяйте, чтобы у вашего хостера/home-server была виртуализация
|
||
### Начало установки
|
||
## Для начала установим MariaDB сервер да и nginx
|
||
```
|
||
apt install nginx certbot python3-certbot-nginx -y
|
||
apt-get install mariadb-server curl gnupg2 -y
|
||
mysql
|
||
CREATE DATABASE opennebula;
|
||
GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin' IDENTIFIED BY 'password';
|
||
FLUSH PRIVILEGES;
|
||
EXIT;
|
||
```
|
||
После этого сделаем парочку очень важных шагов
|
||
Поменяем наш hostname
|
||
`hostname opennebula`
|
||
И заменим хостнейм возле нашего внешнего IP
|
||
```
|
||
nano /etc/hosts добавляем наш текущий hostname туда
|
||
```
|
||
## Затем начнём установку самой небулы
|
||
Сначала скачаем и добавим GPG ключ
|
||
```
|
||
curl -fsSL https://downloads.opennebula.io/repo/repo2.key| gpg --dearmor -o /etc/apt/trusted.gpg.d/opennebula.gpg
|
||
```
|
||
Затем скачаем саму небулу
|
||
```
|
||
echo "deb https://downloads.opennebula.io/repo/7.1/Debian/13 stable opennebula" | sudo tee /etc/apt/sources.list.d/opennebula.list
|
||
```
|
||
Обновим и установим репозитроий с небулой
|
||
```
|
||
apt-get update -y
|
||
|
||
apt-get install opennebula opennebula-fireedge opennebula-gate opennebula-flow -y
|
||
|
||
```
|
||
После успешной установки запустим следующую команду для установки необходимых зависимостей
|
||
```
|
||
/usr/share/one/install_gems
|
||
```
|
||
# Теперь настроим нашу небулу
|
||
```
|
||
nano /etc/one/oned.conf
|
||
```
|
||
И в этом файле мы меняем следующие строчки
|
||
```
|
||
DB = [ BACKEND = "sqlite",
|
||
TIMEOUT = 2500 ]
|
||
```
|
||
На эти
|
||
```
|
||
DB = [ BACKEND = "mysql",
|
||
SERVER = "localhost",
|
||
PORT = 0,
|
||
USER = "oneadmin",
|
||
PASSWD = "password",
|
||
DB_NAME = "opennebula",
|
||
CONNECTIONS = 25,
|
||
COMPARE_BINARY = "no" ]
|
||
```
|
||
Сохраняем изменения
|
||
И после этого сгенерим пароль oneadmin при помощи
|
||
```
|
||
cat /var/lib/one/.one/one_auth
|
||
```
|
||
После этого
|
||
```
|
||
systemctl start opennebula opennebula-fireedge opennebula-flow opennebula-gate
|
||
systemctl enable opennebula opennebula-fireedge opennebula-flow opennebula-gate
|
||
```
|
||
Думали всё?
|
||
Начинаем дебажить
|
||
В целом, нам, для начала, необходимо создать Host. Это место, где будут крутиться наши виртуалки
|
||
Имя хоста обязательно должно совпадать с записью в `/etc/hosts`, так-же, если хост находится на одном с небулой сервере, то необходимо что-бы он был с ip 127.0.0.1
|
||
Далее
|
||
|
||
Проверим возможность Oneadmin общаться с самим собой
|
||
```
|
||
su - oneadmin
|
||
ssh -o StrictHostKeyChecking=no localhost
|
||
```
|
||
Если нас пустило без пароля - шик
|
||
Пишем
|
||
```
|
||
usermod -a -G libvirt,kvm oneadmin
|
||
```
|
||
После этого мы почти готовы поднимать VM, но ещё не совсем
|
||
```
|
||
ln -s /usr/bin/qemu-system-x86_64 /usr/bin/qemu-kvm-one
|
||
systemctl restart libvirtd
|
||
```
|
||
Далее `nano /etc/libvirt/qemu.conf`
|
||
И туда пишем
|
||
```
|
||
user = "oneadmin"
|
||
group = "oneadmin"
|
||
dynamic_ownership = 1
|
||
```
|
||
После
|
||
```
|
||
apt-get install -y apparmor-utils
|
||
aa-complain /usr/sbin/libvirtd
|
||
systemctl restart libvirtd
|
||
chown -R oneadmin:oneadmin /var/lib/one/datastores
|
||
chmod -R 770 /var/lib/one/datastores
|
||
```
|
||
```
|
||
Установим "гуакд"
|
||
```
|
||
systemctl enable --now opennebula-guacd
|
||
```
|
||
Проверим его работоспособность
|
||
`ss -tlnp | grep 4822`
|
||
Далее идём в
|
||
```
|
||
nano /etc/one/sunstone-server.conf
|
||
```
|
||
И убеждаемя, что в самом конце этого файла у нас написанно
|
||
```
|
||
:private_fireedge_endpoint: http://localhost:2616
|
||
:public_fireedge_endpoint: http://ip_addr_of_your_server(Domain):2616
|
||
:fireedge_verify_ssl: false
|
||
```
|
||
|