Ubuntu
Ubuntu Server 10.04 LTS 中的熱交換根分區
我的公司執行小型 NAS 盒,我們將它們分發到企業和家庭中,供個人或企業網路使用。這些機器執行 Ubuntu Server 10.04 並設置為從快閃記憶體驅動器啟動。大部分儲存和共享位於 4 驅動器 RAID5 陣列上。我們使用 dd 複製快閃記憶體驅動器並將它們換掉,以便快速輕鬆地修復作業系統問題。我們的一些客戶甚至無法為重啟而關閉他們的盒子幾分鐘。所以我們想知道如何開始創建“熱插拔”快閃記憶體驅動器。我正在考慮從 RAID5 陣列執行一個只有基本共享、ssh 和 FTP 的小型作業系統,並使用 USB 信號執行一個腳本,指示機器將引導載入程序切換到這個“微型”作業系統。所以當機器在這個臨時的、臨時的作業系統上執行時,我們用主作業系統關閉快閃記憶體驅動器,然後再次執行 USB 信號以切換引導載入程序。所以我想我的問題是是否已經有為此製作的軟體,如果沒有,我應該採取什麼途徑開始?
所以……這實際上是一個很好的問題。
我會先告訴你為什麼它不起作用,然後我會告訴你它是如何起作用的。:-)
您的“作業系統”(更具體地說是您的核心)為您的設備提供了所有必要的介面。包括您的磁碟陣列。它還保留一個描述符列表,告訴程序將數據發送到哪裡。
因此,當您談論“熱交換”您的“作業系統”時,您實際上是在要求在操作期間更換您的核心(以及所有相關的庫和配置)。您可以執行一個作業系統,並將另一個儲存在設備上。但是您不能在執行期間熱交換標準核心。
但是,您可以查看一種名為ksplice的新技術。它的目標是提供一個無需重啟的核心。我不熟悉您目前的實現,也不熟悉 ksplice 目前的穩定性,但它應該能讓您走上正確的道路。而 Canonical 甚至是他們的主要支持者之一!
祝你好運!