Ssh

如何恢復只有 ssh 訪問且沒有可用分區的 clonezilla 映像?

  • April 6, 2015

可能有不止一個正確答案。在該領域幾乎沒有經驗,我正在詢問在此特定任務中管理我的工具和資源的最佳/最合理的方法。

設置

有一個伺服器,可以通過 ssh 遠端訪問,沒有物理訪問。它有兩個硬碟:

  • sda 為 boot (sda1)、root/user fs (sda2)、swap (sda3) 和 raid (sda4) 分區;
  • sdb 非常清晰且全新安裝。

在 sda2 上,除其他文件外,還有用Clonezilla製作的相當大的磁碟映像。以前從未使用過這個軟體,所以我希望一切都到位 - 它是一個包含很多 dd-img、.mbr、列表、雜湊和等的文件夾。

目標

我想說 Clonezilla 磁碟映像恢復到 sdb。

問題

通過物理訪問,這將很容易。但是,現在我可以確定以下障礙:

  • 無法插入 live cd/usb 進行引導;但是,可以從硬碟上的 iso 映像實時執行 clonezilla。我下載了這樣的圖像並將其複製到 sda2;
  • 這個 livehd 教程說需要為 clonezilla 準備單個 FAT 分區才能執行。我絕對不會碰 sda1/3/4(我不想失去的引導、交換和 raid 數據),而且我害怕分區 sda2 上面有系統數據。因此,也許使用 sdb (目標磁碟)並在引導 clonezilla 進入 RAM 後讓它被覆蓋?還是無論如何都使用 sda4 並稍後從備份中恢復它?
  • 同樣,只有遠端訪問,並且 clonezilla 預設禁用 ssh。儘管需要 PXE 設置,但指向此文件的這個答案聽起來像是一個解決方案。以前從來沒有這樣做過。

可能的路線?

現在我正在考慮在不同的機器上設置 PXE 伺服器並指向我的“目標”伺服器以從中獲取啟動資訊。在這種情況下,clonezilla 映像應該位於哪台機器上?

或者,因為我希望這是一次性任務,也許我可以簡化一些事情?編輯 clonezilla 映像(可以正常掛載,對嗎?)以預設允許 ssh,可能限制 IP 訪問或更改預設密碼?

最後,您將如何從該映像執行系統?如果確實需要單獨的分區,我可以將它儲存在哪裡?如果最好的答案是明確的“目標”磁碟上的分區,如何讓系統在啟動時進入 RAM?請記住,我只能在它完全活躍後才能通過 ssh 進入它(因此,啟動,網路啟動等)。

我希望這聽起來不像我對它的感覺那麼混亂 :) 情況對我和我以前的經歷來說是相當複雜的;我希望這裡有人可以糾正我。

經過大量的反複試驗,我找到了一種方法。希望有時會對某人有所幫助。

任務完成,我的磁碟已恢復,方法如下:

  1. 根據此文件下載 Clonezilla live ,直到配置 GRUB(因此,下載、解壓縮、更改“實時”文件夾名稱);
  2. 使用 fdisk 和 mkvfat 在 sdb(要恢復到的磁碟,“目標”之一)上設置 FAT32 分區。分區大小足以儲存實時 Clonezilla 映像(200M?)並設置為可啟動。
  3. 通過創建此條目配置 GRUB:(解釋如下)
menuentry "Clonezilla" {

set root=(hd1,1)

linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_prerun=\"dhclient -v eth0\" ocs_live_run=\"/bin/bash\" ocs_live_extra_param=\"\" keyboard-layouts=NONE ocs_live_batch=no locales=en_US.UTF-8 vga=788 ip= nosplash live-media-path=/live-hd bootfrom=/dev/sdb1 toram usercrypted= ocs_daemonon=\"ssh\" i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.blacklist=yes

initrd /live-hd/initrd.img

} 
  1. 重新創建 GRUB 配置以包含此條目 (grub2-mkconfig) 並選擇引導模式。有兩條路線:
  • 在創建 conf 之前在 /etc/default/grub 中將此條目設置為預設值
  • 或者只是添加它並在啟動時選擇,如果您設置了 KVM IP(所以 kiiiinda 就像物理訪問機器一樣,不允許 BIOS 操作,但啟動條目切換 - 是的)。
  1. 重新啟動機器,等待它啟動到 Clonezilla 並通過 ssh 以“使用者”身份登錄 - 它具有 sudo 權限。
  2. 在命令行中執行“clonezilla”腳本並按照標準教程進行操作
  3. 返回終端並將引導交換到您的正常系統(否則它將失敗,在現在不存在的分區上搜尋 clonezilla)。重啟。享受。

grub 菜單項有什麼作用?

它由兩個教程和一些實驗編譯而成: http://clonezilla.org/livehd.php http://clonezilla.org/show-live-doc-content.php?topic=clonezilla-live/doc/05_Started_with_sshd_on_and_passwd_assigned

目標是擁有它:

  • 在啟動時配置網路,因此ocs_prerun=dhclient選項
  • 執行 bourne shell ( ocs_live_run=/bin/bash)
  • ip=<empty>為了不惹dhclient
  • toram沒有選項可以將整個系統放在 RAM 中,因此它可以覆蓋最初啟動它的磁碟這使它成為一次性操作,之後你的 live clonezilla 就消失了
  • 啟動 SSH 伺服器 ( ocs_daemonon=ssh)$$ optionally $$為使用者設置的密碼(‘usercrypted’)。密碼部分的工作原理如鍊接的第二個教程中所述。也許(未經測試)您可以將其留空並以“使用者”身份訪問而無需密碼 - 在這種情況下,最好在登錄後立即更改密碼。

呸,就是這樣。我真的很高興我解決了這個難題,同時我也覺得更有經驗的人會在一兩分鐘內完成它……

引用自:https://serverfault.com/questions/610623