Você não pode tornar /
um link simbólico. Isso simplesmente não é possível. /
tem que ser um diretório. Se /
fosse um link simbólico, ele apontaria para algum caminho - e para resolver esse caminho, o sistema passaria por /
, que é um link simbólico que precisa ser resolvido ... Um link simbólico que aponta sob ele mesmo sempre causa um erro quando é desreferenciado, mas em qualquer caso, você não poderá fazer /
um link simbólico já que ele já é um diretório existente.
O que você pode fazer, e vai conseguir o efeito que você queria, é montar um sistema de arquivos NFS como o sistema de arquivos raiz, em vez de montar um sistema de arquivos local como normalmente é feito. Isso é possível e suportado pelo Ubuntu. Há um tutorial no wiki da comunidade Ubuntu (ele cobre uma instalação completa sem disco, você pode pular as partes sobre o TFTP se você continuar /boot
localmente). Mover um sistema existente é um pouco diferente de fazer a instalação inicial, portanto, não espere seguir o tutorial ao pé da letra.
Você precisa garantir que o initramfs contenha os drivers necessários. O initramfs é gerado pelo comando update-initramfs
baseado no atual configuração do sistema e nos arquivos de configuração em /etc/initramfs-tools
. Você precisará adicionar explicitamente as configurações do NFS para /etc/initramfs-tools/initramfs.conf
, pelo menos, adicione uma linha BOOT=nfs
(acho que os outros parâmetros podem ser especificados no momento da inicialização, mas BOOT=nfs
é necessário para incluir os drivers NFS e DEVICE=…
também pode ser necessário para incluir o driver Ethernet) . Depois de modificar o /etc/initramfs-tools/initramfs.conf
, execute update-initramfs
.
Eu recomendo manter /boot
como uma partição local, separada de /
, se ainda não estiver.
Não use cp -rp /* /storage/nfs/myvmroot
para copiar arquivos , isso não funcionaria. Você precisa excluir sistemas de arquivos montados da cópia. Passe a opção -x
. Além disso, use -a
em vez de -rp
, existem atributos que -rp
não preserva.
cp -ax /* /storage/nfs/myvmroot
ou, caso a cópia seja interrompida
rsync -axAX / /storage/nfs/myvmroot
Outra opção, provavelmente mais fácil, é manter o sistema de arquivos raiz local e mover apenas parte dele. Você geralmente obterá desempenho e confiabilidade significativamente melhores de um sistema de arquivos local do que do NFS, mesmo com um servidor rápido e uma rede rápida.
Você não pode simplesmente cortar em qualquer lugar: o que você coloca remotamente não deve ser necessário muito cedo no processo de inicialização. Eu acho que cortar em /usr
não é oficialmente suportado pelo Ubuntu atualmente, mas é pelo Debian distribuição Debian, então ele tem uma chance de funcionar. Outro local com boas chances de trabalho é /usr/share
. Eu não recomendo /var
, é provável que seja um incômodo se algo quebrar, já que é onde os logs são mantidos. (Se o cliente NFS estiver insatisfeito com alguma coisa e tentar gravar logs em /var/log
, mas /var
não estiver respondendo, boa sorte para diagnosticar a falha.)