sersi を使用してインポート前にカスタムイメージをスキャンおよび修正し、ドライバーの不足や設定ミスによる起動の失敗やネットワークの問題を防ぎます。
sersi 修正スクリプトによる変更は元に戻せません。
サポート対象のオペレーティングシステム
サポート対象のOSファミリー:
-
Red Hat シリーズ: Alibaba Cloud Linux、Anolis、Red Hat、CentOS、CentOS Stream、Fedora、AlmaLinux、Rocky Linux、openEuler、および OpenCloudOS。
-
Debian シリーズ: Debian、Ubuntu、Kylin、および UOS。
-
SUSE シリーズ: SUSE および openSUSE。
FreeBSD、Fedora CoreOS、および Windows Server はサポート対象外です。
操作手順
手順1:ツールのダウンロードと解凍
-
sersiパッケージをダウンロードします。wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/imagecheck/sersi.tar.gz -
パッケージを解凍します。
tar -xf sersi.tar.gz
手順2:イメージのチェック
チェックコマンドを実行して、イメージのヘルスレポートを生成します。
-
イメージをスキャンします。
./main.sh --target=image --diagnostic -
結果を分析します:
-
OK: Alibaba Cloud イメージの仕様を満たしています。 -
FAILED(要修正): 起動を妨げたり、コア機能 (ネットワークなど) の障害を引き起こす可能性のある重大な問題。 -
WARNING(修正を推奨): 起動には影響しませんが、一部の機能 (クラウドアシスタントやモニタリングなど) が利用できなくなったり、セキュリティリスクをもたらす可能性のある設定の問題。
各項目の詳細については、「チェック項目と修正項目の概要」をご参照ください。
------------------------------------------------------------ OS: Alibaba Cloud Linux 3 Kernel: 5.10.134-16.1.al8.x86_64 Arch: x86_64 RTC-Mode: utc Boot-Mode: Legacy ------------------------------------------------------------ Image Check Result Virtio [OK] Nvme [OK] Fstab [OK] Grub [OK] Dhcp [OK] Selinux [OK] OnlineResizeFS [OK] CloudAssistant [OK] CloudInit [OK] SecurityCenterAgent [OK] SupportMocInstanceTypes [OK] DiskUsage [OK] InodeUsage [OK] SystemFileAttribute [OK] CriticalUser [OK] QemuGuestAgent [OK] SshConfig [OK] Firewall [OK] Total case Count 18 Successes: 18 Failures: 0 Warnings: 0 ------------------------------------------------------------ -
手順3:イメージの修正
自動修正
修正スクリプトによる変更は元に戻せません。「レビューしてから実行する」というプロセスに従ってください。
sersiツールでは、DiskUsage、InodeUsage、CriticalUser、LibDirectory、およびSupportMocInstanceTypesを自動で修正することはできません。「手動修正」セクションの手順に従って手動で修正してください。
-
レビュー:
--dry-runを使用すると、変更を適用せずに修正スクリプトを生成して確認できます。単一の項目を修正する方法については、「単一のチェック項目を修正する方法」をご参照ください。
# すべての問題を修正 ./main.sh --target=image --run all --dry-run -
実行:
スクリプトの安全性を確認後、
--dry-runを削除して修正を適用してください。# 対話的な修正:各修正ステップが実行される前に確認が求められます。 ./main.sh --target=image --run all -
修正結果を分析します:
-
OK: 正常に修正されました。 -
NO_FOUND_RISK: 問題は検出されませんでした。 -
OK_Need_Reboot: 修正されましたが、有効にするには再起動が必要です。 -
DRY_RUN: 問題が検出されました。修正スクリプトは出力されましたが、実行はされていません。 -
FAILED: 修正に失敗しました。手動修正を実行してください。
-
手動修正
自動で修正できない項目、または自動修正が失敗した場合は、以下の手順に従ってください。
-
DiskUsage:不要なファイルを手動で削除します。 -
InodeUsage:不要なファイルを手動で削除します。 -
CriticalUser:root アカウントを削除しないでください。 -
LibDirectory:/lib および /lib64 のシンボリックリンクは、絶対パスではなく相対パスを指す必要があります。 -
SupportMocInstanceTypes:通常、古い EOL (サポート終了) の OS バージョンが原因です。サポートが継続しているバージョンにアップグレードしてください。 -
Virtio:virtio ドライバーのインストール -
Nvme:NVMe ドライバーのインストール -
Fstab:/etc/fstab の正しい設定 -
Selinux:SELinux の有効化または無効化 -
OnlineResizeFS:cloud-init のインストールおよび growpart ツールのインストール -
Cloudinit:cloud-init のインストール -
SshConfig:sshd 設定ファイルの確認 -
Firewall:システムファイアウォールサービスの無効化 -
CloudAssistant:クラウドアシスタントエージェントのインストール -
SecurityCenterAgent:セキュリティセンターエージェントのインストール -
QemuGuestAgent:手動でqemu-guest-agentをアンインストールします。 -
SystemFileAttribute:chattrコマンドを使用して /etc/shadow のような重要なファイルをロックしないでください。
手順4:修正の検証
-
(オプション) システムを再起動します。一部の修正 (
Nvme、Dhcp、Selinux) には再起動が必要です。 -
チェックコマンドを再実行し、すべての項目が
OKと表示されることを確認します。./main.sh --target=image --diagnostic
チェック項目と修正項目の概要
|
チェック項目 (Case Name) |
修正項目 |
影響 |
説明 |
|
|
|
ECS インスタンスの起動に失敗します。 |
virtio ドライバーがインストールされているかどうかをチェックします。Alibaba Cloud ECS インスタンスは KVM ベースの仮想マシンであり、仮想ディスクには virtio ドライバーが必要です。 |
|
|
|
ecs.g7se など、NVMe プロトコルベースのクラウドディスクを必要とするインスタンスタイプを使用できません。 |
NVMe ドライバーがインストールされているかどうかをチェックします。ecs.g8i、ecs.g8a、ecs.g9i、ecs.g9a などの一部の ECS インスタンスタイプは、NVMe プロトコルのクラウドディスクを使用するため、NVMe ドライバーが必要です。NVMe は、従来のプロトコル (SCSI や virtio-blk など) よりも高速で広帯域です。 |
|
|
|
システムの起動に失敗します。 |
/etc/fstab が正しく設定されているかどうかをチェックします。存在しないマウントデバイスや間違った UUID などの不正なエントリは、起動を妨げる可能性があります。 |
|
|
|
システムの起動に失敗します。 |
GRUB の設定が正しいかどうかをチェックします。ブートパーティションをデバイス名ではなく UUID で指定するなど、エラーがあると起動できなくなります。 |
|
|
|
システムのネットワーク接続に失敗します。 |
ネットワークインターフェイスで DHCP が有効になっていることをチェックします。静的アドレス指定はネットワーク障害を引き起こす可能性があります。インターフェイス名の変更を無効にし、インターフェイス名を |
|
|
|
ECS インスタンスの起動に失敗します。 |
SELinux が無効になっているかどうかをチェックします。 |
|
|
|
インスタンスのルートパーティションをリサイズできません。 |
イメージが初回起動時に (cloud-init または growpart を介して) ルートパーティションとファイルシステムを自動拡張できることをチェックします。たとえば、10 GB のイメージを 100 GB のシステムディスクいっぱいに拡張できます。詳細については、「パーティションとファイルシステムの拡張 (Linux)」をご参照ください。 |
|
|
|
システムの初期化設定が適用されません。 |
cloud-init がインストールされていることをチェックします。cloud-init は、起動時に NTP、パッケージリポジトリ、ホスト名、SSH キーペアを設定し、ユーザーデータスクリプトを実行します。 |
|
|
|
インスタンスへの SSH 接続に失敗します。 |
sshd 設定ファイル (/etc/ssh/sshd_config) が正しいかどうかをチェックします。 sshd 設定ファイルが正しくない場合、sshd サービスの起動に失敗し、SSH 接続ができなくなることがあります。確認するには:
|
|
|
|
システムのファイアウォールがインスタンスへのアクセスをブロックする可能性があります。 |
ファイアウォールサービスが有効になっているかどうかをチェックします。システムのファイアウォールを無効にし、セキュリティグループを使用してインバウンドおよびアウトバウンドのトラフィックを管理してください。 |
|
|
|
クラウドの O&M が不便になります。 |
クラウドアシスタントがインストールされているかどうかをチェックします。クラウドアシスタントは、運用とメンテナンスのためのネイティブな ECS 自動化ツールです。 |
|
|
|
セキュリティセンターによる保護がないと、インスタンスの脆弱性を特定できません。 |
セキュリティセンターエージェントがインストールされているかどうかをチェックします。Security Center がサーバーを保護するために必要です。 |
|
|
|
インスタンスの機能が正しく動作しない可能性があります。 |
がインストールされています。このソフトウェアはホストマシンと通信し、ECS サービスに干渉したり、インスタンスの機能が不完全になったりする可能性があります。 |
|
|
サポートされていません |
システムの起動に失敗します。 |
ディスク容量の使用状況が正常かどうかをチェックします。 ディスク領域の使用状況を確認し、十分な空き領域を確保します。 |
|
|
サポートされていません |
システムの起動に失敗します。 |
ディスクの inode 使用量が正常かどうかをチェックします。 |
|
|
|
インスタンスの起動に失敗するか、機能が異常になります。 |
重要なシステム設定ファイルのファイル属性が正しいかどうかをチェックします。 |
|
|
サポートされていません |
インスタンスの起動に失敗するか、機能が異常になります。 |
重要なユーザー (root など) が存在するかどうかをチェックします。重要なユーザーがいないと、正常に起動しなかったり、リモート接続ができなくなったりする可能性があります。 |
|
|
サポートされていません |
システムの機能が異常になります。 |
Red Hat シリーズの Linux では、/lib と /lib64 は通常、/usr/lib と /usr/lib64 へのシンボリックリンクです。これらのリンクは変更しないでください。 |
|
|
サポートされていません |
および 。 |
イメージが SHENLONG インスタンスタイプをサポートしているか確認します。これは、 および 、通常は SHENLONG インスタンスタイプです。イメージの OS とカーネルバージョンが古すぎる場合、これらのインスタンスタイプでは起動に失敗することがあります。詳細については、「インスタンスファミリーの概要」をご参照ください。 |
修正コマンドリファレンス
自動修正コマンドの構文:
./main.sh --target=image --run <case> [--debug] [--dry-run] [-y]
|
パラメーター |
必須 |
説明 |
|
|
はい |
実行する修正項目。
|
|
|
いいえ |
最初の試行で推奨します。修正スクリプトを実行せずに出力します。 |
|
|
いいえ |
トラブルシューティングのために詳細なログ出力を有効にします。 |
|
|
いいえ |
対話型プロンプトをスキップし、すべての修正ステップで自動的に「はい」と応答します。 |
関連ドキュメント
検証後、イメージファイルを取得し、カスタムイメージとしてインポートします。
よくある質問
なぜ nvme、selinux、または dhcp の修正を適用した後も問題が解決しないのですか?
これら 3 つの修正を適用するには、再起動が必要です。修正を適用した後、VM を再起動し、ツールを再実行して結果を検証してください。
単一のチェック項目を修正する方法
SshConfig などの単一の項目を修正するには、次の手順を実行します:
-
「チェック項目と修正項目の概要」の表で、
SshConfigに対応する修正項目sshdを見つけます。 -
レビュー:
別の項目を修正するには、
sshdを修正したい項目名に置き換えます。./main.sh --target=image --run sshd --dry-run -
実行:
./main.sh --target=image --run sshd