目錄表

Clonezilla Live in DRBL

源起

某一次我將DRBL Server從舊型的主機板移到新型的主機板上,過程中遇到了不少奇怪的問題。可能是由於新主機板用到比較新的晶片且速度較快。這是我移機一開始所碰到的兩個問題:

和DRBL作者Steven討論我發現的情況後,猜測可能是Ubuntu Kernel反應不及與平行開機的問題,於是他建議我更新Ubuntu Kernel且透過Clonezilla Live的方式去做備份還原。

使用

要使用Clonezilla Live 模式,一樣執行/opt/drbl/sbin/drblpush -i去做config。照之前的選擇直到選擇DRBL的模式,讓我們選擇3: Clonezilla Live模式:

接著選擇要使用的版本。由於我們的版子都使用比較新的晶片,因此我選擇用Ubuntu-based的Clonezilla Live image:

在之後的DRBL設定步驟中,它會自行去下載最新的Clonezilla Live image下來安裝。

問題

在上述配置後,一般的User應該都可以正常使用了。但是我卻又碰到兩個問題(多災多難):

一直這樣執行好幾個月都非常的順利。直到最近又因為手賤去更新Clonezilla Live才又無法正常執行,出現錯誤是sudo locales tzdata upstart-tty keyboard-configuration initramfs-tools unil-linux login openssh-server umountfs.。只要在pxe append內加入ip=frommedia就解決了。

總結

用了Clonezilla Live後,果然順了很多。這次變更也讓我知道: 在穩定的時候,不要亂改設定與硬體阿!

友藏內心獨白: 哼哼! 我算DRBL忠實User吧?

後記-20181223

為了支援新板子,在更新20180812-bionic clonezilla live後,發生This Live System image failed to boot的問題。這個問題是由於較新的linux kernel會根據網卡的種類去顯示裝置名稱,原本的eth*會變成eno*,導致指定live-netdev會有問題。經過實驗,只要加入以下參數,就可以讓名稱維持eth開頭:

net.ifnames=0
在順利讀取clonezilla live後,會卡在keyboard configuration的畫面,可以加以下參數讓它直接使用預設keybaord layout:
keyboard-layouts=NONE
除此之外,由於我有兩張網卡,但我發現drbl使用非預期的網卡ip去mount nfs。針對這個問題,可以修改/opt/drbl/conf/drbl-ocs.conf: (新版本可能要改/etc/drbl/drbl-ocs.conf)
ocs_prerun_for_pxe_ocs_live="mount -t nfs 10.68.0.254:/home/drbl_partimag/ /home/partimag"
它預設會使用第一張網卡的IP。

目前使用的參數

要修改/tftpboot/nbi_img/pxelinux.cfg/default:

APPEND initrd=Clonezilla-live-initrd.img boot=live hostname=bionic config quiet noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" video=uvesafb:mode_option=800x600-16 nosplash noprompt netboot=nfs nfsroot=10.68.0.254:/tftpboot/node_root/clonezilla-live/ ocs_server="10.68.0.254" live-netdev=eth1 ip=frommedia net.ifnames=0 keyboard-layouts=NONE
APPEND initrd=Clonezilla-live-initrd.img boot=live union=aufs noswap noprompt nolocales vga=788 netboot=nfs nfsroot=10.68.0.254:/tftpboot/node_root/clonezilla-live/ ocs_server="10.68.0.254" net.ifnames=0 live-netdev=eth1 keyboard-layouts=NONE

2023-01-13

 APPEND initrd=Clonezilla-live-initrd.img boot=live hostname=oneiric config noswap nolocales edd=on nomodeset ocs_live_extra_param="" ocs_live_keymap="NONE" ocs_live_batch="no" ocs_lang="en_US.UTF-8" nosplash noprompt netboot=nfs nfsroot=10.68.0.254:/tftpboot/node_root/clonezilla-live/ ocs_server="10.68.0.254" live-netdev=eth1 ip=frommedia net.ifnames=0 biosdevname=0 keyboard-layouts=NONE ocs_daemonon="ssh" ocs_prerun="mount -t nfs 10.68.0.254:/home/drbl_partimag/ /home/partimag"

Reference