安裝Proxmox Backup Server新姿勢,Systemd Container闻鉴!

前言

Proxmox Backup Server (簡稱PBS)作為一個備份服務器茵乱,體驗還是不錯的,它除了備份PVE的虛擬機外孟岛,備份系統(tǒng)重要文件體驗也是相當不錯:backup-client瓶竭,現(xiàn)在,我使用它的場景幾乎都是備份重要文件渠羞,無論內(nèi)網(wǎng)還是公網(wǎng)斤贰,備份起來都非常方便。

官方當然推薦的方式是獨立的物理機了次询,個人使用在資源有限的前提下使用虛擬機也沒有問題荧恍,甚至有人把它改造成Docker容器了:ayufan/proxmox-backup-server。不過屯吊,在個人使用的前提下送巡,這些使用方式都有其缺點:

  • 物理機,沒有獨立的物理機給它造盒卸。

  • 虛擬機骗爆,太浪費內(nèi)存資源,內(nèi)存資源緊張蔽介,能不用虛擬機就不用摘投。

  • Docker容器,更新可能會比官方慢很久屉佳,并且功能不完整谷朝,比如查看PBS系統(tǒng)日志,比如自動續(xù)簽SSL證書等等武花,還有就是鏡像一更新就要往磁盤寫入幾百M甚至幾G的數(shù)據(jù),對SSD不友好杈帐。

  • LXC容器体箕,配置麻煩,想要直接訪問宿主上的磁盤要么麻煩挑童,要么性能下降得厲害累铅。

  • 還有一種形式,直接在現(xiàn)有NAS系統(tǒng)中安裝proxmox-backup-server站叼,但這需要NAS系統(tǒng)是Debian或基于Debian娃兽,不過會產(chǎn)生一個新的問題,系統(tǒng)隔離性不好尽楔。

那么有沒有一種方式投储,能規(guī)避掉這些缺點呢第练,有的,那就是 Systemd Container玛荞。關(guān)于它的詳細介紹娇掏,見 Arch Wiki 上的 Systemd-nspawn,一些常用命令勋眯,以及常見問題該鏈接中都有婴梧,本文沒有提及的內(nèi)容請參考該鏈接。

systemd-nspawn 跟 chroot 命令類似客蹋,是個終極版的 chroot塞蹭。systemd-nspawn 可以在輕量的命名空間容器中運行命令或系統(tǒng)。它比 chroot 強大的地方是讶坯,它完全虛擬了文件系統(tǒng)層次結(jié)構(gòu)番电、進程樹、各種 IPC 子系統(tǒng)以及主機名闽巩。systemd-nspawn 將容器中各種內(nèi)核接口的訪問限制為只讀钧舌,像是 /sys, /proc/sys 和 /sys/fs/selinux。網(wǎng)絡接口和系統(tǒng)時鐘不能從容器內(nèi)更改涎跨,不能創(chuàng)建設(shè)備節(jié)點洼冻。不能從容器中重啟宿主機,也不能加載內(nèi)核模塊隅很。相比 LXC 或 Libvirt撞牢, systemd-nspawn 更容易配置。

安裝

以下均為 root 用戶運行的叔营。

基礎(chǔ)環(huán)境

對于 Debian 和基于 Debian 的系統(tǒng)屋彪,需要安裝 systemd-container 以及 debootstrap

apt install debootstrap systemd-container

對于 Arch Linux 和基于 Arch Linux 的系統(tǒng),系統(tǒng)默認安裝的 systemd 已經(jīng)包含了 systemd-container绒尊,只需要安裝 debootstrapdebian-archive-keyring

pacman -S debootstrap debian-archive-keyring

安裝 Debian Base

Proxmox Backup Server 基于 Debian畜挥,在安裝 Proxmox Backup Server 前需要先安裝 Debian Base,以本文成文時的 Debian 最新穩(wěn)定版 bookworm 為例:

cd /var/lib/machines
debootstrap --include=dbus-broker,systemd-container --components=main bookworm pbs https://deb.debian.org/debian

其中 https://deb.debian.org/debian 可以替換為國內(nèi)鏡像站點(國內(nèi)高校開源鏡像站匯總)婴谱。dbus-brokersystemd-container 是必須安裝的蟹但,在 Systemd-nspawn 中有解釋。

配置密碼

cd /var/lib/machines
systemd-nspawn -D ./pbs
passwd
logout

配置macvlan網(wǎng)卡

還是建議 Proxmox Backup Server 使用和宿主機不一樣的 IP谭羔,這可以使用MacVLAN來實現(xiàn)华糖,在宿主機上為pbs配置:

mkdir -p /etc/systemd/nspawn
nano /etc/systemd/nspawn/pbs.nspawn

然后輸入以下內(nèi)容:

[Exec]
Hostname=pbs

[Network]
## eth0是指基于宿主機上的eth0創(chuàng)建MacVLAN網(wǎng)卡,需要修改為自己的瘟裸,比如 vmbr0, ens18, eno1等等
MACVLAN=eth0

[Files]
PrivateUsersChown=yes
## Proxmox Backup Server的備份數(shù)據(jù)存放位置客叉,類似于Docker的映射,冒號左邊是宿主機的路徑,右邊是容器內(nèi)的路徑兼搏,如果之前用過Docker卵慰,可以直接用的之前配置的路徑
Bind=/mnt/data:/mnt/data

啟動

machinectl start pbs       # 啟動pbs
machinectl shell root@pbs  # 進入pbs

配置網(wǎng)絡

因為我們使用以MacVLAN網(wǎng)絡,所以要單獨地為容器配置網(wǎng)絡向族,進入容器后創(chuàng)建并編輯 /etc/network/interfaces.d/macvlan呵燕,內(nèi)容如下,其中的 mv-eth0 是容器中的MacVLAN虛擬網(wǎng)卡名件相,可以通過輸入命令 ip a 查看到再扭。

auto mv-eth0
iface mv-eth0 inet dhcp
iface mv-eth0 inet6 dhcp

這是按照DHCP的方式來配置的,你也可以按照自己的習慣設(shè)置為固定IP夜矗。

然后重啟網(wǎng)絡:

systemctl enable --now networking.service
systemctl restart networking.service

如果后面仍然無法訪問網(wǎng)絡泛范,則還需要設(shè)置DNS服務器,編輯 /etc/resolv.conf紊撕,設(shè)置nameserver如下面的形式罢荡,你可以改為你所使用的DNS服務器。

nameserver 223.5.5.5

安裝 Proxmox Backup Server

進入pbs后对扶,配置 Debian 和 Proxmox Backup Server的倉庫源区赵,將 /etc/apt/sources.list 修改為這樣(基于 Debian 12 bookworm),其中建議前兩行修改為你下載最快 國內(nèi)源, 幫助文檔浪南。

deb https://deb.debian.org/debian bookworm main contrib
deb https://deb.debian.org/debian bookworm-updates main contrib
deb https://deb.debian.org/debian-security bookworm-security main contrib

信任 Proxmox 的 keyring(只下載了當前版本 bookworm 的 key):

apt install wget
wget http://download.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg

新建 /etc/apt/sources.list.d/pbs.list 笼才,內(nèi)容如下,也可以修改為你下載最快的 國內(nèi)源, 幫助文檔络凿。

deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription

安裝 Proxmox Backup Server:

apt update
apt install proxmox-backup-server

安裝完成以后會多產(chǎn)生一個文件 /etc/apt/sources.list.d/pbs-enterprise.list骡送,將其內(nèi)容注釋掉。

然后就可以愉快的訪問 https://<IP>:8007 來配置PBS了絮记,有DDNS的童鞋也可以在webui中設(shè)置acme自動更新ssl證書摔踱。

其他

  1. 如果想要在 Proxmox Backup Server 可以查看磁盤的SMART信息,則 /etc/systemd/nspawn/pbs.nspawn 下面這樣的:
[Exec]
Hostname=pbs
Capability=CAP_SYS_RAWIO

[Network]
## eth0是指基于宿主機上的eth0創(chuàng)建MacVLAN網(wǎng)卡怨愤,需要修改為自己的派敷,比如 vmbr0, ens18, eno1等等
MACVLAN=eth0

[Files]
PrivateUsersChown=yes
## Proxmox Backup Server的備份數(shù)據(jù)存放位置,類似于Docker的映射撰洗,冒號左邊是宿主機的路徑膀息,右邊是容器內(nèi)的路徑,如果之前用過Docker了赵,可以直接用的之前配置的路徑
Bind=/mnt/data:/mnt/data
## 允許 Proxmox Backup Server 查看哪些磁盤的SMART信息,全部映射給它就好
Bind=/dev/sda
Bind=/dev/sdb
...其他磁盤

然后對上述設(shè)置過的磁盤設(shè)置允許容器讀取信息:

systemctl set-property systemd-nspawn@pbs DeviceAllow='/dev/sda r'
systemctl set-property systemd-nspawn@pbs DeviceAllow='/dev/sdb r'
...其他磁盤
  1. 設(shè)置pbs容器在宿主機開機時自啟:
machinectl enable pbs
  1. 在容器內(nèi)默認仍然是宿主機的 hostname 甸赃,在容器內(nèi)可以修改 /etc/hostnamepbs柿汛。

  2. 如果未來要更新PBS,進入容器后輸入 apt update && apt upgrade 就好了,簡單方便络断。

  3. 使用MacVLAN時裁替,默認情況下宿主機無法訪問和自身處在同一個子網(wǎng)下的 Systemd 容器,不在一個子網(wǎng)的可以訪問貌笨,所以建議將PBS的IP設(shè)置在和宿主機不在一個子網(wǎng)下弱判。當然,在一個子網(wǎng)也可以訪問锥惋,可以在宿主機再額外創(chuàng)建一個macvlan橋來達到目的:

ip link add mymv link eth0 type macvlan mode bridge # mymv是新創(chuàng)建的網(wǎng)橋名稱(下同)昌腰,eth0是上述容器內(nèi)虛擬MacVLAN網(wǎng)卡橋接的宿主機網(wǎng)卡的名稱,此二者按需修改
ip link set dev mymv address "76:d3:4a:8b:81:47"    # 新網(wǎng)橋的mac地址你可以按需修改
ip link set mymv up
ip route add "10.0.0.30" dev mymv                   # 10.0.0.30是pbs容器的ip膀跌,修改為自己的

在宿主機重啟以后遭商,需要再次輸入以上命令,如果希望自動化實現(xiàn)捅伤,可以根據(jù)以下情況的不同來選擇劫流。

  • 宿主機是 Debian 的話,新建 /etc/network/if-up.d/mymv丛忆,內(nèi)容如下祠汇,其中 eth0 mymv 76:d3:4a:8b:81:47 10.0.0.30 請根據(jù)上文的解釋和你的實際情況修改。

    #!/bin/sh
    
    if [ "$IFACE" = "eth0" ]; then
        ip link add mymv link eth0 type macvlan mode bridge
        ip link set dev mymv address "76:d3:4a:8b:81:47"
        ip link set mymv up
        ip route add 10.0.0.30 dev mymv
    fi
    

    然后為該腳本增加可執(zhí)行權(quán)限:

    chmod +x /etc/network/if-up.d/mymv
    
  • 宿主機是 Arch Linux 的話熄诡,如果使用的網(wǎng)絡管理軟件是 networkmanager 可很,可以創(chuàng)建 /etc/NetworkManager/dispatcher.d/10-mymv,內(nèi)容如下粮彤,其中 eth0 mymv 76:d3:4a:8b:81:47 10.0.0.30 請根據(jù)上文的解釋和你的實際情況修改根穷。

    #!/bin/bash
    
    export LANG='C'
    INTERFACE=$1
    STATUS=$2
    
    set_ip_route() {
        if [[ "$INTERFACE" == "eth0" ]]; then
            ip link add mymv link eth0 type macvlan mode bridge
            ip link set dev mymv address "76:d3:4a:8b:81:47"
            ip link set mymv up
            ip route add 10.0.0.30 dev mymv
        fi
    }
    
    case "$STATUS" in
        "up"|"vpn-up") set_ip_route;;
    esac
    exit 0
    

    該腳本同樣需要可執(zhí)行權(quán)限:

    chmod +x /etc/NetworkManager/dispatcher.d/10-mymv
    
  1. 其他功能詳見 Systemd-nspawn

截圖

數(shù)據(jù)存儲
系統(tǒng)日志
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末导坟,一起剝皮案震驚了整個濱河市屿良,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惫周,老刑警劉巖尘惧,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異递递,居然都是意外死亡喷橙,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門登舞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贰逾,“玉大人,你說我怎么就攤上這事菠秒「斫#” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長言缤。 經(jīng)常有香客問我嚼蚀,道長,這世上最難降的妖魔是什么管挟? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任轿曙,我火速辦了婚禮,結(jié)果婚禮上僻孝,老公的妹妹穿的比我還像新娘导帝。我一直安慰自己,他們只是感情好皮璧,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布舟扎。 她就那樣靜靜地躺著,像睡著了一般悴务。 火紅的嫁衣襯著肌膚如雪睹限。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天讯檐,我揣著相機與錄音羡疗,去河邊找鬼。 笑死别洪,一個胖子當著我的面吹牛叨恨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挖垛,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼痒钝,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了痢毒?” 一聲冷哼從身側(cè)響起送矩,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎哪替,沒想到半個月后栋荸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡凭舶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年晌块,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帅霜。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡匆背,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出身冀,到底是詐尸還是另有隱情靠汁,我是刑警寧澤蜂大,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站蝶怔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏兄墅。R本人自食惡果不足惜踢星,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望隙咸。 院中可真熱鬧沐悦,春花似錦、人聲如沸五督。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽充包。三九已至副签,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間基矮,已是汗流浹背淆储。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留家浇,地道東北人本砰。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像钢悲,于是被迫代替她去往敵國和親点额。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容