•  untoreh-light

高山

Pine、OSTreeに基づくAlpine linux

何を選ぶ OS サーバー上で実行することは、利便性と親しみやすさの問題です。利便性とは、トラブルをできるだけ少なくするものが欲しいことを意味し、親しみやすさは、あなたが好むことを意味します いいえ あなたがする必要がない場合は、追加のことを学ぶために。

私のサーバーは ペットだから私は時々手動でいくつかのコマンドを発行しても大丈夫であり、完全な自動化を必要としません。

試した後 CoreOS 1年間私は自分の単純化されたものに切り替えました ディストリビューション 高山と ostree.

目標

このバージョンのアルパインは、 台車 プロジェクトアトミック 読み取り専用のルートファイルシステムとしてインストールされ、更新がアトミックに行われる、つまり、更新が成功するか、システムが以前の状態にスワップバックすることになっています。これを可能にするためには、システムは常に少なくとも 2つのスナップショット リリースされたファイルシステムバージョンの、ストレージで利用可能。

ターゲット

システムはどの環境で実行されますか?狙った OVZ および[KVM]ですが、一般的には次のように言うことができます コンテナ 仮想マシン 主な違いは、コンテナは独自のカーネルを実行しないことです。特に、ブートプロセスがないため、コンテナは直接呼び出します。 初期化 システム(たとえば、Dockerfile それはによって定義されますCMD またENTRYPOINT ステートメント)、コンテナの実行を維持するプロセスのツリーを管理する責任があります(通常のセッションと同様に、initプロセスが終了すると、コンテナは終了します)。また、コンテナーはシステムノブを構成できず、機能に追加の制限を設けることができます。

ビルドプロセスの二等分

イメージはどのように構築されますか?

依存関係

NSprepare.sh スクリプトは依存関係を処理します。そのほとんどは、次のような一般的なCLIツールを提供するパッケージです。coreutils, util-linux, binutils 、のようなブロックデバイスで動作するユーティリティblkid, sfdisk, multipath-tools およびファイルシステムxfsprogse2fsprogs 。 NSsquashfs-tools パッケージは、ビルドされたルートファイルシステムを圧縮するために最後に使用されます。 NSglib アルパインはに基づいているため、互換性パッケージもデフォルトでインストールされますmusl、互換性パッケージは、に対して構築されたいくつかのライブラリを提供することによって機能します。

VMとコンテナの両方のファイルツリーは、それぞれで構築されますmake.shmake_ovz.sh 。これは、手順の簡単な説明です

コンテナの場合、シーケンスは同じですが、システムがから起動されていないため、構成が変更されます。 ブートローダー ostreeは環境の検証に問題があり、いくつか適用する必要があります 回避策 通常はによって処理されるいくつかのデバイスをセットアップします initramfs ステップ。こうやって OVZ また LXC テンプレートが構成されます。

包装

ostreeコミットファイルツリーができたらbuild.sh またbuild-update.sh 配布されるアーティファクトの作成を処理します。スクリプトの違いは、更新バージョンが以前のostreeリポジトリから開始されることと また 実行中のシステムがアップグレードを実行するためにostreeインスタンスに適用できるデルタアーティファクトを生成します。これは、ビルド手順の簡単な説明です

パーティション構成はfdiskで適用されますlayout.cfg パーティションサイズを定義するファイル。rootfs用に1つのパーティションがあります(~430M )、ブートパーティション(~40M )およびスワップパーティション(~40M )。以前のビルドをループデバイスにマウントすることをスキップし、新しいostreeコミットを古い(抽出された)ostreeリポジトリにプルするだけのコンテナを使用します。

カスタマイズ

このイメージには何がバンドルされていますか(インストールされているパッケージは別として)?

以前は何でしたが、現在はそうではありません

インストール

イメージをインストールするには、ホスティングプロバイダーにアップロードして、仮想マシンの場合はVNCからインストールできますが、セットアップスクリプトをのバージョンに対してテストしている限り、常に可能であるため、通常は既存のインストールをハイジャックします。 Linuxディストリビューション(通常はdebian-8またはubuntu-14を使用します)は、他のディストリビューションをテストしていません。これらは常に利用可能であることがわかっているためです。セットアップ手順は次のとおりです

結論

作った 5 years from time of writing and I am still using it, and I see no reasons to switch to anything else. Alpine as a linux distro is great, simple, and I have never experienced breakage. I can easily deploy on NATed 超低リソースを提供する傾向があるサーバー、実際には私はちょうどで実行されているボックスを持っています64M RAMの、そしてまだ私が必要とするすべての機能を持っています。

[1]ルートファイルシステム

投稿タグ: