本文所述的鏡像制作方法簡稱該方法。主要針對國產操作系統的鏡像生產,生產出來的鏡像可以用於國產雲平臺和其他雲平臺。制作鏡像的過程大致包括以下步驟:
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
壓縮圖像的保存和使用。