全部產品
Search
文件中心

Elastic Compute Service:步驟二:建立RHEL鏡像

更新時間:Jun 19, 2024

本文以RHEL 7伺服器為例,為您介紹如何將離線IDC中的物理主機或經典虛擬化平台中的虛擬機器移轉到阿里雲。

背景資訊

您可以將物理伺服器或虛擬機器移轉到阿里雲。

  • 將物理伺服器遷移到阿里雲ECS(P2V和V2V)

    您可以使用Server Migration Center(Server Migration Center)將物理伺服器的作業系統鏡像遷移到阿里雲ECS,在將鏡像匯入ECS後,再通過已匯入的鏡像建立RHEL執行個體。

  • 將虛擬機器移轉到阿里雲ECS(V2V)

    在本地物理伺服器上建立阿里雲支援的虛擬機器鏡像。您可以參考本文操作完成遷移,也可以使用阿里雲的Server Migration Center進行遷移。

關於SMC遷移的更多資訊,請參見遷移流程

將虛擬機器移轉到阿里雲ECS

按照以下步驟將虛擬機器移轉到阿里雲ECS:

  1. 步驟1:準備一台物理RHEL 7伺服器

  2. 步驟2:建立虛擬機器

  3. 步驟3:配置Guest作業系統

  4. 步驟4:建立虛擬鏡像

說明

如果RHEL 7伺服器上已運行滿足步驟1:準備一台物理RHEL 7伺服器中提到的要求的虛擬機器,則可以直接從步驟3:配置Guest作業系統開始。

步驟1:準備一台物理RHEL 7伺服器

  1. 登入到物理RHEL 7伺服器。

  2. 確認下表中列出的所有包都已安裝在您的RHEL伺服器上。

    您可以運行yum info 包名查看已安裝的包。

    存放庫

    描述

    libvirt

    rhel-7-server-rpms

    用於管理平台虛擬化的開源API、守護進程和管理工具。

    virt-manager

    rhel-7-server-rpms

    案頭虛擬機器管理器。

    libguestfs

    rhel-7-server-rpms

    一組用於訪問和修改虛擬機器(VM)磁碟鏡像的工具。

    libguestfs-tools

    rhel-7-server-rpms

    用於虛擬機器的系統管理工具,包括Guestfish。

    qemu-img

    rhel-7-server-rpms

    用於將虛擬機器磁碟鏡像檔案從一種格式轉換為另一種格式的工具。

步驟2:建立虛擬機器

  1. Red Hat下載頁面下載最新的Red Hat Enterprise Linux 7.5 更新 KVM Guest鏡像Red Hat Enterprise Linux 7.4 更新 KVM Guest鏡像

    說明

    建議您下載RHEL 7.5版本,RHEL 7.5相比較於RHEL 7.4功能更全面。

  2. 將鏡像儲存到在步驟1準備的RHEL伺服器中。

  3. 將鏡像移動到/var/lib/libvirt/images目錄中。

  4. Virtual Machine Manager視窗上,單擊建立虛擬機器表徵圖表徵圖建立新的虛擬機器。

    建立新的虛擬機器

  5. 按照Create a new virtual machine嚮導完成配置。

    1. 選擇Import existing disk image安裝Guest作業系統,然後單擊Forward

      匯入已有鏡像

    2. 瀏覽/var/lib/libvirt/images目錄並選擇qcow2 KVM Guest鏡像。

      選擇qcow2格式鏡像

    3. 為新虛擬機器設定記憶體和CPU核心。

      設定記憶體和CPU

    4. 查看新虛擬機器的配置,指定名稱,然後選中Customize configuration before install

      自訂配置

    5. 在自訂配置對話方塊的左側邊窗格中,單擊NIC,然後設定Device modelvirtio

    6. 單擊Begin Installation

      將開始建立新虛擬機器。在此過程中,虛擬機器控制台將顯示並引導到登入提示。

    7. 當登入提示出現時,關閉虛擬機器。

  6. 運行以下命令,為虛擬機器的根使用者設定密碼。

    virt-customize -a /var/lib/libvirt/images/rhel-server-7.5-x86_64-kvm.qcow2 --root-password password:<密碼>

    本樣本中為虛擬機器根使用者設定的密碼為redhat!,命令樣本如下:

     # virt-customize -a /var/lib/libvirt/images/rhel-server-7.5-x86_64-kvm.qcow2 --root-password password:redhat!
     [   0.0] Examining the guest ...
     [ 103.0] Setting a random seed
     [ 103.0] Setting passwords
     [ 112.0] Finishing off
  7. 啟動RHEL虛擬機器並以根使用者身份登入。

步驟3:配置Guest作業系統

在您登入到虛擬機器後,前往配置Guest作業系統。

  1. 確保RHEL虛擬機器的Guest作業系統滿足要求。

    具體要求,請參見Red Hat雲接入概述中的ECS限制及自訂RHEL鏡像條件部分。

    需要驗證的Guest作業系統配置如下表所示。

    專案

    要求

    /etc/shadow

    通過運行chattr命令使/etc/shadow處於未鎖定狀態。

    qemu-ga

    已卸載qemu-ga。

    網路

    已禁用或已卸載網路管理器,並且已啟用網路服務。

    ssh

    已啟用SSH服務,並且未設定PermitRootLogin。

    防火牆

    已禁用防火牆。

    檔案系統

    使用xfs、ext3或ext4。不要使用具有64位功能的ext4。

    passwd

    已安裝passwd。

    分區

    使用MBR分區或者GPT分區。

    邏輯卷管理器(LVM)

    未使用邏輯卷管理器(LVM)。

    /lib

    只能對/lib/lib64使用相對路徑。

    cloud-init

    Guest作業系統必須安裝了cloud-init。

    說明

    cloud-init預設配置會禁止密碼方式登入,如需啟用密碼登入,請參見文檔安裝cloud-init,根據其中安裝cloud-init段落中的第5步,修改/etc/cloud/cloud.cfg設定檔中cloud_init_modules段落。

  2. 配置ntp.conf檔案。

    按照以下步驟配置ntp.conf檔案,檔案位於/etc/ntp.conf目錄中。

    1. 運行以下命令,將ntp.conf檔案備份為ntp.conf.bk。

       cp /etc/ntp.conf /etc/ntp.conf.bk
    2. 編輯/etc/ntp.conf檔案並將其內容替換為以下內容。

       driftfile  /var/lib/ntp/drift
       pidfile    /var/run/ntpd.pid
       logfile    /var/log/ntp.log
       # Access Control Support
       restrict    default kod nomodify notrap nopeer noquery
       restrict -6 default kod nomodify notrap nopeer noquery
       restrict 127.0.0.1
       restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap nopeer noquery
       restrict 172.16.0.0 mask 255.240.0.0 nomodify notrap nopeer noquery
       restrict 100.64.XX.XX mask 255.192.0.0 nomodify notrap nopeer noquery
       restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap nopeer noquery
       # local clock
       server 127.127.1.0
       fudge  127.127.1.0 stratum 10
       restrict ntp1.aliyun.com nomodify notrap nopeer noquery
       restrict ntp1.cloud.aliyuncs.com nomodify notrap nopeer noquery
       restrict ntp10.cloud.aliyuncs.com nomodify notrap nopeer noquery
       restrict ntp11.cloud.aliyuncs.com nomodify notrap nopeer noquery
       restrict ntp12.cloud.aliyuncs.com nomodify notrap nopeer noquery
       restrict ntp2.aliyun.com nomodify notrap nopeer noquery
       restrict ntp2.cloud.aliyuncs.com nomodify notrap nopeer noquery
       restrict ntp3.aliyun.com nomodify notrap nopeer noquery
       restrict ntp3.cloud.aliyuncs.com nomodify notrap nopeer noquery
       restrict ntp4.aliyun.com nomodify notrap nopeer noquery
       restrict ntp4.cloud.aliyuncs.com nomodify notrap nopeer noquery
       restrict ntp5.aliyun.com nomodify notrap nopeer noquery
       restrict ntp5.cloud.aliyuncs.com nomodify notrap nopeer noquery
       restrict ntp6.aliyun.com nomodify notrap nopeer noquery
       restrict ntp6.cloud.aliyuncs.com nomodify notrap nopeer noquery
       restrict ntp7.cloud.aliyuncs.com nomodify notrap nopeer noquery
       restrict ntp8.cloud.aliyuncs.com nomodify notrap nopeer noquery
       restrict ntp9.cloud.aliyuncs.com nomodify notrap nopeer noquery
       server ntp1.aliyun.com iburst minpoll 4 maxpoll 10
       server ntp1.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
       server ntp10.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
       server ntp11.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
       server ntp12.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
       server ntp2.aliyun.com iburst minpoll 4 maxpoll 10
       server ntp2.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
       server ntp3.aliyun.com iburst minpoll 4 maxpoll 10
       server ntp3.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
       server ntp4.aliyun.com iburst minpoll 4 maxpoll 10
       server ntp4.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
       server ntp5.aliyun.com iburst minpoll 4 maxpoll 10
       server ntp5.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
       server ntp6.aliyun.com iburst minpoll 4 maxpoll 10
       server ntp6.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
       server ntp7.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
       server ntp8.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
       server ntp9.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10

      修改完成後按Esc鍵,並輸入:wq後按下斷行符號鍵,儲存並退出。

      在確認Guest作業系統的配置後,便可以建立虛擬機器鏡像了。您也可以使用阿里雲提供的Server Migration Center建立和匯入虛擬鏡像,更多資訊,請參見什麼是Server Migration Center

步驟4:建立虛擬鏡像

  1. 在RHEL虛擬機器菜單上,選擇View > Snapshots

  2. 單擊+表徵圖並建立快照。

    在建立快照後,將建立虛擬機器鏡像。虛擬機器鏡像採用QCOW2格式。

後續步驟

(可選)步驟三:轉換鏡像格式