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 上的频道来与我们的开发者与其他客户交流。