[ Proxmox 折騰手記 ] PVE制作虛擬機(jī)模板

1.配置Debian系統(tǒng)
在上一篇文章《?[ Proxmox 折騰手記 ] PVE創(chuàng)建模板虛擬機(jī)?》中,我們已經(jīng)創(chuàng)建好了用于制作虛擬機(jī)模板的 Debian 虛擬機(jī)。
并調(diào)整了模板虛擬機(jī)的硬件參數(shù)、配置參數(shù),但還需對(duì) Debian 系統(tǒng)進(jìn)行調(diào)整。
此時(shí)可以將 Debian 虛擬機(jī)開機(jī),并使用?Cloud-Init
?中設(shè)置的賬號(hào)密碼進(jìn)行登錄。
1.1.啟用SSH密碼登錄
因?yàn)?Debian 的云鏡像默認(rèn)使用秘鑰登錄,因此切換到左側(cè)菜單的?控制臺(tái)
?進(jìn)行操作:

在 Debian 虛擬機(jī)的命令行界面,使用?nano
?編輯器編輯?sshd
?服務(wù)的配置文件,執(zhí)行以下命令:
在編輯器對(duì)話框中輸入以下內(nèi)容,注意命令中間的空格:
nano
?編輯器常用操作如下:
在編輯文件時(shí),可以用鍵盤?
方向鍵
?移動(dòng)光標(biāo)位置在保存文件時(shí),按下鍵盤?
ctrl 和 x
?組合鍵,再按下鍵盤?y
?鍵,即可保存
然后,重啟 SSH 服務(wù):
就可以像往常一樣,通過 SSH 工具遠(yuǎn)程訪問 Debian 虛擬機(jī)了。
1.2.配置系統(tǒng)軟件源
使用 SSH 工具登錄 Debian 虛擬機(jī),常用 SSH 工具可以看之前文章中的?SSH 工具推薦?。
首先需要對(duì) Debian 系統(tǒng)的軟件源進(jìn)行修改,這里使用 USTC 鏡像站作為演示。
以后當(dāng)系統(tǒng)版本發(fā)生變化時(shí),請(qǐng)參考使用 snullp 大叔開發(fā)的?配置生成器?。
逐條執(zhí)行以下命令:
在?nano
?編輯器對(duì)話框中輸入以下內(nèi)容(注釋了?deb-src
?以便加快軟件源同步速度),并保存:
更新軟件源的同步內(nèi)容,并更新系統(tǒng),逐條執(zhí)行以下命令:
接下來安裝系統(tǒng)必要軟件,Adguard Home 將采用?snap
?形式安裝,逐條執(zhí)行以下命令:
Adguard Home 安裝完成后,先停止其服務(wù):
1.3.配置網(wǎng)卡IPv4
使用?Cloud-Init
?并給虛擬機(jī)分配了靜態(tài) IPv4 地址后,虛擬機(jī)的網(wǎng)卡還會(huì)從路由器的 DHCP 再獲取一個(gè) IPv4 地址。
這個(gè)功能在給虛擬機(jī)添加網(wǎng)卡設(shè)備時(shí)很有用,但本 Debian 虛擬機(jī)模板的使用場(chǎng)景只需要一個(gè)靜態(tài) IPv4 地址,因此需要禁用網(wǎng)卡自動(dòng)獲取 IPv4 地址的功能。
執(zhí)行以下命令對(duì)網(wǎng)卡的配置文件進(jìn)行修改:
在?nano
?編輯器對(duì)話框中,將?source-directory /run/network/interfaces.d
?這行內(nèi)容 “注釋” 掉,參考如下內(nèi)容:
將配置保存后,可以將模板虛擬機(jī)重啟。
在系統(tǒng)重啟完成后,執(zhí)行以下命令檢查系統(tǒng)的 IPv4 地址狀態(tài):
如果系統(tǒng)網(wǎng)卡有且僅有一個(gè) IPv4 地址,且該 IPv4 地址與?Cloud-Init
?中設(shè)置的 IPv4 地址相同,則表示系統(tǒng)網(wǎng)卡已正確設(shè)置。
1.4.配置網(wǎng)卡IPv6
使用?Cloud-Init
?并給虛擬機(jī)分配了靜態(tài) IPv6 地址后,該地址為私有 ULA 地址,此時(shí)虛擬機(jī)的網(wǎng)卡不會(huì)以?SLAAC
?的方式配置 IPv6 地址。
如果上級(jí)路由器沒有設(shè)置?NAT66
?,且將公網(wǎng) GUA 地址的?Prefix
?通告到內(nèi)網(wǎng)時(shí),虛擬機(jī)將無法自動(dòng)生成 GUA 地址,從而導(dǎo)致無法訪問 IPv6 網(wǎng)絡(luò)。
因此引入?dhcpcd
?工具,在正確配置虛擬機(jī) IPv6 地址的同時(shí),保持與?Cloud-Init
?網(wǎng)卡配置的兼容性。
執(zhí)行以下命令對(duì)網(wǎng)卡的配置文件進(jìn)行修改:
在編輯器對(duì)話框中輸入以下內(nèi)容,注意命令中間的空格:
保存該配置文件后,重啟系統(tǒng)或者執(zhí)行以下命令重啟?dhcpcd
?服務(wù):
1.5.調(diào)整系統(tǒng)內(nèi)核參數(shù)
由于該 Debian 虛擬機(jī)模板將用于克隆內(nèi)網(wǎng) DNS 服務(wù)器,因此需要調(diào)整一部分系統(tǒng)內(nèi)核參數(shù)來簡(jiǎn)單優(yōu)化性能。
執(zhí)行以下命令對(duì)?sysctl
?的配置文件進(jìn)行修改:
在配置文件末尾輸入以下內(nèi)容,注意命令中間的空格:
保存該配置文件后,重啟系統(tǒng)或者執(zhí)行以下命令讓配置生效:
1.6.調(diào)整系統(tǒng)時(shí)間
默認(rèn)情況下的 Debian 云鏡像的系統(tǒng)時(shí)間可能不正確,執(zhí)行以下命令將系統(tǒng)時(shí)區(qū)設(shè)置為中國(guó)時(shí)區(qū):
設(shè)置完成后,執(zhí)行以下命令檢查系統(tǒng)時(shí)間:
Debian 普通鏡像常用?systemd-timesyncd.service
?來同步時(shí)間,而 Debian 云鏡像使用?chrony.service
?來同步時(shí)間。
為了使用國(guó)內(nèi)的 NTP 服務(wù)器,需要對(duì)?chrony.service
?進(jìn)行配置。
執(zhí)行以下命令對(duì)?chrony
?的配置文件進(jìn)行修改:
在編輯器對(duì)話框中,將?pool 2.debian.pool.ntp.org iburst
?這行內(nèi)容 “注釋” 掉,并添加國(guó)內(nèi)的 NTP 服務(wù)器,參考如下內(nèi)容:
保存該配置文件后,重啟?chrony
?服務(wù):
再檢查系統(tǒng) NTP 服務(wù)器是否被正確修改:
如果輸出以下類似內(nèi)容,則表示系統(tǒng) NTP 服務(wù)設(shè)置正確:
1.7.配置系統(tǒng)自動(dòng)更新
配置 Debian 模板虛擬機(jī)的系統(tǒng)自動(dòng)更新,與配置 PVE 系統(tǒng)自動(dòng)更新方法基本一致,參閱?PVE系統(tǒng)自動(dòng)更新?。
配置系統(tǒng)更新之前,先檢查當(dāng)前系統(tǒng)定時(shí)器狀態(tài):
配置系統(tǒng)自動(dòng)更新策略,執(zhí)行以下命令,使用鍵盤?左右方向鍵
?進(jìn)行選擇,回車鍵
?進(jìn)行確認(rèn):
接下來調(diào)整 apt 的?20auto-upgrades
?配置文件:
其中,用來控制系統(tǒng)更新周期的為?APT::Periodic::Unattended-Upgrade
?這行內(nèi)容,其中參數(shù)?"5"
?表示更新周期為?5
?天。
再調(diào)整 apt 的?50unattended-upgrades
?配置文件,所有修改項(xiàng)目匯聚如下:
兩個(gè)配置文件均修改完成后,需要重設(shè)系統(tǒng)自動(dòng)更新觸發(fā)器,執(zhí)行以下命令:
重啟觸發(fā)器,并檢查其狀態(tài),執(zhí)行以下命令:
1.8.配置Snap自動(dòng)更新
先查看 Snap 當(dāng)前的更新策略,執(zhí)行以下命令:
將 Snap 自動(dòng)更新時(shí)間設(shè)置為每天?2:30-3:30
?和?14:30-15:30
?兩個(gè)時(shí)間段:
1.9.配置系統(tǒng)定時(shí)任務(wù)
本步驟為可選操作,主要設(shè)置定時(shí)重啟 Snap 服務(wù)以及操作系統(tǒng)。
1.10.配置ZSH
Zsh
?是比?Bash
?好用的?Shell
?程序,使用?oh-my-zsh
?進(jìn)行配置:
1.11.清理系統(tǒng)
Debian 模板虛擬機(jī)已經(jīng)配置完成,在將其轉(zhuǎn)換為模板前需要對(duì)系統(tǒng)進(jìn)行清理。
逐條執(zhí)行以下命令,注意命令中的空格:
2.虛擬機(jī)轉(zhuǎn)為模板
將 Debian 模板虛擬機(jī)關(guān)機(jī),并進(jìn)入 PVE 的 WEB 管理界面。
在虛擬機(jī)列表中,鼠標(biāo)?右鍵單擊?Debian 模板虛擬機(jī),在彈出的菜單中選擇?轉(zhuǎn)換成模板
?:

需要說明的是,虛擬機(jī)?轉(zhuǎn)換成模板
?的操作是不可逆的。
如果某些 Debian 系統(tǒng)的配置項(xiàng)有問題,只能在用該模板克隆出來的新虛擬機(jī)中進(jìn)行修改,或者刪除并重新制作模板。
3.額外說明
本文中 Debian 云鏡像的系統(tǒng)配置方法大多也適用于 Debian 普通鏡像。
但有關(guān) IP 地址、DNS、系統(tǒng)時(shí)區(qū)等內(nèi)容的配置方法在 Debian 普通鏡像上有區(qū)別。
而且,如果使用 Debian 普通鏡像制作虛擬機(jī)模板,建議不要使用?Cloud-Init
?,以避免某些配置發(fā)生變化。
使用 Debian ISO 鏡像安裝完操作系統(tǒng)后,修改網(wǎng)卡 IP 地址配置,需要執(zhí)行以下命令:
在網(wǎng)卡的配置文件中需要修改?address
?、?dns-nameservers
?等參數(shù),完整配置文件參考如下:
檢查系統(tǒng)的?hosts
?,執(zhí)行以下命令:
Debian 普通鏡像需要手動(dòng)修改系統(tǒng) DNS 配置,執(zhí)行以下命令:
在編輯器對(duì)話框中輸入以下內(nèi)容,注意命令中間的空格:
Debian 普通鏡像使用?systemd-timesyncd.service
?來同步系統(tǒng)時(shí)間,檢查服務(wù)狀態(tài):
調(diào)整 NTP 服務(wù),逐條執(zhí)行以下命令:
在 nano 編輯器對(duì)話框中輸入以下內(nèi)容,并保存:
重啟 NTP 服務(wù):