mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-02 19:02:31 +00:00
docs: review practical guides in all seven translations
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Cópias de segurança do Proxmox para a nuvem pessoal | ProxMenux",
|
||||
"description": "Utilize rclone para montar uma nuvem pessoal, como Google Drive, Mega, Dropbox ou OneDrive, num diretório do anfitrião Proxmox VE, registe-o como armazenamento de cópias vzdump e faça cópias de VM e contentores diretamente para a nuvem, sem um script de cópias adicional.",
|
||||
"ogTitle": "Cópias de segurança do Proxmox para a nuvem pessoal",
|
||||
"ogDescription": "Monte uma nuvem com rclone no anfitrião Proxmox VE e utilize-a como destino vzdump para cópias de VM e contentores."
|
||||
},
|
||||
"header": {
|
||||
"title": "Cópias de segurança do Proxmox para a nuvem pessoal",
|
||||
"description": "Utilize rclone para montar uma nuvem pessoal, como Google Drive, Mega, Dropbox ou OneDrive, num diretório do anfitrião Proxmox VE, registe-o como armazenamento de cópias vzdump e faça cópias de VM e contentores diretamente para a nuvem, sem um script de cópias adicional.",
|
||||
"section": "Guias"
|
||||
},
|
||||
"intro": {
|
||||
"pbsCalloutTitle": "Considere primeiro o Proxmox Backup Server",
|
||||
"pbsCalloutBody": "Numa segunda máquina que cumpra os requisitos x86-64, <pbsLink>Proxmox Backup Server</pbsLink> oferece cópias incrementais e desduplicadas com encriptação opcional no cliente. Foi concebido para cópias de VM. Este guia explica como montar uma nuvem pessoal, como Google Drive, Mega, OneDrive ou Dropbox, como destino das cópias.",
|
||||
"stepsTitle": "O que vai fazer",
|
||||
"steps": [
|
||||
"Criar um diretório no anfitrião Proxmox e registá-lo como armazenamento de cópias vzdump.",
|
||||
"Instale e configure rclone para o seu provedor de nuvem.",
|
||||
"Montar a pasta da nuvem no diretório do anfitrião.",
|
||||
"Restabelecer a montagem em cada arranque com uma unidade systemd."
|
||||
],
|
||||
"vzdumpCalloutTitle": "Nota sobre as cópias vzdump do Proxmox",
|
||||
"vzdumpCalloutBody": "Os arquivos vzdump do Proxmox são <strong>cópias completas, não incrementais</strong>. O tamanho real depende dos dados incluídos e da compressão, não apenas da capacidade do disco virtual. Se um arquivo ocupar 30 GB, guardar cinco requer cerca de 150 GB. Defina uma política de retenção para evitar encher a nuvem."
|
||||
},
|
||||
"createDir": {
|
||||
"heading": "1. Criar o diretório no anfitrião e registá-lo como armazenamento de cópias",
|
||||
"body": "Ligue-se ao anfitrião por SSH ou abra a shell Proxmox e crie um diretório como ponto de montagem em <code>/mnt/</code>. Escolha um nome que identifique o fornecedor:",
|
||||
"mkdirCode": "mkdir -p /mnt/gdrive",
|
||||
"afterMkdir": "Na interface web do Proxmox: <strong>Datacenter → Armazenamento → Adicionar → Diretório</strong>.",
|
||||
"image1Alt": "Adicionando novo armazenamento no Proxmox",
|
||||
"configIntro": "Configure assim:",
|
||||
"configItems": [
|
||||
"<strong>ID:</strong> <code>gdrive</code> (ou o que você usou para o nome do diretório)",
|
||||
"<strong>Diretório:</strong> <code>/mnt/gdrive</code>",
|
||||
"<strong>Conteúdo:</strong> selecione <strong>Ficheiro de cópia VZDump</strong>."
|
||||
],
|
||||
"image2Alt": "Configurando novo armazenamento no Proxmox",
|
||||
"afterConfig": "Clique em <strong>Adicionar</strong>:",
|
||||
"image3Alt": "Novo armazenamento adicionado no Proxmox",
|
||||
"afterAdd": "O diretório está registado como armazenamento Proxmox, mas continua vazio: a nuvem ainda não está montada."
|
||||
},
|
||||
"installRclone": {
|
||||
"heading": "2. Instalar e configurar o rclone",
|
||||
"body": "<rcloneLink>rclone</rcloneLink> comunica com os serviços de armazenamento na nuvem. Instale-o a partir dos repositórios Debian:",
|
||||
"installCode": "apt-get update\napt-get install -y rclone",
|
||||
"newerCalloutTitle": "Se precisar de um rclone mais novo",
|
||||
"newerCalloutBody": "Se precisar de uma versão mais recente do que a disponibilizada pelo Debian, utilize o instalador oficial:",
|
||||
"newerCode": "curl https://rclone.org/install.sh | bash",
|
||||
"tunnelHeading": "2.1 Autenticação no navegador através de túnel SSH",
|
||||
"tunnelBody": "Para fornecedores com autenticação web, o anfitrião Proxmox normalmente não tem navegador. Siga o <remoteSetupLink>procedimento de configuração remota do rclone</remoteSetupLink>: utilize o navegador do portátil e encaminhe a ligação de retorno localhost por SSH para o rclone no anfitrião.",
|
||||
"tunnelFrom": "No seu <strong>portátil</strong>, substituindo <code>ip_proxmox</code> pelo IP do Proxmox:",
|
||||
"tunnelCode": "ssh -L localhost:53682:localhost:53682 root@ip_proxmox",
|
||||
"tunnelAfter": "Esta sessão SSH abre a porta localhost 53682 no portátil e encaminha as ligações para a mesma porta do anfitrião Proxmox. Mantenha-a aberta durante a configuração do rclone.",
|
||||
"runHeading": "2.2 Executar rclone config",
|
||||
"runBody": "Na sessão SSH que acabou de abrir, execute:",
|
||||
"runCode": "rclone config",
|
||||
"runAfter": "Siga as instruções para adicionar uma configuração remota, ou «remote». As respostas dependem do fornecedor; consulte a <providerDocsLink>documentação dos fornecedores rclone</providerDocsLink> para Google Drive, Mega, Dropbox, OneDrive e outros. O passo principal é a pergunta sobre autenticação:",
|
||||
"authPrompt": "Use web browser to automatically authenticate rclone with remote?\n * Say Y if the machine running rclone has a web browser you can use\n * Say N if running rclone on a (remote) machine without web browser access\nIf not sure try Y. If Y failed, try N.\ny) Yes\nn) No\ny/n> y",
|
||||
"authAfter": "Responda <strong>Y</strong>. O rclone apresenta um URL local. Abra-o no <strong>navegador do portátil</strong>; o túnel SSH encaminha a ligação. Autorize o acesso do rclone no fornecedor da nuvem para concluir a configuração.",
|
||||
"nameRemote": "Para o nome da configuração remota, utilize um nome que corresponda ao diretório, por exemplo <code>gdrive</code>."
|
||||
},
|
||||
"mount": {
|
||||
"heading": "3. Montar a pasta na nuvem",
|
||||
"body": "Crie uma pasta na nuvem para as cópias, por exemplo <code>PBC</code>, abreviatura de Proxmox Backup Cloud.",
|
||||
"mountIntro": "Monte-a no diretório do anfitrião:",
|
||||
"mountCode": "rclone mount gdrive:/PBC /mnt/gdrive --allow-other --allow-non-empty --vfs-cache-mode writes",
|
||||
"mountItems": [
|
||||
"<code>gdrive:/PBC</code> — a pasta na sua nuvem.",
|
||||
"<code>/mnt/gdrive</code> — o diretório host que você registrou como datastore."
|
||||
],
|
||||
"mountFootnote": "<strong>Este comando permanece em primeiro plano.</strong> Deixe-o a executar num terminal para testar uma cópia. Para restabelecer a montagem em cada arranque, configure uma unidade systemd na secção seguinte."
|
||||
},
|
||||
"systemd": {
|
||||
"heading": "4. Montagem automática em cada arranque com systemd",
|
||||
"body": "Uma unidade systemd oferece mais controlo do que <code>crontab @reboot</code>: pode aguardar o arranque da rede, reiniciar em caso de erro e fornecer registos através de <code>journalctl</code>.",
|
||||
"createIntro": "Crie o ficheiro da unidade:",
|
||||
"createCode": "nano /etc/systemd/system/rclone-gdrive.service",
|
||||
"pasteIntro": "Cole:",
|
||||
"unitCode": "[Unit]\nDescription=rclone mount for Proxmox cloud backups\nWants=network-online.target\nAfter=network-online.target\n\n[Service]\nType=notify\nExecStart=/usr/bin/rclone mount \\\n gdrive:/PBC /mnt/gdrive \\\n --allow-other \\\n --allow-non-empty \\\n --vfs-cache-mode writes \\\n --log-level INFO \\\n --log-file /var/log/rclone-gdrive.log\nExecStop=/bin/fusermount -uz /mnt/gdrive\nRestart=on-failure\nRestartSec=10\n\n[Install]\nWantedBy=multi-user.target",
|
||||
"adjust": "Ajuste <code>gdrive:/PBC</code> e <code>/mnt/gdrive</code> se escolheu outros nomes. Guarde, saia do editor com <code>Ctrl+X</code> e ative e inicie o serviço:",
|
||||
"enableCode": "systemctl daemon-reload\nsystemctl enable --now rclone-gdrive.service",
|
||||
"verifyIntro": "Verificar:",
|
||||
"verifyCode": "systemctl status rclone-gdrive.service\nmount | grep /mnt/gdrive",
|
||||
"verifyAfter": "A unidade solicita um reinício após 10 segundos se o processo rclone terminar com erro. Não repara credenciais expiradas nem garante recuperação de qualquer falha de rede ou do fornecedor. Consulte <code>/var/log/rclone-gdrive.log</code> e <code>journalctl -u rclone-gdrive.service -f</code>.",
|
||||
"vfsCalloutTitle": "Porquê utilizar --vfs-cache-mode writes?",
|
||||
"vfsCalloutBody": "Com cache de escrita, operações como <code>fwrite</code> escrevem numa cache local em disco. O rclone envia o ficheiro após ser fechado e decorrido o intervalo de escrita diferida. Reserve espaço local para as cópias em curso e confirme o fim do envio antes de considerar a cópia remota disponível."
|
||||
},
|
||||
"configureBackup": {
|
||||
"heading": "5. Configurar a nuvem como destino das cópias",
|
||||
"body": "No Proxmox, para uma cópia agendada ou manual, escolha o armazenamento registado como <strong>destino</strong>:",
|
||||
"image5Alt": "Selecionar destino de backup no Proxmox",
|
||||
"after": "Após terminar o vzdump, aguarde o fim do envio do rclone em segundo plano e confirme o arquivo na interface do fornecedor da nuvem:",
|
||||
"image6Alt": "Arquivo de backup no armazenamento em nuvem"
|
||||
},
|
||||
"retention": {
|
||||
"heading": "6. Retenção: manter a quota da nuvem sob controlo",
|
||||
"body": "Os arquivos vzdump do Proxmox são <strong>cópias completas, não incrementais</strong>. O tamanho real depende dos dados incluídos e da compressão, não apenas da capacidade do disco virtual. Se um arquivo ocupar 30 GB, guardar cinco requer cerca de 150 GB. Defina uma política de retenção para evitar encher a nuvem.",
|
||||
"uiPath": "Na interface Proxmox: <strong>Datacenter → Cópia de segurança → [a sua tarefa] → Retenção</strong>:",
|
||||
"image7Alt": "Configurações de retenção de backup no Proxmox",
|
||||
"starterIntro": "Valores iniciais possíveis para um ambiente doméstico ou de testes:",
|
||||
"starterItems": [
|
||||
"Guardar as últimas 5 cópias diárias",
|
||||
"Guardar as últimas 4 cópias semanais",
|
||||
"Guardar as últimas 6 cópias mensais"
|
||||
],
|
||||
"adjust": "Ajuste os valores à quota da nuvem e à frequência com que as VM mudam."
|
||||
},
|
||||
"troubleshoot": {
|
||||
"heading": "Resolução de Problemas",
|
||||
"items": [
|
||||
"<strong><code>Mount point /mnt/gdrive is itself on a fuse.rclone filesystem</code>:</strong> o diretório já está montado, possivelmente por outra instância rclone. Confirme que não há cópias em curso antes de remover a montagem anterior com <code>fusermount -uz /mnt/gdrive</code> e reinicie a unidade systemd.",
|
||||
"<strong>A cópia é muito lenta:</strong> confirme <code>--vfs-cache-mode writes</code> na linha <code>ExecStart</code>. Verifique o desempenho da cache local, a velocidade de envio e os limites do fornecedor. O envio pode continuar após terminar o vzdump.",
|
||||
"<strong>A cópia falha com No space left on device:</strong> verifique o espaço da cache local e a quota da nuvem. A cache utiliza normalmente <code>~/.cache/rclone/</code>. Se estiver cheia, escolha por exemplo <code>--cache-dir /var/cache/rclone</code> num sistema de ficheiros com espaço. Outro caminho no mesmo sistema cheio não resolve o problema.",
|
||||
"<strong>O token de autenticação do rclone expirou:</strong> volte a ligar-se por SSH com o túnel (<code>ssh -L localhost:53682:localhost:53682 root@ip_proxmox</code>) e execute <code>rclone config reconnect gdrive:</code> para renovar a autorização.",
|
||||
"<strong>As cópias estão na nuvem, mas falham ao restaurar:</strong> não utilize a nuvem como <strong>único</strong> destino. Combine-a com PBS local ou cópias vzdump noutro disco."
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Guias Proxmox VE — Coral TPU, NVIDIA, Kodi em LXC, Samba e cópias na nuvem | ProxMenux",
|
||||
"description": "Tutoriais detalhados para Proxmox VE: Kodi em LXC com aceleração por GPU, drivers NVIDIA no PVE 9, disco USB partilhado por Samba num contentor e cópias vzdump para Google Drive, Mega, Dropbox ou OneDrive. Inclui recursos selecionados da comunidade, glossário e referência de comandos.",
|
||||
"ogTitle": "Guias Proxmox VE — Coral TPU, NVIDIA, Kodi em LXC, Samba e cópias na nuvem",
|
||||
"ogDescription": "Tutoriais detalhados para Proxmox VE: passagem direta de GPU, centro multimédia Kodi em LXC, disco USB partilhado por Samba, cópias na nuvem com rclone e recursos selecionados da comunidade.",
|
||||
"twitterTitle": "Guias Proxmox VE | ProxMenux",
|
||||
"twitterDescription": "Tutoriais detalhados para Proxmox VE: GPU, Kodi em LXC, Samba, cópias na nuvem e outros temas.",
|
||||
"ogImageAlt": "Guias ProxMenux — tutoriais detalhados para Proxmox VE"
|
||||
},
|
||||
"header": {
|
||||
"title": "Guias do ProxMenux",
|
||||
"tagline": "Tutoriais aprofundados, referências rápidas e recursos selecionados da comunidade para tirar o máximo partido do Proxmox VE."
|
||||
},
|
||||
"inDepth": {
|
||||
"heading": "Guias aprofundados",
|
||||
"intro": "Tutoriais detalhados para tarefas específicas do Proxmox. Cada um descreve os passos manuais de um processo automatizado pelo ProxMenux, para compreender o que acontece em cada etapa.",
|
||||
"items": [
|
||||
{
|
||||
"slug": "kodi-lxc",
|
||||
"title": "Instalar Kodi em LXC com aceleração por GPU e ligá-lo a um monitor ou televisor",
|
||||
"description": "Execute Kodi num contentor LXC privilegiado no Proxmox VE, disponibilize a iGPU e os dispositivos de entrada USB do anfitrião e utilize o servidor como centro multimédia ligado diretamente ao televisor."
|
||||
},
|
||||
{
|
||||
"slug": "backup-cloud",
|
||||
"title": "Cópias de segurança do Proxmox para a nuvem pessoal",
|
||||
"description": "Utilize rclone para montar uma nuvem pessoal, como Google Drive, Mega, Dropbox ou OneDrive, num diretório do anfitrião Proxmox VE, registe-o como armazenamento de cópias vzdump e faça cópias de VM e contentores diretamente para a nuvem, sem um script de cópias adicional."
|
||||
},
|
||||
{
|
||||
"slug": "lxc-samba",
|
||||
"title": "Adicionar um disco ou uma pen USB a LXC e partilhá-los na rede com Samba",
|
||||
"description": "Disponibilize um disco ou uma pen USB num contentor LXC privilegiado no Proxmox VE, instale Samba no contentor e partilhe o conteúdo na rede."
|
||||
},
|
||||
{
|
||||
"slug": "nvidia-manual",
|
||||
"title": "Instalação de drivers de placas gráficas NVIDIA no Proxmox VE 9 (procedimento manual)",
|
||||
"description": "Instale e configure manualmente os drivers NVIDIA num anfitrião Proxmox VE 9 e disponibilize a GPU a um ou mais contentores LXC. Inclui os drivers, o serviço de persistência, a correção NVENC opcional e a configuração de cada contentor."
|
||||
}
|
||||
]
|
||||
},
|
||||
"references": {
|
||||
"heading": "Referências ProxMenux",
|
||||
"intro": "Material de referência rápida da própria documentação ProxMenux.",
|
||||
"cards": {
|
||||
"glossary": {
|
||||
"title": "Glossário",
|
||||
"description": "Mais de 60 definições dos termos técnicos usados no ProxMenux: Proxmox, virtualização, armazenamento, rede e Linux. Consulta rápida com etiquetas de categoria e ligações relacionadas."
|
||||
},
|
||||
"helpInfo": {
|
||||
"title": "Ajuda e Informações — Catálogo de comandos",
|
||||
"description": "Uma seleção de comandos Linux e Proxmox por tema, com cópia para a área de transferência. Corresponde à referência disponível no menu ProxMenux."
|
||||
},
|
||||
"linuxResources": {
|
||||
"title": "Recursos Linux",
|
||||
"description": "Recursos externos para aprender a linha de comandos Linux, práticas de segurança, ferramentas de monitorização e ZFS, como complemento do catálogo de comandos ProxMenux."
|
||||
},
|
||||
"externalRepos": {
|
||||
"title": "Repositórios Externos",
|
||||
"description": "Repositórios de scripts de terceiros integrados no ProxMenux como opções alternativas do menu, como community-scripts/ProxmoxVE."
|
||||
}
|
||||
}
|
||||
},
|
||||
"official": {
|
||||
"heading": "Recursos oficiais da Proxmox",
|
||||
"intro": "Documentação publicada pela Proxmox Server Solutions, a referência oficial da plataforma.",
|
||||
"cards": {
|
||||
"pveDocs": {
|
||||
"title": "Documentação Proxmox VE",
|
||||
"description": "O guia oficial de administração: uma referência completa sobre instalação, rede, armazenamento, clusters, alta disponibilidade e API."
|
||||
},
|
||||
"pbsDocs": {
|
||||
"title": "Documentação do Proxmox Backup Server",
|
||||
"description": "Documentação para PBS — backups incrementais, desduplicados e criptografados para Proxmox VE."
|
||||
},
|
||||
"videoTraining": {
|
||||
"title": "Formação em vídeo oficial",
|
||||
"description": "Tutoriais em vídeo e cursos de formação oficiais da Proxmox."
|
||||
},
|
||||
"forum": {
|
||||
"title": "Proxmox Forum",
|
||||
"description": "Fórum oficial da comunidade para perguntas, resolução de problemas e partilha de experiências, acompanhado pelos responsáveis do projeto."
|
||||
}
|
||||
}
|
||||
},
|
||||
"community": {
|
||||
"heading": "Projectos e recursos comunitários",
|
||||
"intro": "Projetos de código aberto e listas selecionadas da comunidade Proxmox. Não são afiliados à Proxmox Server Solutions nem ao ProxMenux; estão aqui porque demonstraram ser úteis.",
|
||||
"cards": {
|
||||
"helperScripts": {
|
||||
"title": "Proxmox VE Helper-Scripts",
|
||||
"description": "Catálogo de scripts mantido pela comunidade para disponibilizar facilmente contentores LXC, VM e ajustes PVE, por exemplo para Home Assistant, Plex ou Frigate. Dá continuidade à ideia dos helper scripts de tteck."
|
||||
},
|
||||
"awesome": {
|
||||
"title": "awesome-proxmox-ve (lista de recursos selecionados)",
|
||||
"description": "Ampla coleção de recursos Proxmox VE selecionados pela comunidade: ferramentas, bibliotecas, integrações, blogs e vídeos. Um bom ponto de partida para descobrir mais."
|
||||
}
|
||||
},
|
||||
"suggestRich": "Conhece um recurso de qualidade que devemos adicionar? Abra uma issue ou um PR no <link>GitHub</link>. Pretendemos manter uma seleção criteriosa, em vez de uma lista exaustiva."
|
||||
},
|
||||
"discussion": {
|
||||
"heading": "Discussão comunitária",
|
||||
"intro": "Onde as pessoas falam sobre Proxmox e ProxMenux.",
|
||||
"cards": {
|
||||
"proxmenuxDiscussions": {
|
||||
"title": "ProxMenux Discussions",
|
||||
"description": "GitHub Discussions dedicado ao ProxMenux: ideias de funcionalidades, perguntas e respostas e partilha de configurações. O local adequado para temas sobre o menu, o Monitor e a documentação."
|
||||
},
|
||||
"proxmoxForum": {
|
||||
"title": "Proxmox Forum",
|
||||
"description": "Fórum oficial do Proxmox (também ligado acima). O lugar certo para solucionar problemas em profundidade e problemas específicos de configuração."
|
||||
},
|
||||
"reddit": {
|
||||
"title": "r/Proxmox no Reddit",
|
||||
"description": "Subreddit ativo para discussões, dicas e apoio técnico. Mais acessível do que o fórum, com respostas frequentemente mais rápidas a perguntas informais."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Instalar Kodi em LXC com aceleração por GPU | Guias ProxMenux",
|
||||
"description": "Execute Kodi num contentor LXC privilegiado no Proxmox VE, disponibilize a iGPU e os dispositivos de entrada USB do anfitrião e utilize o servidor como centro multimédia ligado diretamente ao televisor.",
|
||||
"ogTitle": "Instalar Kodi em LXC com aceleração por GPU",
|
||||
"ogDescription": "Execute Kodi num contentor LXC privilegiado no Proxmox VE com acesso à iGPU e aos dispositivos de entrada USB do anfitrião e transforme o servidor num centro multimédia."
|
||||
},
|
||||
"header": {
|
||||
"title": "Instalar Kodi em LXC com aceleração por GPU e ligá-lo a um monitor ou televisor",
|
||||
"description": "Execute Kodi num contentor LXC privilegiado no Proxmox VE, disponibilize a iGPU e os dispositivos de entrada USB do anfitrião e utilize o servidor como centro multimédia ligado diretamente ao televisor.",
|
||||
"section": "Guias"
|
||||
},
|
||||
"intro": {
|
||||
"calloutTitle": "Aviso",
|
||||
"calloutBody": "Este guia utiliza um script externo da comunidade para preparar o contentor Kodi. O ProxMenux também pode configurar o acesso à iGPU do anfitrião: <strong>GPU e Coral-TPU → Adicionar GPU a LXC</strong> configura <code>/dev/dri</code> e instala os drivers no contentor. O script seguinte instala ainda Kodi e o arranque automático em <code>tty7</code>. Utilize-o para obter um centro multimédia LXC pronto a usar; escolha o <gpuLink>procedimento ProxMenux</gpuLink> se apenas precisar de acesso à GPU num contentor configurado manualmente.",
|
||||
"credit": "O script original do Kodi para LXC foi criado por <authorLink>mrrudy</authorLink>.",
|
||||
"stepsTitle": "O que vai fazer",
|
||||
"steps": [
|
||||
"Criar um contentor LXC privilegiado com Kodi através do script.",
|
||||
"Disponibilizar teclado, rato ou comando USB no contentor.",
|
||||
"Opcional: atualizar Kodi a partir dos repositórios configurados no contentor."
|
||||
]
|
||||
},
|
||||
"createCt": {
|
||||
"heading": "1. Criar o Kodi LXC",
|
||||
"body": "Para este procedimento, selecione <strong>Privileged</strong> nas definições avançadas do script. Por predefinição cria contentores sem privilégios, que exigem permissões de dispositivos e mapeamento de identificadores adequados. Configura o acesso à GPU, Kodi e o arranque automático em <code>tty7</code>:",
|
||||
"code": "bash -c \"$(wget -qLO - https://raw.githubusercontent.com/mrrudy/proxmoxHelper/main/ct/kodi-v1.sh)\"",
|
||||
"after": "A instalação demora algum tempo. Quando Kodi arrancar em <code>tty7</code>, ligue o monitor ou televisor à saída HDMI/DisplayPort do anfitrião. Deverá aparecer a interface do Kodi."
|
||||
},
|
||||
"addInput": {
|
||||
"heading": "2. Adicionar teclado, rato ou comando USB",
|
||||
"body": "Os dispositivos de entrada encontram-se em <code>/dev/input/</code> no anfitrião. Identifique o número major:",
|
||||
"listCode": "ls -l /dev/input",
|
||||
"imageAlt": "Lista de dispositivos de entrada",
|
||||
"afterList": "Nos dispositivos de caracteres, utilize o número major antes da vírgula, neste exemplo <code>13</code>. Pare o contentor Kodi e edite a configuração, substituindo <code>'<'CTID'>'</code> pelo respetivo ID, por exemplo <code>102</code>:",
|
||||
"editCode": "nano /etc/pve/lxc/CTID.conf",
|
||||
"addLines": "Adicione as linhas seguintes, ajustando <code>13</code> ao número encontrado no <strong>seu</strong> anfitrião:",
|
||||
"configCode": "lxc.cgroup2.devices.allow: c 13:* rwm\nlxc.mount.entry: /dev/input dev/input none bind,optional,create=dir",
|
||||
"imageConfigAlt": "Configuração do LXC",
|
||||
"save": "Guarde o ficheiro, saia do editor com <code>Ctrl+X</code> e reinicie <strong>apenas o contentor</strong>. Não é necessário reiniciar o anfitrião Proxmox:",
|
||||
"restartCode": "pct reboot CTID",
|
||||
"plug": "Ligue o teclado, rato ou comando USB. Kodi deverá responder."
|
||||
},
|
||||
"updateKodi": {
|
||||
"heading": "3. Opcional: atualizar Kodi a partir dos repositórios configurados",
|
||||
"calloutTitle": "Importante",
|
||||
"calloutBody": "O PPA team-xbmc destina-se <strong>apenas ao Ubuntu</strong> e o Kodi indica que já não é mantido. A ausência de <code>add-apt-repository</code> não identifica a distribuição. Verifique <code>cat /etc/os-release</code> e procure <code>NAME=\"Ubuntu\"</code>; não adicione PPA Ubuntu ao Debian. Os comandos seguintes atualizam pacotes a partir dos repositórios configurados no contentor.",
|
||||
"body": "No contentor (<code>pct enter '<'CTID'>'</code>):",
|
||||
"code": "apt update\napt install --only-upgrade kodi kodi-bin",
|
||||
"after": "Reinicie o contentor após a atualização. Kodi utilizará a versão disponível nos repositórios configurados, que pode diferir da versão mais recente do projeto."
|
||||
},
|
||||
"screenshots": {
|
||||
"heading": "Imagens",
|
||||
"image1Alt": "Interface Kodi 1",
|
||||
"image2Alt": "Interface Kodi 2"
|
||||
},
|
||||
"troubleshoot": {
|
||||
"heading": "Resolução de Problemas",
|
||||
"items": [
|
||||
"<strong>O contentor Kodi arranca, mas não aparece nada no televisor:</strong> pode não ter acesso à iGPU. Verifique <code>ls /dev/dri</code> no contentor: deverão aparecer <code>card0</code> e <code>renderD128</code>. Se o diretório estiver vazio, verifique a passagem direta da GPU ou utilize <strong>Adicionar GPU a LXC</strong> no ProxMenux.",
|
||||
"<strong>Teclado ou rato não detetado após reiniciar:</strong> verifique se <code>/dev/input</code> está montado e se Kodi tem permissão para ler os dispositivos. Execute <code>ls -l /dev/input</code> no anfitrião e no contentor e verifique a regra <code>lxc.cgroup2.devices.allow</code>.",
|
||||
"<strong>A reprodução com aceleração por hardware utiliza a CPU em vez da GPU:</strong> instale ou atualize os drivers VA-API no contentor: <code>intel-media-va-driver</code> para iGPU Intel recentes, <code>i965-va-driver</code> para as antigas e <code>mesa-va-drivers</code> para AMD.",
|
||||
"<strong><code>add-apt-repository: command not found</code>:</strong> o comando não está instalado; isso não prova que o contentor utiliza Debian. Verifique a distribuição e os pacotes disponíveis. Em Debian utilize os respetivos pacotes Kodi, sem adicionar o PPA Ubuntu."
|
||||
]
|
||||
},
|
||||
"further": {
|
||||
"heading": "Mais informações",
|
||||
"konpatRich": "<konpatLink>Artigo de Konpat</konpatLink> com mais contexto sobre o acesso à iGPU Intel a partir de LXC."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Adicionar um disco USB a LXC e partilhá-lo com Samba | ProxMenux",
|
||||
"description": "Disponibilize um disco ou uma pen USB num contentor LXC privilegiado no Proxmox VE, instale Samba no contentor e partilhe o conteúdo na rede.",
|
||||
"ogTitle": "Adicionar um disco USB a LXC e partilhá-lo com Samba",
|
||||
"ogDescription": "Disponibilize um disco USB num contentor LXC privilegiado no Proxmox VE, instale Samba e partilhe o conteúdo na rede local."
|
||||
},
|
||||
"header": {
|
||||
"title": "Adicionar um disco ou uma pen USB a LXC e partilhá-los na rede com Samba",
|
||||
"description": "Disponibilize um disco ou uma pen USB num contentor LXC privilegiado no Proxmox VE, instale Samba no contentor e partilhe o conteúdo na rede.",
|
||||
"section": "Guias"
|
||||
},
|
||||
"recommended": {
|
||||
"calloutTitle": "Recomendado",
|
||||
"calloutIntro": "O ProxMenux disponibiliza ambas as partes deste procedimento através de menus guiados:",
|
||||
"items": [
|
||||
"<strong>Gestão de discos → Formatar/apagar disco físico</strong> para a formatação.",
|
||||
"<strong>Armazenamento e partilha → Partilha de rede LXC → Servidor Samba em LXC</strong> para a instalação no contentor privilegiado e a configuração do Samba."
|
||||
],
|
||||
"calloutOutro": "Os procedimentos guiados tratam das permissões dos contentores sem privilégios, dos perfis de partilha com leitura e escrita, só leitura ou personalizados e do grupo sharedfiles. Este guia descreve os passos manuais para os compreender ou configurar diretamente."
|
||||
},
|
||||
"intro": {
|
||||
"body": "Um disco ou uma pen USB pode ser útil num anfitrião Proxmox, sobretudo num mini PC com poucas opções de expansão interna. Este guia explica:",
|
||||
"stepsTitle": "O que vai fazer",
|
||||
"steps": [
|
||||
"Anexando o disco USB a um LXC privilegiado.",
|
||||
"A instalar o Samba dentro do contentor.",
|
||||
"Partilhar o conteúdo do disco pela LAN."
|
||||
],
|
||||
"useCasesTitle": "Casos de uso",
|
||||
"useCases": [
|
||||
"Guardar ficheiros torrent e disponibilizá-los na rede.",
|
||||
"Fornecer armazenamento a um servidor multimédia como Plex, Jellyfin ou Emby.",
|
||||
"Guardar documentos processados automaticamente pelo Paperless.",
|
||||
"Armazenamento genérico estilo NAS para a rede doméstica."
|
||||
],
|
||||
"privilegedCalloutTitle": "Contentor privilegiado para este procedimento",
|
||||
"privilegedCalloutBody": "Este procedimento utiliza um contentor LXC privilegiado com um dispositivo de blocos como <code>mp0</code>. Para contentores sem privilégios, pode montar o sistema de ficheiros no anfitrião e disponibilizar o diretório por bind mount, com permissões e mapeamento de identificadores adequados. Consulte <strong>Armazenamento e partilha → Pontos de montagem LXC</strong> no ProxMenux."
|
||||
},
|
||||
"attach": {
|
||||
"heading": "1. Disponibilizar o disco USB em LXC",
|
||||
"identifyHeading": "1.1 Identificar o dispositivo",
|
||||
"identifyBody": "Compare a lista de discos <strong>antes</strong> e <strong>depois</strong> da ligação USB. O novo dispositivo é o disco pretendido.",
|
||||
"beforeLabel": "Antes:",
|
||||
"afterLabel": "Após:",
|
||||
"imageBeforeAlt": "Lista de disco antes de adicionar unidade USB",
|
||||
"imageAfterAlt": "Lista de disco depois de adicionar unidade USB",
|
||||
"lsblkBody": "Pode também utilizar <code>lsblk -o NAME,SIZE,MODEL,SERIAL</code> para listar dispositivos de blocos com modelo e número de série.",
|
||||
"stableCalloutTitle": "Importante — utilizar um identificador estável",
|
||||
"stableCalloutBody": "O nome <code>/dev/sdb1</code> pode mudar após um reinício, sobretudo com vários discos USB. Procure o identificador persistente:",
|
||||
"stableCalloutCode": "ls -l /dev/disk/by-id/",
|
||||
"stableCalloutAfter": "Utilize a entrada <code>/dev/disk/by-id/usb-...</code> da partição pretendida na configuração LXC, em vez de <code>/dev/sdb1</code>. Escolha a partição, não o disco completo: continuará identificável se a ordem dos dispositivos mudar.",
|
||||
"formatHeading": "1.2 Formatar o disco",
|
||||
"formatBody": "ext4 é adequado para partilhas Linux: distingue maiúsculas e suporta ACL POSIX e ficheiros grandes. A formatação destrói o conteúdo do sistema de ficheiros existente. Confirme a partição e execute o comando no <strong>anfitrião Proxmox</strong>:",
|
||||
"formatCode": "mkfs.ext4 /dev/sdb1",
|
||||
"formatAfter": "Substitua <code>/dev/sdb1</code> pela partição real ou pelo respetivo caminho persistente <code>/dev/disk/by-id/usb-...-part1</code>.",
|
||||
"mkdirHeading": "1.3 Criar o ponto de montagem no contentor LXC",
|
||||
"mkdirBody": "Dentro do LXC, crie o diretório onde o disco irá aparecer (qualquer nome funciona):",
|
||||
"mkdirCode": "mkdir /mnt/lxc_USB",
|
||||
"wireHeading": "1.4 Configurar o dispositivo em LXC",
|
||||
"wireBody": "No <strong>anfitrião Proxmox</strong>, edite a configuração do contentor. Substitua <code>'<'CTID'>'</code> pelo respetivo ID:",
|
||||
"wireEditCode": "nano /etc/pve/lxc/CTID.conf",
|
||||
"wireAddLine": "Adicionar esta linha:",
|
||||
"wireConfigCode": "mp0: /dev/disk/by-id/usb-VENDOR_MODEL_SERIAL-part1,mp=/mnt/lxc_USB,backup=0",
|
||||
"wireShortForm": "Pode também utilizar a entrada curta <code>mp0: /dev/sdb1,mp=/mnt/lxc_USB,backup=0</code> se aceitar o risco de alteração do caminho do dispositivo.",
|
||||
"wireBackupNote": "O exemplo utiliza <code>backup=0</code>. O conteúdo dos pontos de montagem de dispositivos e dos bind mounts não é incluído nas cópias <code>vzdump</code> do contentor. Prepare uma cópia separada dos dados do disco externo.",
|
||||
"restartHeading": "1.5 Reinicie o LXC e defina permissões",
|
||||
"restartBody": "Reinicie o CT para aplicar o ponto de montagem:",
|
||||
"restartCode": "pct reboot CTID",
|
||||
"permsBody": "No contentor LXC, crie a conta da partilha antes de lhe atribuir a propriedade e defina as permissões do diretório:",
|
||||
"permsCode": "adduser --system --group --no-create-home --shell /usr/sbin/nologin proxmenux\nmkdir -p /mnt/lxc_USB\nchown -R proxmenux:proxmenux /mnt/lxc_USB\nchmod 770 /mnt/lxc_USB",
|
||||
"permsNoteTitle": "Observação",
|
||||
"permsNote": "Substitua <code>proxmenux</code> pelo nome escolhido. O modo <code>770</code> permite o acesso ao proprietário e ao grupo, sem acesso para outros; é mais restritivo do que <code>chmod -R 777</code>. A conta é criada aqui e registada no Samba no passo 2.2."
|
||||
},
|
||||
"samba": {
|
||||
"heading": "2. Instalar o Samba",
|
||||
"installHeading": "2.1 Instale o pacote dentro do LXC",
|
||||
"installCode": "apt-get update\napt-get install -y samba",
|
||||
"confirmBody": "Confirme que o serviço está em execução:",
|
||||
"confirmCode": "systemctl status smbd.service",
|
||||
"userHeading": "2.2 Verificar a conta da partilha",
|
||||
"userBody": "A conta de sistema <code>proxmenux</code> foi criada sem shell de início de sessão no passo 1.5. Verifique-a antes de definir a palavra-passe Samba e utilize sempre o nome escolhido:",
|
||||
"userCode": "id proxmenux",
|
||||
"passwordBody": "Defina a palavra-passe Samba, separada da palavra-passe do sistema, pois o Samba mantém o seu próprio armazenamento de credenciais:",
|
||||
"passwordCode": "smbpasswd -a proxmenux",
|
||||
"aclHeading": "2.3 Definir propriedade e ACL",
|
||||
"aclBody": "Se o <code>chown</code> do passo 1.5 for suficiente, as permissões estão prontas. Para vários utilizadores com direitos diferentes no mesmo caminho, utilize ACL:",
|
||||
"aclCode": "apt-get install -y acl\nsetfacl -R -m \"u:proxmenux:rwx\" /mnt/lxc_USB\nsetfacl -d -R -m \"u:proxmenux:rwx\" /mnt/lxc_USB # default ACL — applies to new files"
|
||||
},
|
||||
"configure": {
|
||||
"heading": "3. Configurar a partilha Samba",
|
||||
"editHeading": "3.1 Editar smb.conf",
|
||||
"editCode": "nano /etc/samba/smb.conf",
|
||||
"appendBody": "Adicione uma definição da partilha no fim do ficheiro:",
|
||||
"shareCode": "[lxc_usb]\n comment = Shared USB storage\n path = /mnt/lxc_USB\n read only = no\n writable = yes\n browseable = yes\n guest ok = no\n valid users = proxmenux\n create mask = 0660\n directory mask = 0770",
|
||||
"validUsersNoteTitle": "Observação",
|
||||
"validUsersNote": "A linha <code>valid users = proxmenux</code> restringe o acesso ao único usuário do Samba. Para acesso baseado em grupo, use <code>valid users = @samba_users</code> após adicionar o(s) usuário(s) a um grupo chamado <code>samba_users</code>.",
|
||||
"reloadHeading": "3.2 Recarregar Samba",
|
||||
"reloadCode": "systemctl restart smbd"
|
||||
},
|
||||
"verify": {
|
||||
"heading": "4. Verificar o acesso",
|
||||
"body": "De qualquer cliente da LAN, navegue até <code>\\\\'<'CT_IP'>'</code> (Windows) ou <code>smb://'<'CT_IP'>'</code> (macOS / gerenciadores de arquivos Linux). Autentique com o usuário Samba (<code>proxmenux</code>) e a senha que você definiu com <code>smbpasswd</code>.",
|
||||
"image1Alt": "Acesso ao servidor Samba de um cliente",
|
||||
"image2Alt": "Pedido de autenticação Samba",
|
||||
"usageBody": "Pode utilizar a partilha no contentor e através da rede:",
|
||||
"image3Alt": "Utilização do disco USB através da partilha"
|
||||
},
|
||||
"troubleshoot": {
|
||||
"heading": "Resolução de Problemas",
|
||||
"items": [
|
||||
"<strong><code>pct reboot</code> falha com “device not found”:</strong> confirme que o caminho em <code>mp0</code> existe no anfitrião. Verifique <code>ls -l /dev/disk/by-id/</code> e corrija o caminho.",
|
||||
"<strong>O contentor arranca, mas <code>/mnt/lxc_USB</code> está vazio:</strong> o disco pode não estar montado ou o sistema de ficheiros pode estar vazio. Verifique no anfitrião com <code>pct exec '<'CTID'>' -- mount | grep lxc_USB</code>. Se a montagem faltar, examine a configuração, o caminho do dispositivo e os erros de arranque.",
|
||||
"<strong>A autenticação Samba funciona, mas a escrita falha com “Permission denied”:</strong> verifique as permissões Linux do diretório e as definições de escrita da partilha. Reveja <code>chown</code> e <code>setfacl</code> nas secções 1.5 e 2.3.",
|
||||
"<strong>A partilha não aparece, mas <code>smb://'<'ip'>'/lxc_usb</code> funciona:</strong> a descoberta NetBIOS antiga utiliza <code>nmbd</code>. O Windows moderno utiliza WS-Discovery; em Debian 12/13 instale <code>apt-get install -y wsdd</code> e verifique o serviço e a firewall. Ativar apenas <code>nmbd</code> não fornece WS-Discovery.",
|
||||
"<strong>Para adicionar outro utilizador à partilha:</strong> crie a conta com <code>adduser</code>, registe-a com <code>smbpasswd -a</code> e adicione-a à lista <code>valid users =</code>, separada por vírgulas. Atribua também as permissões ou ACL necessárias no sistema de ficheiros."
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Instalar controladores NVIDIA no Proxmox VE 9 — procedimento manual | Guias ProxMenux",
|
||||
"description": "Instale e configure manualmente os drivers NVIDIA num anfitrião Proxmox VE 9 e disponibilize a GPU a um ou mais contentores LXC. Inclui os drivers, o serviço de persistência, a correção NVENC opcional e a configuração de cada contentor.",
|
||||
"ogTitle": "Instalação de drivers NVIDIA no Proxmox VE 9 (procedimento manual)",
|
||||
"ogDescription": "Instalação manual NVIDIA no PVE 9: driver do anfitrião, serviço de persistência, correção NVENC opcional e acesso à GPU em cada contentor LXC."
|
||||
},
|
||||
"header": {
|
||||
"title": "Instalação de drivers de placas gráficas NVIDIA no Proxmox VE 9 (procedimento manual)",
|
||||
"description": "Instale e configure manualmente os drivers NVIDIA num anfitrião Proxmox VE 9 e disponibilize a GPU a um ou mais contentores LXC. Inclui os drivers, o serviço de persistência, a correção NVENC opcional e a configuração de cada contentor.",
|
||||
"section": "Guias"
|
||||
},
|
||||
"intro": {
|
||||
"calloutTitle": "Observação",
|
||||
"calloutBody": "Este procedimento manual fica como referência. Para a maioria dos utilizadores recomenda-se o assistente ProxMenux: <strong>Instalar drivers NVIDIA no anfitrião</strong> em <em>GPU e Coral-TPU</em>, seguido de <strong>Adicionar GPU a LXC</strong> ou <strong>Adicionar GPU a VM</strong> para configurar o convidado. O assistente executa os mesmos passos com verificações adicionais de cabeçalhos do kernel, IOMMU e conflitos VFIO. Esta página ajuda a compreender cada comando ou a adaptar a configuração.",
|
||||
"targetNote": "Destina-se ao <strong>Proxmox VE 9</strong> (Debian Trixie). O PVE 7 (Bullseye) e o PVE 8 (Bookworm) já não são abrangidos.",
|
||||
"stepsTitle": "O que vai fazer",
|
||||
"steps": [
|
||||
"Preparar o anfitrião Proxmox VE 9: bloquear nouveau e verificar repositórios e pré-requisitos.",
|
||||
"Instale o driver NVIDIA no host.",
|
||||
"Instale o serviço de persistência NVIDIA.",
|
||||
"Opcional: aplicar a correção keylase para remover o limite de sessões NVENC simultâneas nas GPU de consumo.",
|
||||
"Disponibilizar a GPU a um ou mais contentores LXC e instalar em cada um a versão correspondente do driver."
|
||||
]
|
||||
},
|
||||
"prepareHost": {
|
||||
"heading": "1. Preparar a máquina (PVE 9)",
|
||||
"blacklistHeading": "1.1 Bloquear nouveau",
|
||||
"blacklistBody": "Verifique se o driver <code>nouveau</code> de código aberto já está na lista negra:",
|
||||
"blacklistCheckCode": "cat /etc/modprobe.d/blacklist.conf",
|
||||
"blacklistAdd": "Se o <code>blacklist nouveau</code> não aparecer, adicione-o e reinicie:",
|
||||
"blacklistAddCode": "echo \"blacklist nouveau\" >> /etc/modprobe.d/blacklist.conf\nupdate-initramfs -u -k all\nreboot",
|
||||
"blacklistImageAlt": "Verificação da lista negra",
|
||||
"reposHeading": "1.2 Verificar repositórios (PVE 9 / Trixie)",
|
||||
"reposBody": "As ferramentas de pós-instalação podem já ter configurado os repositórios. Verifique primeiro as fontes existentes e ignore alterações já feitas, sem duplicar entradas.",
|
||||
"reposOtherwise": "Caso contrário, numa instalação PVE 9 de origem sem subscrição Enterprise:",
|
||||
"reposEditCode": "nano /etc/apt/sources.list.d/proxmox.sources",
|
||||
"reposPveBody": "Certifique-se de que contém a fonte sem assinatura para Trixie:",
|
||||
"reposPveCode": "Types: deb\nURIs: http://download.proxmox.com/debian/pve\nSuites: trixie\nComponents: pve-no-subscription\nSigned-By: /usr/share/keyrings/proxmox-archive-keyring.gpg",
|
||||
"reposDebianBody": "E as fontes Debian em <code>/etc/apt/sources.list.d/debian.sources</code>:",
|
||||
"reposDebianCode": "Types: deb\nURIs: http://deb.debian.org/debian/\nSuites: trixie trixie-updates\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n\nTypes: deb\nURIs: http://security.debian.org/debian-security/\nSuites: trixie-security\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg",
|
||||
"updateHeading": "1.3 Atualizar o sistema e instalar pré-requisitos",
|
||||
"updateCode": "apt update && apt dist-upgrade -y",
|
||||
"buildToolsBody": "Instale as ferramentas de compilação e os cabeçalhos do kernel necessários para compilar o módulo do kernel NVIDIA:",
|
||||
"buildToolsCode": "apt-get install -y git\napt-get install -qqy pve-headers-$(uname -r) gcc make"
|
||||
},
|
||||
"installDriver": {
|
||||
"heading": "2. Instale o driver NVIDIA na máquina",
|
||||
"pickHeading": "2.1 Escolha uma versão do driver",
|
||||
"pickBody": "Escolha um ramo do driver compatível com a GPU e o kernel em execução. O mais recente pode não suportar GPU antigas; verifique a lista de produtos da versão NVIDIA escolhida:",
|
||||
"pickUrlCode": "https://download.nvidia.com/XFree86/Linux-x86_64/latest.txt",
|
||||
"nvencCallout": "Se você planeja aplicar o patch NVENC (passo 4), verifique se o patch suporta sua versão escolhida primeiro: <patchLink>github.com/keylase/nvidia-patch</patchLink>",
|
||||
"nvencCalloutTitle": "Aviso",
|
||||
"pickReplace": "Substitua <code>latest.txt</code> no URL pelo número de versão para encontrar o instalador terminado em <code>.run</code>. Lista completa dos drivers:",
|
||||
"pickListCode": "https://download.nvidia.com/XFree86/Linux-x86_64/",
|
||||
"pickImageAlt": "Transferência do driver NVIDIA",
|
||||
"pickVersionNote": "Ao longo do resto deste guia, substitua <code>'<'VERSION'>'</code> pela versão atual (por exemplo <code>580.95.05</code>).",
|
||||
"downloadHeading": "2.2 Baixe e execute o instalador",
|
||||
"downloadCode": "mkdir -p /opt/nvidia\ncd /opt/nvidia\nwget https://download.nvidia.com/XFree86/Linux-x86_64/VERSION/NVIDIA-Linux-x86_64-VERSION.run\nchmod +x NVIDIA-Linux-x86_64-VERSION.run",
|
||||
"firstPassBody": "Execute o instalador. A opção seguinte pode desativar <code>nouveau</code> se necessário; poderá ser preciso reiniciar antes de concluir a instalação:",
|
||||
"firstPassCode": "./NVIDIA-Linux-x86_64-VERSION.run --no-questions --ui=none --disable-nouveau\nreboot",
|
||||
"secondPassBody": "Depois que o host voltar, execute o instalador novamente para compilar e instalar o módulo do kernel:",
|
||||
"secondPassCode": "/opt/nvidia/NVIDIA-Linux-x86_64-VERSION.run --no-questions --ui=none",
|
||||
"modulesHeading": "2.3 Carregar módulos NVIDIA no arranque",
|
||||
"modulesBody": "Edite a configuração de carregamento dos módulos:",
|
||||
"modulesEditCode": "nano /etc/modules-load.d/modules.conf",
|
||||
"modulesAddBody": "Adicione os módulos NVIDIA para o anfitrião e LXC. Os módulos VFIO destinam-se à passagem direta para VM e não são necessários aqui:",
|
||||
"modulesAddCode": "nvidia\nnvidia_uvm",
|
||||
"modulesSaveBody": "Salvar (<code>Ctrl+X</code>) e reconstruir initramfs:",
|
||||
"modulesSaveCode": "update-initramfs -u -k all",
|
||||
"udevHeading": "2.4 Criar regras udev",
|
||||
"udevBody": "Para criar os nós dos dispositivos <code>/dev/nvidia*</code> quando os módulos são carregados:",
|
||||
"udevEditCode": "nano /etc/udev/rules.d/70-nvidia.rules",
|
||||
"udevRulesCode": "# /etc/udev/rules.d/70-nvidia.rules\nKERNEL==\"nvidia\", RUN+=\"/bin/bash -c '/usr/bin/nvidia-smi -L'\"\nKERNEL==\"nvidia_uvm\", RUN+=\"/bin/bash -c '/usr/bin/nvidia-modprobe -c0 -u'\"",
|
||||
"udevSaveBody": "Gravar (<code>Ctrl+X</code>)."
|
||||
},
|
||||
"persistence": {
|
||||
"heading": "3. Serviço de persistência NVIDIA",
|
||||
"body": "O serviço de persistência mantém a GPU inicializada quando nenhuma outra aplicação a utiliza. Reduz a latência de reinicialização e conserva esse estado entre clientes:",
|
||||
"installCode": "cd /opt/nvidia\ngit clone https://github.com/NVIDIA/nvidia-persistenced.git\ncd nvidia-persistenced/init\n./install.sh\nreboot",
|
||||
"verifyBody": "Após reiniciar, confirme que o driver está carregado e o serviço ativo:",
|
||||
"verifySmiCode": "nvidia-smi",
|
||||
"smiImageAlt": "Saída NVIDIA SMI",
|
||||
"verifyServiceCode": "systemctl status nvidia-persistenced",
|
||||
"serviceImageAlt": "Estado do serviço de persistência NVIDIA"
|
||||
},
|
||||
"nvenc": {
|
||||
"heading": "4. Opcional: remover o limite de sessões NVENC simultâneas",
|
||||
"body": "O limite de sessões NVENC depende do modelo de GPU e da versão do driver. Consulte a matriz NVIDIA, em vez de presumir um número por geração. A correção keylase remove o limite de software nos drivers suportados e pode ajudar na transcodificação Plex ou Jellyfin.",
|
||||
"code": "cd /opt/nvidia\ngit clone https://github.com/keylase/nvidia-patch.git\ncd nvidia-patch\n./patch.sh",
|
||||
"imageAlt": "Aplicação de patch NVIDIA",
|
||||
"after": "Volte a aplicar a correção após cada atualização do driver. O repositório keylase inclui ainda <code>patch-fbc.sh</code> para FBC, a captura do framebuffer."
|
||||
},
|
||||
"lxcSetup": {
|
||||
"heading": "5. Configurar o acesso à GPU num contentor LXC",
|
||||
"identifyHeading": "5.1 Identificar os números de dispositivo",
|
||||
"identifyBody": "Na máquina:",
|
||||
"identifyCode": "ls -l /dev/nv*",
|
||||
"identifyImageAlt": "Lista de dispositivos NVIDIA",
|
||||
"identifyNote": "Anote os números major dos dispositivos: podem variar entre sistemas. Valores típicos:",
|
||||
"tableHeaders": {
|
||||
"device": "Dispositivo",
|
||||
"major": "Número major típico"
|
||||
},
|
||||
"tableRows": [
|
||||
{
|
||||
"device": "<code>/dev/nvidia0</code>, <code>/dev/nvidiactl</code>",
|
||||
"major": "195"
|
||||
},
|
||||
{
|
||||
"device": "<code>/dev/nvidia-uvm</code>, <code>/dev/nvidia-uvm-tools</code>",
|
||||
"major": "509 (variável)"
|
||||
},
|
||||
{
|
||||
"device": "<code>/dev/dri/*</code>",
|
||||
"major": "226"
|
||||
},
|
||||
{
|
||||
"device": "<code>/dev/nvidia-modeset</code>",
|
||||
"major": "195 (partilhado com nvidia)"
|
||||
}
|
||||
],
|
||||
"editHeading": "5.2 Editar a configuração do LXC",
|
||||
"editBody": "Pare o contentor se estiver em execução. Abra a configuração, substituindo <code>'<'CTID'>'</code> pelo respetivo ID:",
|
||||
"editCode": "nano /etc/pve/lxc/CTID.conf",
|
||||
"editConfigBody": "Comente apenas as linhas <code>lxc.cgroup2.devices.allow</code> ou <code>/dev/dri</code> que realmente entrem em conflito. Adicione a configuração NVIDIA e ajuste os números major aos dispositivos NVIDIA mostrados por <code>ls -l /dev/nv*</code> no <strong>seu</strong> anfitrião:",
|
||||
"editConfigCode": "lxc.cgroup2.devices.allow: c 195:* rwm\nlxc.cgroup2.devices.allow: c 509:* rwm\nlxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file\nlxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file\nlxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file\nlxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file\nlxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file",
|
||||
"editConfigImageAlt": "Configuração do LXC",
|
||||
"editSave": "Guarde o ficheiro, saia com <code>Ctrl+X</code> e inicie o contentor.",
|
||||
"installCtHeading": "5.3 Instalar o driver no contentor",
|
||||
"installCtCalloutTitle": "Importante",
|
||||
"installCtCalloutBody": "Esta parte é executada <strong>no contentor</strong>, não no anfitrião.",
|
||||
"installCtBody": "O módulo do kernel já está carregado no anfitrião. O contentor só precisa das bibliotecas em espaço de utilizador da mesma versão do driver:",
|
||||
"installCtCode": "mkdir -p /opt/nvidia\ncd /opt/nvidia\nwget https://download.nvidia.com/XFree86/Linux-x86_64/VERSION/NVIDIA-Linux-x86_64-VERSION.run\nchmod +x NVIDIA-Linux-x86_64-VERSION.run\n./NVIDIA-Linux-x86_64-VERSION.run --no-kernel-module",
|
||||
"installCtAfter": "Leia as perguntas e limite esta instalação às bibliotecas em espaço de utilizador. Não compile nem instale módulos do kernel dentro do LXC.",
|
||||
"installCtImageAlt": "Instalação do driver NVIDIA",
|
||||
"verifyCtHeading": "5.4 Verificar no contentor",
|
||||
"verifyCtSmiCode": "nvidia-smi",
|
||||
"verifyCtSmiImageAlt": "NVIDIA SMI em LXC",
|
||||
"verifyCtLsCode": "ls -l /dev/nv*",
|
||||
"verifyCtLsImageAlt": "Dispositivos NVIDIA em LXC",
|
||||
"verifyCtAfter": "A GPU deverá aparecer na lista e os nós dos dispositivos no sistema de ficheiros do contentor.",
|
||||
"workloadHeading": "5.5 Confirmar a utilização da GPU com uma carga real",
|
||||
"workloadBody": "Ative a aceleração NVIDIA no Plex ou Jellyfin, inicie uma transcodificação e confirme a utilização real da GPU no painel ou nos registos. Instalar o driver não ativa automaticamente a aceleração na aplicação.",
|
||||
"workloadImage1Alt": "Plex usando NVIDIA GPU",
|
||||
"workloadImage2Alt": "Plex usando NVIDIA GPU - sessão ativa",
|
||||
"repeatNote": "Repita a <strong>secção 5</strong> para cada contentor adicional que precise da GPU. Quando atualizar o driver do anfitrião, mantenha alinhadas as bibliotecas em espaço de utilizador de todos os contentores."
|
||||
},
|
||||
"docker": {
|
||||
"heading": "6. (Opcional) NVIDIA Docker dentro de um LXC",
|
||||
"body": "Se o Docker já funciona no LXC, instale aí <code>nvidia-container-toolkit</code> para disponibilizar a GPU aos contentores Docker. O acesso à GPU a partir do LXC deve funcionar primeiro. Estes comandos destinam-se a Docker executado como root:",
|
||||
"code": "apt-get update\napt-get install -y ca-certificates curl gnupg\ncurl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | gpg --dearmor --yes -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg\ncurl -fsSL https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' > /etc/apt/sources.list.d/nvidia-container-toolkit.list\napt-get update\napt-get install -y nvidia-container-toolkit\nnvidia-ctk runtime configure --runtime=docker\nsystemctl restart docker",
|
||||
"after": "Os comandos configuram o repositório NVIDIA, instalam o toolkit, configuram o runtime Docker e reiniciam o Docker. Mantêm-se as permissões dos dispositivos e as restrições cgroup do LXC; confirme a GPU com uma carga de teste."
|
||||
},
|
||||
"troubleshoot": {
|
||||
"heading": "Resolução de Problemas",
|
||||
"items": [
|
||||
"<strong><code>nvidia-smi</code> funciona no anfitrião, mas apresenta “No devices found” no contentor:</strong> verifique montagens, permissões e versões das bibliotecas. Se diferirem, instale no contentor a mesma <code>'<'VERSION'>'</code> do anfitrião com <code>--no-kernel-module</code>.",
|
||||
"<strong>A compilação do driver falha:</strong> consulte o registo. “No precompiled kernel interface was found” pode apenas indicar que é necessária compilação local. Instale os cabeçalhos correspondentes a <code>uname -r</code> com <code>apt-get install pve-headers-$(uname -r)</code> ou o pacote proxmox-headers equivalente.",
|
||||
"<strong>As sessões NVENC continuam limitadas:</strong> confirme que a correção suporta o driver ativo. Uma atualização pode substituí-la. Para uma versão compatível, volte a executar <code>./patch.sh</code> em <code>/opt/nvidia/nvidia-patch</code> e verifique a saída.",
|
||||
"<strong>A GPU deixa de responder após inatividade:</strong> verifique <code>systemctl status nvidia-persistenced</code> e ative o serviço se necessário. Consulte também os registos do kernel e do driver; não é a única causa possível.",
|
||||
"<strong>O contentor arranca, mas <code>ls /dev/nv*</code> não mostra dispositivos NVIDIA:</strong> verifique os bind mounts e os caminhos no anfitrião. Utilize <code>ls -l /dev/nv*</code> para confirmar os números major NVIDIA e verifique as regras <code>lxc.cgroup2.devices.allow</code> e as permissões."
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user