Gandi 的虛擬化平台是從 XenPV (我們從 2008 年開始使用的虛擬化平台),遷移至 PVHVM 與 KVM (硬體與軟體虛擬化的混合雲能提供效能提昇與簡易使用)。
現在提供給每一個人使用,Gandi 伺服器提供了典型的功能是架構在 HVM 上面的 – 像是 動態調整 CPU*, RAM 與 disk – 還有一些新的功能:
* 請注意目前 HVM 平台無法在開機狀態下調整移除 CPU。您需要停止虛擬機器後再移除。
您現在可以建立或將舊的虛擬伺服器遷移到我們新的平台。
選擇我們提供給您的開發版本與核心,或是建制安裝您自己的系統。
這份文件會引導您如何開始。
我們提供了三種符合 HVM 的 Linux 3.12 核心映像檔。
要建立一個新的虛擬機器,只要輸入以下指令(或是從網頁上選擇映像檔進行建立):
Debian 7
$ gandi vm create --image="Debian 7 64 bits (HVM)" --hostname <自訂一個名稱>
Debian 8
$ gandi vm create --image="Debian 8 64 bits (HVM)" --hostname <自訂一個名>
Ubuntu 14.04 LTS
$ gandi vm create --image="Ubuntu 14.04 64 bits LTS (HVM)" --hostname <自訂一個名>
您的虛擬機器將會在我們的平台上自動產生。
如果您想要使用自訂的核心與套件,請跳過下面的章節。
使用下列的指令來遷移您在我們 HVM 平台上的虛擬機器非常容易的。
底下將引導您完成 “gandi-hosting-vm2” 的套件安裝(將會安裝 ACPI 套件),依照您的系統調整一些設定檔並且將內核換成 3.12-x86_64 (hvm)
。
首先,連接到您的虛擬機器(範例中我們使用 “xenpv-server” 當作虛擬機器的名子)
local $> gandi vm ssh xenpv-server
然後,請安裝 “gandi-hosting-vm2” 套件:
xenpv-server #> apt-get install gandi-hosting-vm2
複製貼上下列指令來修改 /etc/fstab
設定檔:
xenpv-server #> sed -i 's/xvda1/sda/' /etc/fstab
Ubuntu 的注意事項
在 Ubuntu 上,你還需要修改 /etc/mtab
這個檔案。您可以複製貼上下列指令來修改設定:
xenpv-server #> sed -i 's/xvda1/sda/' /etc/mtab
Debian 7 的注意事項
在 Debian 7 上複製與貼上下列的指令來移除 gandi-config 在 ”/etc/inittab” 內的設定。gandi-hosting-vm2
會在第一次開機時將新的設定自動修正。
xenpv-server #> sed -i '/^# console configuration by gandi-config$/,$d' /etc/inittab
一旦您在 Ubuntu 或 Debian 機器上修改好了設定。您可以升級系統核心到我們提供的 Linux 3.12 版本,它與 HVM 相容。假設您的系統硬碟叫做 xenpv-server-disk
,您可以用:
local $> gandi disk update xenpv-server-disk --kernel "3.12-x86_64 (hvm)" --cmdline 'root=/dev/sda'
您現在可以停止並且重新啟動虛擬機器然後他就會在我們的 HVM 平台上開始運作。
local $> gandi vm stop xenpv-server # 沒有關閉電源無法遷移到新平台 local $> gandi vm start xenpv-server
最後,連接您的伺服器然後更新套件,請使用核心更新的方式:
xenpv-server #> apt-get update xenpv-server #> apt-get upgrade xenpv-server #> reboot
到這邊您應該可以在我們的 HVM 平台上順利的執行您的虛擬機器了!
首先,連接到您的虛擬機器(範例中我們使用 “xenpv-server” 當作虛擬機器的名子)
local $> gandi vm ssh xenpv-server
然後,請安裝 “gandi-hosting-vm2” 套件:
xenpv-server #> yum install gandi-hosting-vm2
或是 urpmi gandi-hosting-vm2
適用於 Mageia / Mandriva。
複製貼上下列指令來修改 /etc/fstab
設定檔:
xenpv-server #> sed -i 's/xvda1/sda/' /etc/fstab
一旦您在 Ubuntu 或 Debian 機器上修改好了設定。您可以升級系統核心到我們提供的 Linux 3.12 版本,它與 HVM 相容。假設您的系統碟叫做 xenpv-server-disk
,您可以執行:
local $> gandi disk update xenpv-server-disk --kernel "3.12-x86_64 (hvm)"
您現在可以停止並且重新啟動虛擬機器然後他就會在我們的 HVM 平台上開始運作。
local $> gandi vm stop xenpv-server # 沒有關機無法遷移到新平台 local $> gandi vm start xenpv-server
最後,連接您的伺服器然後更新套件,請使用以下的更新方式:
xenpv-server #> yum update xenpv-server #> reboot
如果您在 Mageia / Mandriva 上不是使用 “yum”,請執行 urpmi –auto-select
來更新。
到這邊您應該可以在我們的 HVM 平台上順利的執行您的虛擬機器了!
在我們提供給您內建的映像檔之前您需要自行研究如何遷移您的發行版本到我們的 HVM 平台。我們建議您閱讀上述的步驟研究如何將發行套件遷移。基本上,您需要做:
gandi-hosting-vm2
套件acpid
與 acpi-support-base
對應套件(因為 gandi-hosting-vm2
相依性的關係)/etc/fstab
, /etc/mtab
和/或是 /etc/inittab
設定檔,或是等同功能的檔案,修改成語上述相同設定的內容。如果您遇到了麻煩,請參考下面的故障排除與支援來嘗試修正您的問題。
在我們的 HVM 平台上,您可以選擇使用我們提供的映像檔與核心,或是使用 GRUB 開啟您自訂的系統與核心
我們發行的伺服器在系統硬碟中使用 grub ,平台將會使用硬碟他自己的 GRUB 來開機。 平台的 GRUB 會讀取你的系統硬碟中特定位置的 GRUB 設定檔來開機。
/boot/grub/grub.cfg
您的系統硬碟中可以使用您自訂的核心(核心或是發行套件不是由 Gandi 提供的),透過 GRUB 中的您指定的設定與資源來開啟您自訂的核心啟動伺服器。
您可以使用上述的指令來遷移您的伺服器並使用 GRUB,但您會需要額外設定一下內核與設定檔。 不一樣的核心與增加額外的設定。
一定您安裝好必要的套件並且編輯了系統檔案,使用 “grub” 核心(取代 3.12 (hvm) kernel)。舉例:
local $> gandi disk update xenpv-server-disk --kernel grub local $> gandi vm stop xenpv-server local $> gandi vm start xenpv-server
上述相關的 Debian 指令之外,在您變更您的核心之前,請依照下列步驟設定您的虛擬機器使用 GRUB 開機:
hvm-server #> apt-get install grub2-common hvm-server #> apt-get install linux-image-amd64 hvm-server #> grub-mkconfig -o /boot/grub/grub.cfg local $> gandi disk update hvm-server-disk --kernel grub local $> gandi vm stop hvm-server local $> gandi vm start hvm-server
每一種發行套件(或是同系列) 都有者一些特別的路徑、套件或是設定檔來使用 GRUB。通常,有一個非常重要的 GRUB 設定您需要加入設定檔中來啟用緊急終端機,還需要額外注意 GRUB 設定檔的位置。
GRUB_CMDLINE_LINUX='console=ttyS0'
請用一個暫時的虛擬機器將 FreeBSD 安裝在一個非系統硬碟中來安裝 GRUB 設定檔。然後建立一個新伺服器並指定這顆硬碟為系統開機碟。
首先,您需要準備自己的 FreeBSD 映像檔。在 GNU/Linux 工作站上面,範例如下:
local $> qemu-img create -f raw freebsd.raw 3G local $> kvm -hda freebsd.raw -cdrom freebsd.iso -boot d -curses
”-curses” 選項需要複製貼上一些指令.
在 “Partitioning” 視窗,選擇 “Shell”, 然後輸入:
# newfs /dev/ada0 # cat << EOF > /tmp/bsdinstall_etc/fstab /dev/ada0 / ufs rw 1 1 EOF # exit
在 “網路設定(Network Configuration)” 視窗,不要設定任何網路介面。
在 “手動設定(Manual configuration)” 視窗, 開啟一個 “Shell”,然後輸入:
# mkdir /boot/grub # cat << EOF > /boot/grub/grub.cfg menuentry "FreeBSD" { insmod ufs2 set root=(hd0) kfreebsd /boot/loader } EOF # sed -i -e s/ada/da/ /etc/fstab # echo ifconfig_vtnet0=dhcp >> /etc/rc.conf # exit
然後,您可以將他加入伺服器中。
local $> gandi vm create --hostname freebsd-temp-config
local $> gandi disk create --name freebsd-system --vm freebsd-temp-config
local $> gandi vm ssh freebsd-temp-config
freebsd-temp-config #> # copy your FreeBSD image to the server, then: freebsd-temp-config #> dd if=freebsd.raw of=/dev/<freebsd-system>
local $> gandi vm create --hostname freebsd local $> gandi disk update freebsd-system --kernel grub local $> gandi vm ssh freebsd
freebsd #> uname -a > FreeBSD freebsd X.X-RELEASE FreeBSD X.X-RELEASE [...)
gandi-hosting-vm2
ifconfig_vtnet0=”-tso DHCP”
)
如果您的系統硬碟中有 MBR(主要開機磁區),您可以直接使用硬碟開機,這讓您可以使用自己的開機引導程式,例如您可以使用裸機的方式開機。
如果您使用 GRUB 的話就能避免一些 MBRs,磁區與低階的操作管理,當您直接對硬碟進行操作時都必須格外小心。
首先,使用 HVM 上面的映像檔建立一個虛擬機器:
local $> gandi vm create --name temphvm --datacenter=LU --image="Debian 7 64 bits (HVM)"
然後,建立並掛載一個新的硬碟到虛擬機器上。您將設定這顆硬碟可以開機。
local $> gandi disk create --vm temphvm --name rawbootdisk
使用暫時的虛擬機器來複製您的開機映像檔(譬如用 “dd”)。
一個好了,卸載虛擬機器中的硬碟然後修改 kernel 為 “raw”:
local $> gandi disk detach rawbootdisk local $> gandi disk update rawbootdisk --kernel raw local $> gandi vm delete temphvm
最後,建立一個新的虛擬機器然後將這個硬碟設定為系統碟:
local $> gandi vm create --datacenter LU --image rawbootdisk
如果您的虛擬機器在遷移到 HVM 之後無法開機,您可以將核心回復到 3.10(或是其他不是 HVM 的核心)然後開機試看看,或是將系統硬碟掛載到另外一台電腦進行檢查:
$ gandi disk detach my_boot_disk
)$ gandi vm create –hostname temphvmfix
)$ gandi disk attach my_boot_disk –vm temphvmfix
)$ gandi disk detach my_boot_disk
)$ gandi disk attach my_boot_disk –vm my_original_vm
)請 聯絡我們的支援團隊 來回報您遇到的任何問題。
您可以加入 #gandi 在 freenode 上的頻道來與我們的開發者與其他客戶交流。