Experimentando o 9Protocol do Plan9 com diod
Olá, sou o Incompetente.
Desta vez, vou experimentar o protocolo Plan9, desenvolvido pelo Plan9 para sistemas operacionais distribuídos, no Bell Labs, onde o UNIX nasceu.
Introdução
Como um SO distribuído, o Plan9 foi configurado de forma mais simples, tratando todos os recursos como arquivos.
Por essa razão, parece que os recursos da CPU também eram distribuídos usando recursos remotamente em seus respectivos sistemas de arquivos. Por exemplo, você pode concatenar o diretório /bin ou, com /dev, pode compartilhar dispositivos sem adicionar código.
Por exemplo, hoje em dia, se você compartilhar /var/spool/cups, que aponta para o diretório da fila, como cups (Common Unix Printing System), é possível imprimir facilmente a partir de um servidor de impressão.
Deveria ser mais fácil operar montando-o no sistema de arquivos do que gerenciá-lo por porta.
Vou experimentar o Plan9 Protocol que foi usado nesse contexto.
Na verdade, atualmente, verificando a Wikipedia, existem qemu e diod disponíveis para BSD/GNU/Linux, e como qemu já está em uso, desta vez vou usar diod como seu servidor de arquivos, que é mais tradicionalmente UNIX-like.
Instalação do diod
O Github do diod está aqui, mas você pode instalá-lo facilmente através do gerenciador de pacotes.
apt
sudo apt isntall diod
yay
yay -S diod
Isso completa a instalação.
Inicialização do servidor, montagem
O método está descrito no README.md no Github, então vou segui-lo.
Desta vez, vou montar o diretório /media/ncp/files do servidor em /mnt/9p no lado do cliente.
Além disso, como ele opera em 564/TCP, vou allowá-lo do servidor usando ufw. Server
sudo ufw allow 564/tcp
sudo ufw reload
sudo diod -f -d 1 -n -e /media/ncp/files/
Isso completou a inicialização.
Client
sudo diodmount -n 192.168.10.113:/media/ncp/files /mnt/9p
Isso completou a montagem.
Vamos verificar com ls.
$ ls -la /mnt/9p/
合計 6115604
drwxr-xr-x 2 haturatu haturatu 4096 9月 2 21:58 .
drwxr-xr-x 3 root root 4096 9月 5 22:32 ..
-rw-r--r-- 1 haturatu haturatu 6262358016 9月 2 13:58 devuan.qcow2
-rwxr-xr-x 1 root root 1845 9月 2 21:58 index.php
-rw-r--r-- 1 root root 937 9月 2 21:53 style.css
Perfeito. Mais tarde, preciso mudar o usuário aqui para www-data...
A desmontagem pode ser feita como de costume.
sudo umount /mnt/9p
Mais Simples
É muito confortável porque elimina a complexidade e é simples.
Embora fosse originalmente um sistema para SO distribuído, infelizmente, hoje em dia, BSD e GNU/Linux tornaram-se comuns e possuem sistemas de arquivos diferentes.
Devido a essa divergência, torná-lo um SO distribuído entre diferentes sistemas operacionais não parece muito realista.
Por exemplo, no FreeBSD, pkg e os grupos de software que os usuários podem instalar livremente usam arquivos de configuração em /usr/loacl/etc, enquanto o GNU/Linux usa /etc.
Além disso, FreeBSD não possui /proc e /sys, mas o GNU/Linux sim.
Claro, existem partes recíprocas, então pode-se dizer que é possível em alguns casos.
Neste caso, se você combiná-lo com Wireguard a partir de um VPS com pouco armazenamento, pode expandir facilmente o armazenamento, e ele tem um certo nível de praticidade.
Além disso, falando de outros servidores de arquivos, já usei alguns como o Samba, mas sinto que este é provavelmente o mais simples e rápido.
Desviando um pouco do assunto, ao reler o artigo da entrevista de Theo de Raadt sobre o OpenBSD e depois reler a Wikipedia do OpenBSD, percebi que
Ênfase em código aberto e documentação
e o fato de eu ter conseguido testar tão facilmente um sistema tão antigo é precisamente porque houve pessoas que criaram a documentação no passado.
Foi um dia em que senti novamente a importância da documentação, preferindo a simplicidade à complexidade.
Então é isso. Até a próxima.