FreeBSD是一款類Unix作業系統,提供了先進的網路、效能、安全和相容性等功能。本文主要介紹FreeBSD作業系統各個版本在阿里雲平台上的相容性和支援情況,以及如何跨大版本升級FreeBSD系統。
FreeBSD在阿里雲控制台的支援情況
作業系統 | 鏡像ID | 是否支援密碼建立執行個體 | 是否支援通行金鑰建立執行個體 | 是否支援控制台修改密碼 | 是否支援控制台修改密鑰 | |
FreeBSD 13.0 | freebsd_13_0_x86_30G_alibase_20220324.vhd | 否 | 是 | 否 | 否 | |
FreeBSD 12.3 | freebsd_12_3_x64_30G_alibase_20220331.vhd | 否 | 是 | 否 | 否 | |
FreeBSD 12.1 | freebsd_12_1_x64_30G_alibase_20201022.vhd | 否 | 是 | 否 | 否 | |
FreeBSD 11.4 | freebsd_11_4_x64_30G_alibase_20210319.vhd | 是 | 是 | 是 | 是 | |
FreeBSD 11.3 | freebsd_11_3_x64_30G_alibase_20200803.vhd | 是 | 是 | 是 | 是 | |
FreeBSD 11.2 | freebsd_11_02_64_30G_alibase_20190806.vhd | 是 | 是 | 是 | 是 |
FreeBSD在阿里雲控制台的支援情況樣本說明:
FreeBSD 11.4
建立ECS執行個體時,登入憑證支援設定密碼和金鑰組。
ECS執行個體建立完成後,支援修改密碼。
FreeBSD 13.0
建立ECS執行個體時,登入憑證僅支援選擇金鑰組,不支援設定密碼。
ECS執行個體建立完成後,不支援修改密鑰。
FreeBSD 11/12在阿里雲啟動並執行支援情況
FreeBSD 11/12系統在阿里雲V代以上機型運行需要核心相關補丁的支援,否則無法找到系統硬碟導致系統無法正常啟動。阿里雲的FreeBSD公用鏡像已為核心添加了補丁,滿足系列V及以上的執行個體規格類型系列的啟動需求。具體的執行個體規格類型系列可通過DescribeInstanceTypeFamilies介面的Generation
參數查詢。
以下情況可能導致系統無法正常啟動,您可以通過FreeBSD核心源碼打補丁編譯核心的方式,避免或解決系統無法啟動的問題。
使用非阿里雲提供的FreeBSD鏡像及相關自訂鏡像建立ECS執行個體時,系列V及以上執行個體規格類型系列的ECS執行個體可能出現無法正常啟動的情況。
使用FreeBSD公用鏡像建立ECS執行個體,並使用了freebsd-update等更新核心補丁,可能會導致系列V及以上執行個體規格類型系列的ECS執行個體無法正常啟動。
說明您可以使用freebsd-update將核心升級到FreeBSD 13的核心版本。具體操作,請參見跨大版本升級FreeBSD系統。
本樣本以編譯FreeBSD 12.4源碼為例,介紹如何使用FreeBSD核心源碼打補丁並編譯核心。
下載並解壓FreeBSD核心源碼。
wget https://mirrors.aliyun.com/freebsd/releases/amd64/12.4-RELEASE/src.txz -O /src.txz cd / tar -zxvf /src.txz
下載補丁包。
本樣本中,為virtio驅動打補丁包
0001-virtio.patch
。cd /usr/src/sys/dev/virtio/ wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/0001-virtio.patch patch -p4 < 0001-virtio.patch
複製核心檔案,並編譯安裝核心。
make -j<N>
表示指定編譯時間的並行數,需要根據您執行編譯的環境配置來決定。例如,1 vCPU環境建議設定-j2
,即vCPU核心數與變數N的比值為1:2
。cd /usr/src/ cp ./sys/amd64/conf/GENERIC . make -j2 buildworld KERNCONF=GENERIC make -j2 buildkernel KERNCONF=GENERIC make -j2 installkernel KERNCONF=GENERIC
編譯完成後,刪除源碼。
rm -rf /usr/src/* rm -rf /usr/src/.*
FreeBSD 13在阿里雲啟動並執行支援情況
FreeBSD 13及以上系統不需要安裝補丁。FreeBSD 13系統已經合入了支援阿里雲V代以上機型運行需要的核心相關補丁,相關核心補丁如下:
FreeBSD 13系統合入以上補丁後,還需要添加kern.maxphys=65536
核心參數,即可正常運行。具體操作如下:
echo "kern.maxphys=65536" >>/boot/loader.conf
阿里雲官方FreeBSD 13系統的核心版本為13.0-Release-p8
,已包含以上2個補丁,並配置了相關的核心參數,您可以直接使用。
跨大版本升級FreeBSD系統
本樣本以FreeBSD 12.3升級為FreeBSD 13.1為例,介紹如何跨大版本升級FreeBSD系統。
執行內部升級命令。
freebsd-update upgrade -r 13.1-RELEASE
命令執行完成如下圖所示:
按照提示執行安裝命令。
/usr/sbin/freebsd-update install
命令執行完成如下圖所示:
執行以下命令,配置loader.conf。
echo "kern.maxphys=65536" >>/boot/loader.conf
執行以下命令,重啟執行個體。
警告重啟執行個體會造成您的執行個體停止工作,可能導致業務中斷,建議您在非業務高峰期時執行該操作。
reboot
執行以下命令,查看版本。
uname -r
回顯資訊如下,表示FreeBSD系統已成功升級為13.1版本。
相關文檔
有關FreeBSD的更多資訊,請參見FreeBSD官方文檔。