Instale a Orquestra Xen no Rocky/CentOS/AlmaLinux
XenServer é um hipervisor poderoso desenvolvido pela Citrix Systems, Inc como uma plataforma de virtualização de código aberto confiável e segura para infraestruturas de virtualização de servidores, desktops e nuvem. Existe XCP-ng; uma alternativa de código aberto ao XenServer desenvolvida de forma colaborativa para recursos irrestritos e de uso gratuito para todos.
A forma padrão de administrar o XenServer é a partir da CLI e usando o aplicativo GUI XenCenter. Se você precisar de uma administração baseada na web, o Xen Orchestra (XO) é a ferramenta certa para o gerenciamento de servidores Xen e XCP-ng. Ele permite visualizar e administrar a pilha completa de virtualização de qualquer lugar. O Xen Orchestra não requer um agente instalado na máquina Desktop para funcionar. Todas as operações são realizadas a partir de um console web.
Se você precisar usar o XOA, consulte o seguinte artigo:
- Implantando o Xen Orchestra Appliance no Xen/XCP-ng da CLI
Os requisitos de hardware para executar o Xen Orchestra no CentOS/Rocky/AlmaLinux:
- 2 vCPUs
- 2GiB de RAM
- 20GiB de espaço SR livre (2GiB no thin pro SR)
Estamos realizando esta instalação em uma nova instalação do sistema Rocky Linux 8. O processo deve ser semelhante para qualquer outro sistema baseado em RHEL.
Etapa 1: atualizar o sistema
Certifique-se de que o sistema esteja atualizado executando os seguintes comandos:
sudo dnf -y update
Assim que o sistema for atualizado, reinicie.
sudo systemctl reboot
Após a reinicialização, prossiga para a próxima etapa.
Etapa 2: instalar Node.js e Yarn
Adicione o repositório Node.JS ao sistema.
curl -sL https://rpm.nodesource.com/setup_16.x | sudo bash -
Instale o Node.js usando o comando dnf
:
sudo dnf install -y nodejs
Para instalar o gerenciador de pacotes Yarn, execute:
sudo yum install gcc-c++ make -y
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install yarn -y
Confirme a instalação do Node.js e Yarn
$ node -v
v16.20.0
$ yarn -v
1.22.19
Etapa 3: Instale o Xen Orchestra no Rocky/CentOS/Alma
Instale Python3 no sistema.
sudo dnf install python3 -y
Instale pacotes de dependência para construir o Xen Orchestra no sistema Rocky/CentOS/Alma Linux.
sudo dnf -y install epel-release
sudo dnf -y install git redis libpng-devel git lvm2 cifs-utils make automake gcc gcc-c++ rpm-build fuse-devel python3-devel
sudo dnf -y install git autoconf automake gettext-devel libtool pkg-config libvhdi-tools
Em seguida, construa o pacote libvhdi
. Faremos o download na página openSUSE libvhdi.
wget https://download.opensuse.org/repositories/openSUSE:/Factory/standard/src/libvhdi-20221124-3.7.src.rpm
sudo rpm -Uvh libvhdi-20221124-3.7.src.rpm
Etapa 4: buscar e construir a orquestra Xen
Baixe o código-fonte do Xen Orchestra no github:
git clone -b master https://github.com/vatesfr/xen-orchestra
Navegue até o diretório xen-orchestra
.
cd xen-orchestra
Instale dependências e construa o Xen Orchestra a partir de fontes.
$ yarn
yarn install v1.22.19
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
[5/5] Building fresh packages...
$ yarn build
yarn run v1.22.19
$ turbo run build --scope xo-server --scope xo-server-'*' --scope xo-web
• Packages in scope: xo-server, xo-server-audit, xo-server-auth-github, xo-server-auth-google, xo-server-auth-ldap, xo-server-auth-oidc, xo-server-auth-saml, xo-server-backup-reports, xo-server-load-balancer, xo-server-netbox, xo-server-perf-alert, xo-server-sdn-controller, xo-server-test, xo-server-test-plugin, xo-server-transport-email, xo-server-transport-icinga2, xo-server-transport-nagios, xo-server-transport-slack, xo-server-transport-xmpp, xo-server-usage-report, xo-server-web-hooks, xo-web
• Running build in 22 packages
• Remote caching disabled
Tasks: 26 successful, 26 total
Cached: 0 cached, 26 total
Time: 2m28.707s
Done in 149.37s.
Agora você precisa criar um arquivo de configuração para o xo-server:
cd packages/xo-server
sudo mkdir /etc/xo-server
sudo cp sample.config.toml /etc/xo-server/config.toml
Neste arquivo de configuração, você pode alterar as portas padrão (80 e 443) para o xo-server. Se você estiver executando o servidor como usuário não root, precisará definir a porta para 1024 ou superior.
Inicie e habilite o serviço redis.
sudo systemctl enable --now redis
Você pode tentar iniciar o xo-server para ver se funciona. Você deve ter algo assim:
$ sudo yarn start
yarn run v1.22.19
Pressione CTRL+C para fechar o aplicativo.
Configurando o serviço para sempre
Use o forever-service para instalar o XO como um serviço do sistema:
# yarn global add forever
yarn global v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "for[email " with binaries:
- forever
Done in 6.06s.
# yarn global add forever-service
yarn global v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email " with binaries:
- forever-service
- get-forever-config
Done in 4.28s.
# yarn global add pm2
yarn global v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email " with binaries:
- pm2
- pm2-dev
- pm2-docker
- pm2-runtime
Done in 6.54s.
# cd ~/xen-orchestra/packages/xo-server/
# forever-service install orchestra -r root -s dist/cli.mjs
forever-service version 0.5.11
Platform - Ubuntu 22.04.2 LTS
orchestra provisioned successfully
Commands to interact with service orchestra
Start - "sudo service orchestra start"
Stop - "sudo service orchestra stop"
Status - "sudo service orchestra status"
Restart - "sudo service orchestra restart"
Começar
# pm2 start dist/cli.mjs
-------------
__/""""\____/"\____________/"\____/"""_____
_\/"/////////"_\/""________/""__/"///////"___
_\/"_______\/"_\/"//"____/"//"_\///______\//"__
_\/""""\/__\/"\///"/"/_\/"___________/"/___
_\/"/////////____\/"__\///"/___\/"________/"//_____
_\/"_____________\/"____\///_____\/"_____/"//________
_\/"_____________\/"_____________\/"___/"/___________
_\/"_____________\/"_____________\/"__/"""""_
_\///______________\///______________\///__\///////////////__
Runtime Edition
PM2 is a Production Process Manager for Node.js applications
with a built-in Load Balancer.
Start and Daemonize any application:
$ pm2 start app.js
Load Balance 4 instances of api.js:
$ pm2 start api.js -i 4
Monitor in production:
$ pm2 monitor
Make pm2 auto-boot at server restart:
$ pm2 startup
To go further checkout:
http://pm2.io/
-------------
[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
[PM2] Starting /root/xen-orchestra/packages/xo-server/dist/cli.mjs in fork_mode (1 instance)
[PM2] Done.
┌────┬────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ cli │ default │ 5.114.2 │ fork │ 12495 │ 0s │ 0 │ online │ 0% │ 33.6mb │ root │ disabled │
└────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
Estado
# pm2 status
┌────┬────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ cli │ default │ 5.114.2 │ fork │ 12495 │ 17s │ 0 │ online │ 0% │ 172.0mb │ root │ disabled │
└────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
Execute este comando para gerar um script de inicialização ativo para inicialização automática.
pm2 startup
pm2 save
Confirme se o serviço está em execução:
$ sudo ss -tunelp | grep *:80
tcp LISTEN 0 511 *:80 *:* users:(("node /root/xen-",pid=12495,fd=19)) ino:52496 sk:5 v6only:0 <->
Se você precisar excluir o serviço, execute o comando forever-service delete Orchestra
Além disso, instale a ferramenta xo-cli.
$ sudo npm install --global xo-cli
added 45 packages, and audited 46 packages in 6s
5 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
npm notice
npm notice New major version of npm available! 8.19.4 -> 9.6.7
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.6.7
npm notice Run npm install -g [email to update!
npm notice
Etapa 5: Acesse a interface da Web do Xen Orchestra
Agora você pode acessar a interface web do Xen Orchestra colocando o IP configurado durante a implantação em seu navegador web.
Use as credenciais de login padrão abaixo:
Username: [email
Password: admin
Navegue até “Configurações” > “Usuários“
Selecione o usuário administrador e clique em “editar” na seção Senha para atualizar a senha do usuário.
Etapa 6: Adicionar XenServer | Servidor XCP-ng
Adicione o servidor Xen|XCP-ng indo em “Home” > “Adicionar servidor“
Insira o rótulo do servidor, Endereço IP, Nome de usuário e Senha usados para fazer login.
Confirme que a conexão foi bem-sucedida
Agora você pode ver as máquinas virtuais existentes e criar novas no console XO.
Artigos semelhantes:
- Adicionar e usar repositório de armazenamento de biblioteca ISO no Xen XCP-ng
- Gerenciando hipervisor XCP-ng com XenCenter | Centro XCP-ng