FreeBSDは、高度なネットワーキングと高性能、セキュリティ、互換性を備えたUnixライクなオペレーティングシステムです。 このトピックでは、さまざまなバージョンのFreeBSDオペレーティングシステムとAlibaba Cloudプラットフォームの互換性について説明します。 このトピックでは、メジャーリリース間でFreeBSDをアップグレードする方法についても説明します。
異なるバージョンのFreeBSDによるElastic Compute Service (ECS) コンソールでのパスワードまたはキーペアの設定または変更のサポート
Version | イメージID | インスタンス作成時のパスワード設定 | インスタンス作成時のキーペアの設定 | ECSコンソールでのパスワードの変更 | ECSコンソールでのキーペアの変更 | |
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によるECSコンソールでのパスワードまたはキーペアの設定または変更のサポート例を示します。
FreeBSD 11.4
このバージョンは、インスタンス作成時のパスワードまたはキーペアの設定をサポートしています。
このバージョンは、インスタンス作成後のパスワードの変更をサポートしています。
FreeBSD 13.0
このバージョンは、インスタンス作成中のキーペアの設定をサポートしています。 このFreeBSDバージョンを実行するインスタンスを作成するときは、パスワードを設定できません。
このバージョンでは、インスタンス作成後のキーペアの変更はサポートされていません。
FreeBSD 11および12
第5世代以降のECSインスタンスでFreeBSD 11または12を実行する場合は、必要なカーネルパッチをオペレーティングシステムにインストールする必要があります。 そうしないと、システムディスクが見つからず、システムが期待どおりに起動できません。 第5世代以降のインスタンスファミリーのスタートアップ要件を満たすために、必要なカーネルパッチがAlibaba Cloud FreeBSDパブリックイメージにインストールされます。 DescribeInstanceTypeFamilies操作を呼び出し、Generation
パラメーターを設定して、第5世代以降のインスタンスファミリーを照会できます。
次のシナリオでは、FreeBSDカーネルソースコードを使用してカーネルパッチをインストールし、カーネルをコンパイルしてインスタンスの起動失敗を解決および防止できます。
Alibaba Cloudによって提供されていないFreeBSDイメージ、またはFreeBSDイメージから派生したカスタムイメージを使用して、第5世代以降のインスタンスファミリーのインスタンスを作成すると、インスタンスの起動に失敗する可能性があります。
FreeBSDパブリックイメージを使用して第5世代以降のインスタンスファミリーのインスタンスを作成し、freebsd-updateコマンドを使用してカーネルを新しいパッチで更新すると、インスタンスが起動しない場合があります。
説明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>
コマンドのNは、並列に実行されるジョブの数を指定します。 コンパイル環境に基づいてNを指定します。 たとえば、シングルvCPU環境の場合、-j<N> を-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には、第5世代以降のECSインスタンスに必要な以下のカーネルパッチが含まれています。
FreeBSD 13を期待どおりに実行するには、次のコマンドを実行してkern.maxphys
カーネルパラメーターを追加し、パラメーターを65536に設定する必要があります。
echo "kern.maxphys=65536" >>/boot/loader.conf
Alibaba Cloudが提供するFreeBSD 13のカーネルバージョンは13.0-Release-p8
です。これは、3つ以上のパッチを含み、必要なカーネルパラメーターで設定されたすぐに使用できるバージョンです。
メジャーリリースでFreeBSDをアップグレード
このセクションでは、メジャーリリース間でFreeBSDをアップグレードする方法について説明します。 この例では、FreeBSDは12.3から13.1にアップグレードされます。
次の内部アップグレードコマンドを実行します。
freebsd-update upgrade -r 13.1-RELEASE
期待される出力:
プロンプトに従って、次のインストールコマンドを実行します。
/usr/sbin/freebsd-update install
期待される出力:
次のコマンドを実行して、loader.confファイルを設定します。
echo "kern.maxphys=65536" >>/boot/loader.conf
次のコマンドを実行して、インスタンスを再起動します。
警告再起動操作により、インスタンスが短時間停止し、インスタンスで実行されているサービスが中断される可能性があります。 オフピーク時にインスタンスを再起動することを推奨します。
reboot
次のコマンドを実行して、FreeBSDのバージョンを確認します。
uname -r
次の情報が返された場合、FreeBSDは13.1にアップグレードされます。
参考資料
FreeBSDの詳細については、「FreeBSDについて」をご参照ください。