古詩詞大全網 - 團隊口號 - 雲平臺中的虛擬機鏡像(從iso到qcow2)

雲平臺中的虛擬機鏡像(從iso到qcow2)

在制作鏡像之前,需要配置鏡像制作環境,需要根據雲平臺的類型進行選擇,這裏就不贅述了。本文使用的是virt-manager,這是壹個Linux自帶的軟件工具。

本文所述的鏡像制作方法簡稱該方法。主要針對國產操作系統的鏡像生產,生產出來的鏡像可以用於國產雲平臺和其他雲平臺。制作鏡像的過程大致包括以下步驟:

1.獲取操作系統文件

2.使用國產操作系統創建虛擬機。

3.?系統安裝

4.?網絡結構

5.?雲平臺需要安裝軟件包

6.圖像壓縮和存儲

不同系統設置默認用戶、系統分區、網絡配置的順序略有不同,以實際操作為準。本文以同心UOS 20 sp1版本為例,闡述了國產雲平臺虛擬機鏡像的制作方法。

1.獲取操作系統文件

在獲取操作系統文件時,要註意根據系統cpu架構選擇相應的操作系統。目前國產化支持的架構有ARM、X86、MIPS、Alpha,其中ARM/MIPS/Power/ALPHA都是基於精簡指令集機器處理器的架構。X86是基於復雜指令集的架構。本文所描述的國產雲平臺采用常駐架構的虛擬化技術,即在操作系統之上安裝運行虛擬化程序,使得虛擬機的系統依賴於物理機的操作系統,虛擬機的操作系統需要與物理機兼容。如果架構不壹致,就無法正常運行。

2.使用國產操作系統創建虛擬機。

加載操作系統的安裝CD或DVD ISO文件。如下圖所示,選擇本地鏡像源作為安裝方法。

選擇所需的ISO文件作為引導映像,並設置系統版本。

設置內存、CPU和虛擬機根磁盤的大小。推薦內存為1024,即1G,cpu為1,根磁盤為20G,磁盤類型設置為VirtIO。這裏設置的內存、cpu、根磁盤大小是雲平臺虛擬機支持的最低配置,不建議太大。否則會浪費很多資源。

自定義虛擬機的配置。輸入(鍵盤,鼠標,平板),vnc,視頻沒有配置,設置了啟動順序,如下圖。

將虛擬機的引導順序設置為從虛擬光盤引導:

設置完成後,點擊“開始安裝”開始安裝。

3.系統安裝

以同心uos系統制造為例:

Uos系統設置主要指系統語言設置、安裝環境選擇和安裝位置選擇。出現引導界面,選擇安裝uos。

等待文件加載,可能需要1分鐘左右,稍微等壹下。

選擇安裝語言,建議選擇簡體中文(銀河麒麟由於編解碼問題建議選擇英文):

根據需要選擇基本安裝環境。雲平臺的虛擬機建議最低安裝或圖形服務器。最小安裝就是安裝最基本的程序使其可以運行,但是壹些擴展模塊沒有安裝。圖形服務器預裝了圖形界面gui和服務器所需的必要軟件。終端使用桌面服務器,預制gui界面。

到安裝位置,選擇手動安裝。添加分區。選擇磁盤並點按右側的加號,開始設置分區。

選擇分區屬性。文件系統、掛載點和大小。可以手動輸入尺寸。設置後點擊新建。

最終設置分區如下圖所示。Vda1的類型為ext4,掛載點為/boot,建議大小為300MB。Vda2類型為efi,建議大小為300MB。Vda3類型是交換空間,

,建議大小為2048MB。Vda4型是ext4,掛載/。交換空間可以省略,創建雲平臺的虛擬機後必須自動擴展根分區。建議不要選擇lvm作為分區類型。選擇lvm後,需要手動擴展磁盤,適合少量虛擬機。國內系統多采用UEFI引導系統,需要添加分區/引導/efi分區。

確定安裝位置後,選擇開始安裝。

等待安裝完成。

安裝完成後,點擊立即體驗,系統將重新啟動。

關閉虛擬機。將啟動模式修改為從磁盤啟動,然後啟動虛擬機。

選擇時區

設置登錄用戶名和密碼。

等待優化系統配置

然後用設置好的用戶名和密碼登錄。

登錄系統後,需要對系統進行配置,檢查防火墻和selinux是否關閉,如果沒有,關閉。關閉命令:

sed-I ' s/SELINUX = enforcing/SELINUX = disabled/'/etc/SELINUX/config

setenforce 0

為了確保虛擬機可以通過密碼訪問,需要修改ssh配置文件。允許密碼訪問並允許root管理員登錄。修改/etc/ssh/sshd_config,並在修改以下參數後重新啟動sshd服務。

PermitRootLogin是

密碼驗證是

4.網絡結構

為了下壹步安裝軟件,虛擬機需要連接網絡,所以需要配置網絡,主要包括配置ip地址、網關、掩碼和dns服務器。UOS啟動後自動獲取地址和DNS服務器。如下圖。如果虛擬機不能訪問互聯網,可以跳過這壹步。成功配置的網絡如下:

Ping通了嗎?

5.安裝雲平臺軟件

雲平臺需要的軟件包括cloud-init、cloud-guest-utils和qemu-guest-agent。

(1)鏡像源設置

#統壹uos圖像源地址:

#修改/etc/apt/sources.list文件,

deb [by-hash=force]?/uos?老鷹?主要?貢獻非免費

#執行更新命令

apt更新

(2)安裝磁盤擴展服務

Cloud-guest-utils包含了虛擬機啟動階段自動根分區的軟件‘grow part’,cloud-init可以調用它來完成虛擬機根分區的自動擴展。Centos/rhel系統安裝cloud-utils-grow part;Cloud-guest-utils安裝在debian/ubuntu系統上。

安裝命令:

apt安裝-y雲客戶工具

③安裝cloud-init。

Cloud-init是linux的壹個工具。當系統啟動時,cloud-init可以從nova元數據服務或配置驅動中獲取元數據,完成包括但不限於以下內容的定制:

1.?設置默認區域設置

2.設置主機名

3.將ssh密鑰添加到。ssh/authorized _ key。

4.設置用戶密碼

配置網絡

第六步安裝軟件包

安裝命令:

安裝cloud-init -y

#cloud-init配置(modify /etc/cloud/cloud.cfg):

disable_root: true

ssh_pwauth: 1

註意:cloud-init的版本至少是0.7.9,否則無法在雲平臺上自動進行網絡配置。

(4)安裝qemu-guest-agent。

QEMU Guest Agent是壹個運行在虛擬機內部的守護進程(qemu-Guest-agent.service ),用於協助Hypervisor管理來賓。QEMU為主機和虛擬機提供數據通道。這個通道的兩端是虛擬機上看到的串口和主機上看到的unix。

套接字文件。主機與虛擬機之間的Qga通信擴展了虛擬機的控制能力,比如獲取主機上虛擬機的ip地址。

安裝命令:

apt安裝qemu-guest-agent -y

軟件安裝後。需要清理虛擬機的網卡信息,否則cloud-init在用這個鏡像創建虛擬機時檢測到網絡已經創建,無法調用相關軟件分配ip地址。在虛擬機上執行以下命令。

#刪除網卡相關信息:

rm -rf?/etc/udev/rules . d/70-persistent-net . rules

#刪除網卡配置的靜態IP信息和/etc/reslov.conf中的信息。

壓縮圖像

qcow2的圖像壓縮比更高。通過壓縮可以使圖像變小,節省存儲空間,便於傳輸和存儲。

關閉虛擬機後,執行以下命令:

#運行sysprep清理虛擬機的臨時文件和緩存文件。

Virt-sysprep -d虛擬機名稱

虛擬機名稱可以通過virsh?列表-全部視圖

#壓縮圖像

虛擬稀疏壓縮?before.qcow2 after.qcow2

壓縮圖像的保存和使用。