操作場景
Linux操作系統XEN實例變更為KVM實例前,必須已完成必要的驅動安裝和配置。
當您需要變更的Linux操作系統的XEN實例比較多時候,推薦您使用本節的批量自動配置的方法安裝驅動,通過自動化腳本的方式批量為Linux云主機安裝驅動、配置磁盤自動掛載。在驅動安裝完成后使用控制臺提供的“變更規格”功能將XEN實例變更為KVM實例。
說明
XEN實例:S1、C1、C2、M1型彈性云主機。
KVM實例:參考規格清單,查詢對應規格的虛擬化類型。
為了同時支持XEN虛擬化和KVM虛擬化,Linux彈性云主機的正常運行需依賴于xen-pv驅動、virtio驅動等。XEN實例變更為KVM實例前,需要確保Linux彈性云主機已完成相關配置,包括安裝驅動、配置磁盤自動掛載等。
約束與限制
批量安裝驅動僅支持Linux操作系統。
需要選取一臺操作系統為CentOS 7且已綁定彈性公網IP的云主機作為執行機,且與待批量安裝驅動的彈性云主機之間網絡需要互通。
說明
若已配置yum內部源,可不需要綁定彈性公網IP。
需要提前準備待批量安裝驅動的云主機的IP地址、root用戶的密碼信息或者私鑰文件。
僅支持對使用同一密鑰對的云主機執行批量安裝驅動和配置的操作。
操作流程
XEN實例變更為KVM實例的操作流程如下圖所示。
圖 Linux云主機變更流程(批量自動配置)


XEN實例變更為KVM實例(批量自動配置)
| 序號 | 任務 |
|---|---|
| 步驟1 | 制作系統盤快照 |
| 步驟2 | 批量安裝和配置驅動 |
| 步驟3 | 變更規格 |
| (可選)步驟4 | 檢查磁盤掛載狀態 |
步驟1:制作系統盤快照
如果云主機未安裝驅動就執行了變更規格的操作,云主機無法正常使用,需要重裝操作系統才能恢復,可能造成您的系統盤數據丟失。因此,建議您先制作系統盤快照,防止數據丟失。
1.制作系統盤快照前請對云主機完成自檢。
對云主機執行關機、開機操作,確保云主機重啟后業務可以正常運行。再啟動制作系統盤快照。
2.制作系統盤快照的操作,請參見《云硬盤用戶指南》。
說明變更規格完成后,如已確認業務恢復正常,請在快照頁面手動刪除快照。
步驟2:批量安裝和配置驅動
對于支持使用腳本方式批量配置的彈性云主機,請參見本節操作內容。
不支持使用自動化腳本方式進行配置的云主機,請直接參見XEN實例變更為KVM實例(Linux-手動配置)。
1.登錄已準備好的執行機,執行機需滿足的條件請參考約束與限制。
2.執行以下命令,安裝批量腳本運行所需要的依賴。
yum install -y epel-release
yum install ansible -y
3.執行以下命令,將驅動安裝腳本下載到root目錄下。
curl URL > ~/resize_ecs_modify_linux.sh
其中,URL為驅動安裝腳本的下載地址。
//ecs-hy.obs.cn-gz1.daliqc.cn/xen-switch-kvm/linux/resize_ecs_modify_linux.sh
4執行以下命令,將批量操作腳本下載到root目錄下。
curl URL > ~/batch_resize_ecs_modify_linux.py
其中,URL為批量操作的執行腳本。
//ecs-hy.obs.cn-gz1.daliqc.cn/xen-switch-kvm/linux/batch_resize_ecs_modify_linux.py
5.執行以下命令,新建并編輯host_list.txt,按i進入編輯模式。
vi host_list.txt
注意請將驅動安裝腳本、批量操作執行腳本、host_list.txt文件放在一個目錄下。
6.將需要自動安裝驅動的云主機的相關信息填寫到host_list.txt文件中。
文件填寫格式與登錄待切換彈性云主機的方式需要匹配。
使用密鑰對方式鑒權的云主機,填寫方式如下:
注意
使用密鑰對方式鑒權的云主機,請將創建彈性云主機時保存的私鑰文件,上傳至與host_list.txt同一個文件夾下。
使用密鑰對方式鑒權的云主機,請確保私鑰文件的權限為400。
chmod 400 私鑰文件。
每行僅需填寫云主機IP地址。
示例:
192.168.1.10
192.168.1.11
使用密碼方式登錄的云主機,填寫方式如下:
請嚴格按照每行ip,root用戶密碼,中間以英文逗號隔開的格式填寫。
示例:
192.168.1.10,'**********'
192.168.1.11,'**********'
確認輸入完畢后,按Esc退出編輯模式,輸入:wq保存退出。
7.運行批量執行操作腳本“batch_resize_ecs_modify_linux.py”,該腳本會批量對配置好的云主機進行自動檢查并安裝原生xen-pv驅動、virtio驅動。
a.執行以下命令,對配置好的云主機安裝驅動。
密鑰對鑒權方式的服務器
如果私鑰文件與批量操作執行腳本在一個目錄下,則直接指定私鑰文件名稱即可。
python batch_resize_ecs_modify_linux.py {私鑰文件路徑/私鑰文件名稱}
圖 運行腳本


密碼方式鑒權的服務器。
python batch_resize_ecs_modify_linux.py
圖 運行腳本


8.查看運行結果。
請耐心等待腳本運行結束,腳本在確認驅動安裝成功后會自動為云主機設置標簽,標記驅動安裝成功,沒有設置標簽的云主機無法執行變更規格的操作。
運行結果如下圖所示。下表列舉了常見的運行結果和說明。
圖 運行成功


如果安裝失敗請參考XEN實例變更為KVM實例(Linux-手動配置)手動配置。
| 回顯信息 | 說明 |
|---|---|
| Total: {數量} Success: {數量} Failed: 0 | 全部彈性云主機完成檢查并安裝驅動成功。 |
| Total: {數量} Success: {數量} Failed: {數量} | Failed數量不為零,表示部分彈性云主機檢查或者安裝驅動失敗,可按照提示查看日志(logs/exec_origin.log)對應主機執行失敗的原因。 |
| Please check the format of host_list.txt | host_list.txt文件填寫不符合要求,需要重新按照步驟6要求進行填寫。 |
| [Error] resize_ecs_modify_linux.sh not found. | 步驟6中的驅動安裝腳本尚未下載,需要重新操作下載。 |
| Host(s) is unreachable, please check the network or password of user root. | 當前云主機無法訪問以上彈性云主機,需要確認網絡是否互通,或者host_list.txt文件中配置的root用戶密碼是否正確。 |
| [Error] host_list.txt not found. | host_list.txt文件尚未創建,需要按照步驟6進行操作。 |
| [Error] key-file {私鑰文件} not found. | 指定的私鑰文件不存在,請確定私鑰文件存在后,重新按照步驟6操作。 或者使用密碼方式登錄,重新按照操作流程步驟6進行操作。 |
| Please confirm that the ansible has been installed. | 步驟2中的運行所需依賴尚未安裝,需要執行命令進行安裝。 |
說明
驅動安裝成功后,請妥善處理host_list.txt中的彈性虛擬機密碼以及私鑰文件,防止出現環境密碼、私鑰文件泄露。
請務必確保云主機配置成功,否則,可能會導致變更規格后的彈性云主機不可用。如果運行失敗,詳細操作請參考XEN實例變更為KVM實例(Linux-手動配置)。
步驟3:變更規格
在管理控制臺變更規格
1.登錄控制臺。
2.單擊控制臺左上角的
,選擇區域和項目。
3.單擊“
”,選擇“計算 > 彈性云主機”。
4.在彈性云主機列表,查詢待變更彈性云主機狀態。
如果不是關機狀態,單擊“操作”列下的“更多 > 關機”。
5.單擊“操作”列下的“更多 > 變更規格”。
系統進入“云主機變更規格”頁面。
6.根據界面提示,選擇變更后的云主機類型、vCPU和內存。
(可選)選擇“專屬主機”。
7.對于在專屬主機上創建的彈性云主機,系統支持更換云主機所在的專屬主機。
此時,您可以單擊下拉列表,選擇更換專屬主機。如果下拉列表中無可用的專屬主機,說明專屬主機所剩資源不足,不能用于創建變更規格后的彈性云主機。
8.勾選復選框“我確認已完成對彈性云主機的配置”,確認已完成步驟2:批量安裝和配置驅動。
單擊“確定”。
說明如果變更規格失敗后,彈性云主機無法使用,可能會需要重裝操作系統來恢復云主機,請注意重裝操作系統會清除系統盤數據,但不影響數據盤的數據。
(可選)步驟4:檢查磁盤掛載狀態
XEN實例變更為KVM實例時,可能會發生磁盤脫機,因此,變更規格后,需檢查磁盤掛載狀態是否正常。如果正常,則變更成功。
- Linux彈性云主機
詳細操作請參考Linux彈性云主機變更規格后數據盤脫機怎么辦?
后續處理
如果控制臺上云主機列表頁,顯示彈性云主機已變更規格成功,但是遠程登錄云主機后,操作系統無法啟動,此時,請聯系客服進行恢復,或重裝操作系統進行恢復。重裝系統的操作指導,請參見重裝操作系統。
說明重裝操作系統會清除系統盤數據(包括系統盤內存儲的快照),但不影響數據盤的數據。
變更規格完成后,如已確認業務恢復正常,請在快照頁面手動刪除快照。