
簡介
在使用LXC部屬服務時,經常需要掛載外部目錄(例如NAS),但是在unprivileged container(非特權容器)中掛載NFS會遇到因為namespace機制,沒有權限掛載的問題,而用privileged container又不太適合,這時候就可以用Host掛載再mount進LXC的方式存取。

A. Proxmox Host設定
可以選擇從GUI掛載或者用CLI掛載 前者較簡單 但是會顯示在Proxmox VE WebUI的下方
後者自訂性比較高 適合熟悉Linux的用戶。
GUI 掛載(較簡單)
1.進入Proxmox Web UI
進到Datacenter>Storage頁面

2.新增存儲區
右上角 add>NFS mount
ID: 輸入要在ProxmoxVE中顯示的名稱
Server:提供NFS掛載的伺服器IP地址
Export:NFS路徑
Content:使這個存儲區可以放其他Proxmox資源 僅作為LXC掛載的話預設就好

3.確定存儲區路徑
進入Host的Shell 切換到/mnt/pve/ 檢視是否有剛剛掛載的路徑
cd /mnt/pve/
ls -l

如果有看到剛剛設定的路徑名稱就是成功了
使用CLI掛載
1.安裝NFS套件(已安裝可略過)
登入Proxmox Shell (如果不是用root帳號 以下指令前面須加sudo )
apt update && apt install nfs-common -y
2.確認掛載路徑與可用性
使用showmount查看目標伺服器上的可掛載路徑
showmount -e {伺服器IP}

3.建立掛載路徑
在/mnt/ 下新增掛載用的路徑 然後用ls確認建立成功
mkdir /mnt/{路徑名稱}
ls /mnt/

4.設定掛載
在/etc/fstab中新增掛載路徑
vim /etc/fstab
在下方新增一行 本地路徑使用剛剛建立的路徑
{伺服器IP}:/{NFS路徑} /mnt/{剛剛建立的路徑} nfs defaults 0 0
注意每個區塊中間都要用空格格開

5.應用掛載
使用mount -a執行掛載後用df -h確認有沒有掛載上
mount -a
df -h

下方輸出內有顯示剛剛的掛載就是成功了
B. LXC 掛載設定
可以使用pct指令直接掛載存儲區 也可以手動編輯LXC config檔案
(指令實際上也只是塞config進去而已)
指令掛載
1.關閉LXC
關閉要更改的LXC 此步驟也可以用WebUI執行
pct shutdown {CT_ID}
2.映射路徑
CT_ID填入該LXC的I、-mp0是掛載的代號、
NFS掛載路徑填入上面步驟掛載的路徑 mp=後面是容器內的路徑
pct set {CT_ID} -mp0 /mnt/{NFS掛載路徑},mp=/{容器內路徑}

3.重啟容器
使用pct啟動容器
pct start {CT_ID}
4.進入容器驗證掛載成功
進入容器的shell 使用df -h就能看到NFS掛載

评论(0)
暂无评论