Categories
學習筆記

不尋求官方協助 自行添加DigitalOcean VPS的內核自動切換

DigitalOcean這家VPS基本上也算是老招牌了,整體感覺還算是不錯的,價格也很便宜,月付5美金基本上就可以買到一個價格合適且性能強勁的VPS,最方便的是這傢伙是每日計費,且支持自行刪除VPS,意思就是如果我突然不需要了,我可以將它刪除,剩下不少錢,玩開發的肯定會特別喜歡它,而我個人就非常喜歡它的模式。 就是有個毛病,讓我有點討厭,而這個毛病就是VPS的kernel加載部份。 DigitalOcean的kernel management是透過DigitalOcean自行開發的面板控制來實現的,意思就是如果你自己安裝了新的kernel,但沒有到DO去設定的話,你的kernel實際上並不會生效,加載的依舊是舊的。 延伸意義就是如果你的kernel不在選項里,那你就倒楣了,只能摸摸鼻子去找客服添加,這個感覺也太蛋疼了,所以我非常不喜 ﹣﹣ 因此該怎麼突破這個障礙 就是我今天想分享的東西 顯然為達目的,我們必須另闢奇徑,而就有了我標題所說的內核自動切換的概念。 這裡就來介紹一下實現內核切換的kexec,這貨的做法其實很簡單,就是跳過bootloader stage的部份,直接把新的kernel加載到內存中,不僅可以避免長時間的重啟,也可以避開依賴bootloader選擇kernel的部份,進而實現我的目的。 In computing, kexec (abbreviated from kernel execution, and derived from the Unix/Linux kernel call exec) is a mechanism of the Linux kernel that allows "live" booting of a new kernel "over" the currently running kernel. Essentially, kexec skips the bootloader stage (hardware initialization phase […]