为 OpenNebula VM 添加 swap 分区
2011年12月23日 | 标签: opennebula, swap, ubuntu | 作者:vpsee
给 OpenNebula 制作 Ubuntu 模板的时候推荐只分一个单独区,不要交换区(swap),交换区可以以后在虚拟机外部由 OpenNebula 加上,这样把 root 区和 swap 区分开更灵活一些,方便以后创建不同大小 swap 的虚拟机。以下是在 OpenNebula 上为 Ubuntu 虚拟机增加 swap 的步骤:
修改 Ubuntu 模板文件,注意 DISK 一栏的 target 是 sda 不是 sda1,否则会出现 Boot Failed: 的错误。
$ vi ubuntu.one NAME = ubuntu CPU = 1 MEMORY = 512 OS = [ ARCH = x86_64, BOOT = hd, ROOT = sda1 ] DISK = [ source = /var/lib/one/images/ubuntu.img, clone = no, target = sda, readonly = no ] DISK = [ type = swap, size = 512, target = sdb ] GRAPHICS = [ type ="vnc", listen ="0.0.0.0", port = "5900" ]
启动 Ubuntu 虚拟机后,OpenNebula 就为这个虚拟机准备了一个大小为 512MB 的分区 /dev/sdb,现在登录虚拟机激活这个 swap,这样 Linux 就能识别 /dev/sdb 是个交换分区了(这个过程其实和在自己电脑上增加交换分区或用文件充当交换分区的过程差不多):
$ vncviewer 172.16.39.111:5900 $ sudo swapon /dev/sdb $ free total used free shared buffers cached Mem: 504112 90896 413216 0 11440 33160 -/+ buffers/cache: 46296 457816 Swap: 524284 0 524284
最后可以在 /etc/fstab 里增加一条记录以便重启虚拟机以后系统能自动加上 swap:
$ sudo vi /etc/fstab /dev/sdb none swap sw 0 0