View a markdown version of this page

在 RHEL AWS 重新啟動後自動重新啟動複寫代理程式,而不停用 SELinux - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 RHEL AWS 重新啟動後自動重新啟動複寫代理程式,而不停用 SELinux

Anil Kunapareddy,Amazon Web Services

摘要

AWS Transform MGN 有助於簡化、加速和自動化 Red Hat Enterprise Linux (RHEL) 工作負載遷移至 Amazon Web Services (AWS) 雲端。若要將來源伺服器新增至 MGN,請在伺服器上安裝AWS 複寫代理程式。

MGN 提供即時、非同步的區塊層級複寫。這表示在整個複寫過程中,您可以繼續正常的 IT 操作。 這些 IT 操作可能需要您在遷移期間重新啟動或重新啟動 RHEL 來源伺服器。如果發生這種情況, AWS 複寫代理程式不會自動重新啟動,而且您的資料複寫將會停止。一般而言,您可以將 Security-Enhanced Linux (SELinux) 設定為停用寬鬆模式,以自動重新啟動 AWS 複寫代理程式。不過,您組織的安全政策可能禁止停用 SELinux,而且您可能也必須重新標記檔案

此模式說明如何在 RHEL AWS 來源伺服器在遷移期間重新啟動或重新啟動時,在不關閉 SELinux 的情況下自動重新啟動複寫代理程式。 

先決條件和限制

先決條件

版本

  • RHEL 第 7 版或更新版本

Architecture

下圖顯示此方法的架構。

RHEL 重新啟動後自動重新啟動 AWS 複寫代理程式

工具

AWS 服務

  • AWS Transform MGN 是一種高度自動化lift-and-shift(重新託管) 解決方案,可簡化、加速和降低將應用程式遷移至 的成本 AWS。

Linux 命令

下表提供您在 RHEL 來源伺服器上執行的 Linux 命令清單。這些也會在此模式的 epics 和故事中說明。 

命令

Description

#systemctl –version

識別系統版本

#systemctl list-units --type=service

列出 RHEL 伺服器上可用的所有作用中服務

#systemctl list-units --type=service | grep running

列出目前在 RHEL 伺服器上執行的所有服務

#systemctl list-units --type=service | grep failed

列出 RHEL 伺服器重新啟動或重新啟動後無法載入的所有服務

#restorecon -Rv /etc/rc.d/init.d/aws-replication-service

將內容變更為 aws-replication-service

#yum install policycoreutils*

安裝 SELinux 系統操作所需的政策核心公用程式

#ausearch -c "insmod" --raw | audit2allow -M my-modprobe

搜尋稽核日誌並建立 政策的模組

#semodule -i my-modprobe.pp

啟用政策

#cat my-modprobe.te

顯示my-modprobe.te檔案的內容

#semodule -l | grep my-modprobe

檢查政策是否已載入 SELinux 模組

史詩

任務說明所需的技能

產生 AWS 暫時登入資料。

MGN 提供的臨時登入資料使用類似於 使用的機制AWS Identity and Access Management Roles Anywhere

若要建立臨時登入資料,您需要:

  1. 使用 AWSApplicationMigrationAgentInstallationPolicy政策建立新的 IAM 角色

  2. 使用 AssumeRole API 透過 AWS Security Token Service (AWS STS) 請求臨時安全登入資料。

    您可以使用 AWS Command Line Interface () 產生臨時登入資料AWS CLI。如需範例,請參閱 AWS CLI 命令參考

遷移工程師

安裝 AWS 複寫代理程式。

  1. 登入 AWS Management Console 並開啟 AWS Transform MGN 主控台

  2. 遵循 MGN 文件中的指示來設定複寫設定。

  3. 遵循 MGN 文件中的指示安裝 AWS 複寫代理程式。

  4. 來源伺服器頁面上,選擇 RHEL 來源伺服器,然後選擇複寫以開始初始複寫。如需詳細資訊,請參閱 MGN 文件

遷移工程師

檢查資料複寫狀態。

等待複寫完成,然後檢查遷移儀表板上的資料複寫狀態。它應該處於運作狀態。

遷移工程師

重新啟動或重新啟動 RHEL 來源伺服器。

重新啟動或重新啟動 RHEL 來源伺服器。請注意,資料複寫狀態會在遷移儀表板上顯示為停滯

遷移工程師
任務說明所需的技能

識別系統版本。

開啟 RHEL 來源伺服器的命令列界面,並執行下列命令來識別系統版本:

#systemctl –version

遷移工程師

列出所有作用中的服務。

若要列出 RHEL 伺服器上可用的所有作用中服務,請執行下列命令:

#systemctl list-units --type=service

遷移工程師

列出所有執行中的服務。

若要列出目前在 RHEL 伺服器上執行的所有服務,請使用下列命令:

#systemctl list-units --type=service | grep running

遷移工程師

列出所有無法載入的服務。

若要列出 RHEL 伺服器重新啟動或重新啟動後無法載入的所有服務,請執行 命令:

#systemctl list-units --type=service | grep failed

遷移工程師
任務說明所需的技能

變更安全內容。

在 RHEL 來源伺服器的命令列界面中,執行下列命令,將安全內容變更為 AWS 複寫服務:

#restorecon -Rv /etc/rc.d/init.d/aws-replication-service

遷移工程師

安裝核心公用程式。

若要安裝 SELinux 系統操作所需的核心公用程式及其政策,請執行下列命令:

#yum install policycoreutils*

遷移工程師

搜尋稽核日誌並建立 政策的模組。

執行以下命令:

#ausearch -c "insmod" --raw | audit2allow -M my-modprobe

遷移工程師

顯示 my-modprobe-te 檔案的內容。

my-modprobe.te 檔案是由 audit2allow 命令產生。它包含 SELinux 網域、政策來源目錄和子目錄,並指定與網域相關聯的存取向量規則和轉換。若要顯示檔案的內容,請執行下列命令:

#cat my modprobe.te

遷移工程師

啟用政策。

若要插入模組並將政策套件設為作用中,請執行下列命令:

#semodule -i my-modprobe.pp

遷移工程師

檢查是否已載入模組。

執行以下命令:

#semodule -l | grep my-modprobe

載入 SELinux 模組後,您不再需要在遷移期間將 SELinux 設定為已停用寬鬆模式。

遷移工程師

重新啟動或重新啟動 RHEL 來源伺服器,並驗證資料複寫狀態。

開啟 AWS Transform MGN 主控台,導覽至資料複寫進度,然後重新啟動或重新啟動 RHEL 來源伺服器。資料複寫現在應在 RHEL 來源伺服器重新啟動後自動恢復。

遷移工程師

相關資源