x86主機搭建家庭智能路由系統 ---- Webmin搭建家庭數據中心


起因

過年時從家里的舊電腦上拆下一塊機械硬盤(NTFS格式且含有資料),回來后發現筆記本想讀硬盤里的資料是件很麻煩的事。
一個簡單的解決方法是,某寶買一個"硬盤底座"就好了,不過想到家里的小主機一直閑着也是閑着,本着折騰和物盡其用的原則,准備自己動手搭一台NAS服務器。

設想中的NAS服務器應該有以下特征:

  1. 能讀取物理磁盤上的資料。
  2. 能在內網中提供文件共享(Samba、NFS、AFP)服務,方便其他設備讀取資料。
  3. 能提供文件備份服務,定期備份手機相冊。

動手嘗試了幾款出名的NAS系統:FreeNASRockstor,都不太符合我的需求,此類產品為了保證數據的安全性,大部分使用ZFS系統,並限制其他格式,經過嘗試雖然還是可以掛載NTFS格式,但轉念一想,為什么我要繞一大圈來"破解"系統本來限制的功能?我想要的僅僅只是一個文件共享以及對應的Web管理界面而已。

明確了需求后,我嘗試尋找一些帶Web管理的操作系統,最后,我找到了本文的主角:Webmin

Webmin簡介

Webmin是目前功能最強大的基於Web的Unix系統管理工具。管理員通過瀏覽器訪問Webmin的各種管理功能並完成相應的管理動作。目前Webmin支持絕大多數的Unix系統,這些系統除了各種版本的linux以外還包括:AIX、HPUX、Solaris、Unixware、Irix和FreeBSD等。
(內容摘自百度百科)

簡單來說,Webmin提供了一個Web管理平台,使得常見的應用都可以在GUI界面中進行配置,代替那些難記的命令。

這東西簡直太符合我的要求了,只需在CentOS上裝個Samba,再加個管理界面,NAS就成了。
我不在乎數據的安全性,也不用管那些RAID,磁盤壞了就壞了吧。
我需要的僅僅是一個數據的暫存區,文件在局域網內共享,並且定時將特定數據上傳到雲盤就好了。

Proxmox中創建虛擬機

搭建平台前,首先要在Proxmox中創建一台虛擬機,考慮到我只需要跑幾個服務,我選擇了輕量級容器LXC。
第一次使用LXC,要先下載模板,選擇存儲中的"local"--"內容"--"模板",根據需要下載對應模板。

有了模板之后,點擊Proxmox控制台右上角“創建CT”,設置root密碼,選擇要使用的模板,CPU,內存等配置。

虛擬機創建好了,還需要將物理磁盤進行映射,通過閱讀官方文檔,在Host機上執行以下命令:
注意:LXC容器不可以掛載NFS和塊設備

pct set 104 -mp0 /dev/disk/by-id/ata-WDC_WD5000AAKX-001CA0_WD-WMAYUM449361-part1,mp=/storage

如果使用KVM,也可以映射物理磁盤(官方文檔),使用以下命令:

# 將104換成虛擬機ID,by-id后名稱替換為自己硬盤
qm set 104 -virtio2 /dev/disk/by-id/ata-WDC_WD5000AAKX-001CA0_WD-WMAYUM449361

查看虛擬機信息,可以看到磁盤或者分區已經掛載好了。

這里雖然成功掛載了,實際使用時會提示Read-Only file system,解決方法是在宿主機安裝ntfs-3g:

apt-get install ntfs-3g

安裝Webmin

Webmin提供了多種安裝包,其中當然包換CentOS,打開虛擬機shell,使用命令下載RPM包並安裝:

cd /tmp
curl -O http://prdownloads.sourceforge.net/webadmin/webmin-1.840-1.noarch.rpm	#注意是大寫字母O
yum install webmin-1.840-1.noarch.rpm

安裝完成后,訪問 https://webmin:10000 就可以看到Webmin的真容了。

安裝Windows共享

開啟Windows共享需要安裝Samba,在虛擬機的shell中執行命令:
yum install samba

安裝完成后,點擊Webmin中的"Refresh Modules",就可以看到新添加的Samba模塊了。

添加Samba用戶

選擇Samba模塊中的"Convert Users",將Linux系統中用戶轉換為Samba用戶。
"Samba Users"中可以修改用戶信息。

添加Samba共享

點擊"Create a new file share"來添加一個共享,勾選"Available"和"Browseable"。

編輯添加好的共享,選擇"File Permissions"--"Force Unix user",輸入"root",以保證有足夠的權限訪問該文件夾。

配置好后,點擊Samba模塊下方"Start Samba Servers"開啟服務,Windows中就可以順利訪問共享了。

安裝Linux共享、Mac共享

Linux共享,使用NFS。
Mac共享,使用Netatalk。

Netatalk與Webmin整合需要手動安裝模塊。
https://sourceforge.net/projects/netatalk/files/Webmin/
https://github.com/Netatalk/webmin-module

Linux、Mac共享,只需安裝上述兩個包,而后在GUI界面中進行配置,這里就不再闡述。

總結

Webmin提供了另一種操作Unix系統的方式,使其可以在Web端管理服務器,甚至支持移動設備(雖然小屏幕看起來亂糟糟的)。
這篇文章只是拋塊磚,大家可以發揮更多的想象力,讓程序給我們提供便利。

下次我將介紹手機同步軟件FolderSync及雲盤同步軟件,打造自動備份系統,讓丟照片成為過去。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM