日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Clonezilla进行P2V,备份还原完整过程

發(fā)布時(shí)間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Clonezilla进行P2V,备份还原完整过程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

起因:由于公司的幾臺(tái)開發(fā)測試服務(wù)器從IDC機(jī)房搬回辦公室后,電費(fèi)飆漲,為降低公司成本,倡導(dǎo)綠色節(jié)能,遂想將幾臺(tái)資源利用率不高的服務(wù)器進(jìn)行虛擬化后關(guān)停,因此就有了本文。權(quán)當(dāng)學(xué)習(xí)記錄,有不當(dāng)之處,歡迎讀者指出,共同探討。

一、基本環(huán)境

源服務(wù)器:Ubuntu18.04

目的服務(wù)器:CentOS 7.9 、 Libvirt KVM/QEMU

網(wǎng)絡(luò):同一局域網(wǎng)

軟件:Clonezilla-live-2.7.1-22 、rufus 、VNC Viewer

下載鏈接:

Clonezilla: https://clonezilla.org/downloads.php

Rufus: https://rufus.ie/zh/

二、Clonezilla(再生龍)簡介

Clonezilla是類似于TrueImage?或NortonGhost?的分區(qū)和磁盤映像/克隆程序。它可以幫助您進(jìn)行系統(tǒng)部署,裸機(jī)備份和恢復(fù)??梢允褂萌N類型的Clonezilla:Clonezilla live,Clonezilla lite服務(wù)器和Clonezilla SE(服務(wù)器版)。Clonezilla live適用于單機(jī)備份和還原。盡管Clonezilla lite服務(wù)器或SE用于大規(guī)模部署,但它可以同時(shí)克隆許多(40多臺(tái)!)計(jì)算機(jī)。Clonezilla僅在硬盤中保存和恢復(fù)使用過的塊。這提高了克隆效率。借助42節(jié)點(diǎn)群集中的某些高端硬件,創(chuàng)造了最高8 GB / min的速率恢復(fù)多臺(tái)的記錄。(官網(wǎng)英文Google機(jī)翻)

三、操作步驟

1.前期準(zhǔn)備:

確認(rèn)源服務(wù)器或主機(jī)正確的配置了U盤啟動(dòng),并確認(rèn)U盤可以正常使用,因?yàn)槲以诓僮鬟^程中就遇到了同一個(gè)U盤有些服務(wù)器可以識(shí)別,有些不能識(shí)別的情況。

準(zhǔn)備好顯示器、鍵盤,一般服務(wù)器只有VGA接口,確認(rèn)顯示器配備相應(yīng)線纜。

準(zhǔn)備好存儲(chǔ)備份鏡像的空間,因?yàn)榉?wù)器數(shù)據(jù)動(dòng)輒幾十上百G,備份多臺(tái)將消耗很多磁盤空間,因此需做好提前規(guī)劃。

2.創(chuàng)建Clonezilla啟動(dòng)U盤

官方推薦了幾種方式進(jìn)行啟動(dòng)U盤的創(chuàng)建,本次采用rufus。

rufus有綠色版本,下載后直接打開運(yùn)行,先選擇鏡像:

選擇已經(jīng)下載好的Clonezilla鏡像后,確認(rèn)U盤中數(shù)據(jù)已備份后,可點(diǎn)擊開始,此時(shí)會(huì)提示寫入方式,直接點(diǎn)擊OK,以推薦方式寫入:

提示缺少的文件,點(diǎn)擊是將在rufus文件同目錄下創(chuàng)建一個(gè)文件夾并自動(dòng)下載:

警告提示,點(diǎn)確定:

完成后,關(guān)閉rufus即可。

3.開始備份

重啟服務(wù)器,并通過U盤啟動(dòng),如果服務(wù)器使用的是UEFI引導(dǎo)程序,用U盤啟動(dòng)時(shí)記得選擇BIOS,進(jìn)入Clonezilla啟動(dòng)頁,默認(rèn)選擇第一項(xiàng):

選擇語言,支持簡體中文:

選擇鍵盤布局,默認(rèn)即可:

進(jìn)入軟件:

選擇第一項(xiàng),備份和還原都是這個(gè),后面詳細(xì)說明:

選擇文件目錄,這里使用ssh服務(wù),第二項(xiàng):

配置當(dāng)前服務(wù)器的網(wǎng)絡(luò)信息,即IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)、DNS服務(wù)器等,這里根據(jù)自己的網(wǎng)絡(luò)環(huán)境設(shè)置,我這里使用靜態(tài)IP:

配置IP地址:

配置子網(wǎng)掩碼:

配置網(wǎng)關(guān):

配置DNS服務(wù)器:

配置存儲(chǔ)備份鏡像的服務(wù)器IP:

配置備份服務(wù)器ssh服務(wù)端口:

配置ssh登陸的用戶名:

配置備份存儲(chǔ)的路徑:

提示要確認(rèn)并輸入服務(wù)器密碼:

點(diǎn)擊確定后,輸入yes,并輸入密碼:

如果連接成功,則會(huì)提示掛載的備份目錄,可以查看是否正確,回車?yán)^續(xù):

選擇工作模式,這里選擇第二項(xiàng),專家模式:

根據(jù)自己的情況選擇,這里我選擇備份硬盤到鏡像:

輸入鏡像文件名稱,軟件會(huì)自動(dòng)在備份目錄生成一個(gè)文件夾:

確定名稱后,選擇需要備份的硬盤,有多個(gè)可以選擇多個(gè):

接下來的幾個(gè)選項(xiàng)都是跟備份數(shù)據(jù)的參數(shù)有關(guān),如果不熟悉可以使用默認(rèn)設(shè)置。

選擇備份程序的順序:

備份高級(jí)參數(shù):

鏡像壓縮格式:

選擇卷大小:

檢查源文件系統(tǒng):

檢查備份鏡像:

是否加密鏡像:

操作完成后的動(dòng)作:

按回車?yán)^續(xù):

再次確認(rèn),輸入y并回車:

等待備份過程結(jié)束:

完成后可以選擇關(guān)閉服務(wù)器。

至此,一臺(tái)服務(wù)器備份完成,可以在備份服務(wù)器上查看備份文件情況。

4.還原備份鏡像為kvm虛擬機(jī)

首先,創(chuàng)建虛擬機(jī)磁盤文件,因后續(xù)可能需要將虛擬機(jī)導(dǎo)入openstack,因此我創(chuàng)建了qcow2格式的磁盤文件,也可根據(jù)情況指定其他磁盤文件格式,并指定文件大小:

qemu-img create -f qcow2 /data/test.qcow2 200G

建立虛擬機(jī)配置文件,默認(rèn)在/etc/libvirt/qemu/文件夾下,格式為xml。可以從其它虛擬機(jī)文件復(fù)制來修改,也可以自己寫或者用virt-install命令建立,這里復(fù)制一份其它虛擬機(jī)文件并做修改:

<!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:virsh edit test or other application using the libvirt API. --><domain type='kvm'><name>test</name> #虛擬機(jī)的名稱 <uuid>e5b3ab33-9317-4b8e-a5bc-7b0150409166</uuid> #虛擬機(jī)的UUID,此值是唯一的,可以用uuidgen命令生成<memory unit='KiB'>8388608</memory> #虛擬機(jī)最大內(nèi)存限制,單位是KB<currentMemory unit='KiB'>8388608</currentMemory> #虛擬機(jī)當(dāng)前內(nèi)存大小,單位是KB<vcpu placement='static'>4</vcpu> #虛擬機(jī)虛擬cpu個(gè)數(shù)<os><type arch='x86_64' machine='pc-i440fx-rhel7.6.0'>hvm</type> #arch參數(shù)表示宿主機(jī)cpu架構(gòu),machine表示宿主機(jī)系統(tǒng),如:pc-i440fx-rhel7.6.0表示centos7.6版本,pc-i440fx-bionic表示ubuntu18.04版本<boot dev='cdrom'/> #啟動(dòng)設(shè)備為光驅(qū),如果是硬盤,則將cdrom改為hd<bootmenu enable='yes'/> #是否顯示啟動(dòng)菜單,只有通過vnc工具才能看到,kvm的console是無法看到的</os><features><acpi/><apic/></features><cpu mode='custom' match='exact' check='partial'><model fallback='allow'>IvyBridge-IBRS</model></cpu><clock offset='utc'><timer name='rtc' tickpolicy='catchup'/><timer name='pit' tickpolicy='delay'/><timer name='hpet' present='no'/></clock><on_poweroff>destroy</on_poweroff><on_reboot>restart</on_reboot><on_crash>destroy</on_crash><pm><suspend-to-mem enabled='no'/><suspend-to-disk enabled='no'/></pm><devices><emulator>/usr/libexec/qemu-kvm</emulator> #虛擬機(jī)程序路徑,這是centos的,ubuntu的則為/usr/bin/kvm-spice<disk type='file' device='disk'> #這里可以設(shè)置虛擬機(jī)磁盤是來自文件還是物理塊設(shè)備<driver name='qemu' type='qcow2'/> #指定虛擬磁盤文件格式<source file='/data/test.qcow2'/> #指定虛擬磁盤文件路徑<target dev='vda' bus='virtio'/><address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/></disk><disk type='file' device='cdrom'><driver name='qemu' type='raw'/><source file='/sata/iso/clonezilla-live-2.7.1-22-amd64.iso'/> #指定光盤鏡像文件路徑<target dev='hda' bus='ide'/><readonly/><address type='drive' controller='0' bus='0' target='0' unit='0'/></disk><controller type='usb' index='0' model='ich9-ehci1'><address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x7'/></controller><controller type='usb' index='0' model='ich9-uhci1'><master startport='0'/><address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0' multifunction='on'/></controller><controller type='usb' index='0' model='ich9-uhci2'><master startport='2'/><address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x1'/></controller><controller type='usb' index='0' model='ich9-uhci3'><master startport='4'/><address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x2'/></controller><controller type='pci' index='0' model='pci-root'/><controller type='ide' index='0'><address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/></controller><interface type='bridge'> #指定網(wǎng)卡工作模式,這里是橋接模式<mac address='52:54:00:f2:8c:3a'/> #這里要注意,如果是手動(dòng)復(fù)制的配置文件,則需要自己修改mac地址,否則會(huì)出現(xiàn)地址沖突 <source bridge='br0'/> #指定橋接到哪個(gè)虛擬網(wǎng)橋上,即虛擬網(wǎng)橋的名稱<model type='virtio'/> #指定虛擬網(wǎng)卡模擬硬件型號(hào)<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/></interface><serial type='pty'><target type='isa-serial' port='0'><model name='isa-serial'/></target></serial><console type='pty'><target type='serial' port='0'/></console><input type='tablet' bus='usb'><address type='usb' bus='0' port='1'/></input><input type='mouse' bus='ps2'/><input type='keyboard' bus='ps2'/><graphics type='vnc' port='5911' autoport='no' listen='0.0.0.0'> #配置vnc監(jiān)聽和端口<listen type='address' address='0.0.0.0'/></graphics><video><model type='cirrus' vram='16384' heads='1' primary='yes'/><address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/></video><memballoon model='virtio'><address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/></memballoon></devices> </domain>

以上是主要的虛擬機(jī)配置文件說明,更多詳細(xì)內(nèi)容,可自行查詢,本文最后會(huì)列舉一些遇到的問題及解決方法。

定義虛擬機(jī),并啟動(dòng):

sudo virsh define /etc/libvirt/qemu/test.xml virsh start test

啟動(dòng)后與備份時(shí)選擇的菜單,前幾步一致,先是進(jìn)入主頁,默認(rèn)第一項(xiàng):

選擇語言:

選擇鍵盤:

進(jìn)入主菜單:

選擇第一項(xiàng):

鏡像來源選擇ssh server:

還是配置靜態(tài)IP,中間的子網(wǎng)掩碼、網(wǎng)關(guān)和DNS配置略過,請(qǐng)自行配置:

輸入鏡像源服務(wù)器的IP:

輸入源服務(wù)器ssh端口:

輸入ssh賬號(hào):

輸入鏡像源目錄:

按確定后,輸入ssh密碼:

選擇專家模式:

選擇從鏡像還原至本地硬盤:

選擇要還原的鏡像文件:

選擇本地磁盤,注意本地磁盤容量要大于等于鏡像文件的容量,否則無法進(jìn)行還原:

選擇磁盤參數(shù),可以使用默認(rèn)值:




等待完成后,選擇關(guān)機(jī),因?yàn)檫€需要修改kvm的配置文件。

5.掛載虛擬機(jī)磁盤

掛載虛擬機(jī)磁盤有幾種方式:

方法一:采用系統(tǒng)的nbd模塊,如果系統(tǒng)沒有安裝,還需要安裝,這里就不展開了,有興趣的可以自己去查找。

加載nbd模塊:

modprobe nbd

連接磁盤:

qemu-nbd --connect=/dev/nbd0 /data/test.qcow2

掛載磁盤,如果有多個(gè)分區(qū),則分別掛載:

mount /dev/nbd0p1 tmp1

方法二:安裝 libguestfs-tools,它提供了一系列工具來訪問和編輯 VM 磁盤鏡像。

安裝 libguestfs-tools:

yum install libguestfs-tools

掛載磁盤:

guestmount -a /data/test.qcow2 -m <device> tmp

"-m " 用于指定磁盤鏡像內(nèi),你想要掛載的分區(qū)(比如,/dev/sda1)。如果你不確定磁盤鏡像內(nèi)有什么分區(qū),你可以任意提供一個(gè)無效的設(shè)備名。guestmount工具將為你展示所有你可以選擇的設(shè)備名字。如:

$ sudo guestmount -a sdcard.img.qcow2 -m /dev/sdaqw qcow2_mount_point libguestfs: error: mount_options: mount_options_stub: /dev/sdaqw: No such file or directory guestmount: '/dev/sdaqw' could not be mounted. guestmount: Did you mean to mount one of these filesystems? guestmount: /dev/sda (vfat)

掛載后根據(jù)需要修改fstab文件、網(wǎng)卡信息,有需要的話可以配置kvm的console登陸,這個(gè)需要修改內(nèi)核啟動(dòng)參數(shù),在/boot/grub/grub.cfg中找到啟動(dòng)內(nèi)核文件,通常以boot/vmlinuz開頭的行,后面空格后添加console=ttyS0 115200,如果同一版本有多個(gè)啟動(dòng)項(xiàng),則每行都要添加。

修改好以上文件后,取消掛載:

gusetunmount tmp

6.修改虛擬機(jī)配置文件

virsh edit test

這里僅就需要修改的地方列出,如果要使用UEFI啟動(dòng)請(qǐng)參考本文第四部分問題二:

......<os><type arch='x86_64' machine='pc-i440fx-rhel7.6.0'>hvm</type> #arch參數(shù)表示宿主機(jī)cpu架構(gòu),machine表示宿主機(jī)系統(tǒng),如:pc-i440fx-rhel7.6.0表示centos7.6版本,pc-i440fx-bionic表示ubuntu18.04版本<boot dev='hd'/> #取消光盤啟動(dòng),改為硬盤啟動(dòng)<bootmenu enable='yes'/> #是否顯示啟動(dòng)菜單,只有通過vnc工具才能看到,kvm的console是無法看到的</os>......<disk type='file' device='cdrom'><driver name='qemu' type='raw'/><source file='/sata/iso/clonezilla-live-2.7.1-22-amd64.iso'/> #刪除此行<target dev='hda' bus='ide'/><readonly/><address type='drive' controller='0' bus='0' target='0' unit='0'/></disk>......<graphics type='spice' autoport='yes'> #如果不保留vnc訪問,這里可以這樣修改<listen type='address'/></graphics>......

完成后保存退出,啟動(dòng)虛擬機(jī)即可。

四、問題及解決方案

這里總結(jié)了一些KVM使用上遇到的問題和解決方案,有些問題可能比較小白,請(qǐng)各位讀者不要見笑。

問題一:源服務(wù)器很多服務(wù)安裝在系統(tǒng)盤,而系統(tǒng)盤容量有限,容量已滿,轉(zhuǎn)換為虛擬機(jī)后,可以方便進(jìn)行磁盤擴(kuò)容。

首先,創(chuàng)建虛擬磁盤時(shí)要設(shè)計(jì)好容量,啟動(dòng)虛擬機(jī)后,查看分區(qū)情況:

sudo fdisk /dev/sda

刪除容量要滿的分區(qū),輸入d,回車,這里要記住/dev/sda2的起始位置,如上圖中即為1050624。

然后默認(rèn)會(huì)刪除/dev/sda2,輸入n回車,這里刪除后不要保存,切記!切記!切記!創(chuàng)建新分區(qū),注意起始位置要一致,然后輸入你想要分配的空間大小,提示是否移除磁盤分區(qū)信息時(shí),選擇n:

然后輸入w,保存退出。

然后根據(jù)你的文件系統(tǒng)類型,選擇合適的命令,進(jìn)行在線擴(kuò)容:

ext4的使用:

sudo resize2fs /dev/sda2

xfs使用:

sudo xfs_growfs /dev/sda2

完成后df -h查看擴(kuò)容后分區(qū)情況:

問題二:讓kvm支持UEFI啟動(dòng)方式

默認(rèn)kvm使用的是BIOS啟動(dòng)方式,如果要支持UEFI啟動(dòng),則需要安裝額外的包,并修改虛擬機(jī)的配置文件。

首先安裝相應(yīng)的軟件包:

Ubuntu系統(tǒng)

sudo apt install ovmf

Centos系統(tǒng)

wget http://www.kraxel.org/repos/firmware.repo -O /etc/yum.repos.d/firmware.repo yum install edk2.git-ovmf-x64 -y

修改kvm的配置文件:

Ubuntu系統(tǒng)

......<os> ......<loader type='rom'>/usr/share/ovmf/OVMF.fd</loader> ......</os> ......

Centos系統(tǒng)

......<os>......<loader readonly='yes' secure='no' type='pflash'>/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd</loader><nvram>/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd</nvram>......</os> ......

問題三:為qcow2格式的磁盤文件進(jìn)行分區(qū)

由于之前沒有注意源服務(wù)器是UEFI啟動(dòng),導(dǎo)致鏡像還原到kvm后無法啟動(dòng),當(dāng)時(shí)以為是磁盤分區(qū)的問題,所以就需要提前將虛擬磁盤進(jìn)行分區(qū),查詢資料后,發(fā)現(xiàn)可以使用nbd模塊實(shí)現(xiàn)。

創(chuàng)建一個(gè)磁盤鏡像文件:

qemu-img create -f qcow2 test.qcow2 2G

加載nbd模塊:

modprobe nbd max_part=12

連接磁盤鏡像文件:

qemu-nbd --connect=/dev/nbd0 test.qcow2

進(jìn)行分區(qū)操作:

fdisk /dev/nbd0

格式化:

mkfs.ext4 -F -L "rootfs" /dev/nbd0p0

掛載和取消掛載:

mount -t ext4 /dev/nbd0p0 tmp1 umount tmp1

操作完成后,記得斷開連接:

qemu-nbd --disconnect /dev/nbd0

這種方式可以將鏡像磁盤文件當(dāng)成本地磁盤一樣進(jìn)行操作,而 libguestfs-tools這個(gè)工具只能相當(dāng)于操作本地磁盤上的文件,區(qū)別顯而易見。

問題四:kvm網(wǎng)絡(luò)從NAT切換至Bridge模式導(dǎo)致無法上網(wǎng)

這個(gè)與本文關(guān)聯(lián)性不大,僅當(dāng)學(xué)習(xí)筆記記錄下來。

現(xiàn)象描述:

之前在ubuntu服務(wù)器上安裝了libvirt,并安裝了幾臺(tái)虛擬機(jī)做測試用,當(dāng)時(shí)由于沒有外網(wǎng)訪問的需求,因此把虛擬機(jī)設(shè)置成了NAT模式,虛擬機(jī)上網(wǎng)正常。后來由于測試環(huán)境需要將虛擬機(jī)暴露給本地網(wǎng)絡(luò),因此調(diào)整了虛擬機(jī)網(wǎng)絡(luò)配置,改成了Bridge模式,并配置了宿主機(jī)的橋接網(wǎng)卡。接著問題來了,虛擬機(jī)可以ping通宿主機(jī)ip,卻不能ping通本地網(wǎng)絡(luò)網(wǎng)關(guān),也不能上網(wǎng),開始以為是網(wǎng)卡驅(qū)動(dòng)或是mac地址沖突等問題,但都一一排除。仔細(xì)想了一下,能ping通宿主機(jī)ip,但不能到本地網(wǎng)絡(luò)網(wǎng)關(guān),可能是宿主機(jī)未轉(zhuǎn)發(fā)包出去。

解決方案:

開始以為只是包轉(zhuǎn)發(fā)問題,于是根據(jù)查找資料,在/etc/sysctl.conf中添加:

net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0

并使用sudo sysctl -p 生效。

上面幾條代碼的意思是不讓iptables過濾橋接網(wǎng)卡的包。

但是后面查看幾臺(tái)運(yùn)行centos系統(tǒng)的宿主機(jī)上面并沒有將這幾條設(shè)置為0,當(dāng)時(shí)也沒想清楚為什么。

就在寫到這里的時(shí)候,突然想起了防火墻設(shè)置,于是去查看發(fā)現(xiàn),centos宿主機(jī)沒開防火墻,所以iptables規(guī)則設(shè)置成什么都不會(huì)生效,而ubuntu系統(tǒng)開啟了防火墻,所以要設(shè)置為0,取消包過濾才行!

根據(jù)以上推測,關(guān)閉了ubuntu的防火墻,并查看了規(guī)則列表,發(fā)現(xiàn)里面設(shè)置了僅允許NAT模式網(wǎng)卡通信,因此確定最終原因是因?yàn)榉阑饓σ?guī)則。

五、總結(jié)

Clonezilla備份還原過程操作不算復(fù)雜,只是有些細(xì)節(jié)要因環(huán)境而異,在實(shí)際操作中要做好準(zhǔn)備,確保鏡像能夠正常還原并啟動(dòng)。另外有興趣的同學(xué)可以嘗試使用pxe啟動(dòng)的方式進(jìn)行備份還原,操作過程基本一致,這里就不再贅述了。

總結(jié)

以上是生活随笔為你收集整理的使用Clonezilla进行P2V,备份还原完整过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。