使用 diod 測試 Plan9 的 9Protocol

3 min

language: ja bn en es hi pt ru zh-cn zh-tw

您好,我是無能。

這次,我將嘗試 Plan9 協定,該協定由 Plan9 為分散式作業系統開發,而 Plan9 則誕生於 UNIX 的發源地貝爾實驗室。

前言

作為分散式作業系統,Plan9 的配置更為簡單,因為它將所有資源都視為檔案
因此,為了使用資源,它似乎透過在每個檔案系統上遠端執行來分散 CPU 資源。例如,可以連接/bin目錄,或者對於/dev,無需添加程式碼即可共享裝置。
例如,現在的cups作為Common Unix Printing System,如果共享指向佇列目錄的/var/spool/cups,就可以輕鬆地從列印伺服器進行列印。
與透過埠管理相比,將其掛載到檔案系統上應該更容易操作。

我將嘗試其中使用的Plan9 Protocol
實際上,目前根據維基百科的資訊,在 BSD 和 GNU/Linux 上可用的有qemudiod,由於我已經在使用qemu,這次我將嘗試使用更具 UNIX 風格的diod作為其檔案伺服器。

安裝 diod

diod 的 Github 在這裡,但可以透過套件管理輕鬆安裝。
apt

sudo apt isntall diod  

yay

yay -S diod  

這樣就完成了安裝。

啟動伺服器,掛載

Github 上的README.md中記載了操作方法,我將照做。
這次我將把伺服器的/media/ncp/files 目錄掛載到用戶端的/mnt/9p

此外,由於它在564/TCP上運行,因此我將從伺服器端使用ufw進行allowServer

sudo ufw allow 564/tcp  
sudo ufw reload  
sudo diod -f -d 1 -n -e /media/ncp/files/  

這樣就啟動完成了。

Client

sudo diodmount -n 192.168.10.113:/media/ncp/files /mnt/9p  

這樣就完成了掛載。
讓我們用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  

完美。之後我必須將這裡的使用者改為www-data...

解除掛載照常即可。

sudo umount /mnt/9p  

更簡潔

它消除了複雜性,並且很簡單,這讓人感覺非常舒適。
它最初是一個作為分散式作業系統的系統,但遺憾的是,現在 BSD 和 GNU/Linux 在某種程度上變得普遍,並且擁有不同的檔案系統。
由於這種分歧,將其作為不同作業系統之間的分散式作業系統似乎不太現實。
例如,對於FreeBSDpkg和使用者可以自由安裝的軟體群組使用/usr/local/etc中的設定檔,而 GNU/Linux 則使用/etc
此外,FreeBSD中不存在/proc/sys,但 GNU/Linux 中存在。
當然,由於存在一些相互關聯的部分,可以說在某些情況下是可行的。

就這次而言,如果從儲存空間較小的 VPS 上結合使用Wireguard,可以輕鬆擴展儲存空間,並且具有一定的實用性。
此外,談到其他檔案伺服器,我曾使用過 Samba 等一些,但我認為這可能是最簡單、最快速的。

話題稍微偏離一下,當我重新閱讀 OpenBSD 的 Theo de Raadt 的採訪文章,並再次閱讀 OpenBSD 的維基百科時,發現

重視開源和文件

其中提到,即使是如此古老的系統,我之所以能如此輕鬆地進行測試,正是因為過去有人製作了文件。
這一天,我再次感受到了文件的重性,它比複雜性更傾向於簡潔。

那麼。下次再見。

Related Posts