虚拟机给工作带来巨大的便利,不仅仅体现在资源的按需使用,而且配置的迁移特别方便。本文将使用Ubuntu 14.04 Desktop版本创建RedHat 64 Enterprise Server(RHEL64)虚拟机。
1 准备好安装光盘镜像
rhel-server-6.4-x86_64-dvd.iso
2 打开虚拟机管理器
尽管可以用命令行的方式创建虚拟机,但是本着简单事情简单做的原则,我使用virt-manager创建虚拟机。在Ubuntu上打开一个终端,输入下面的命令打开虚拟机管理器(一个类似virtual box的东西,如果提示找不到这个东西,就apt-get install吧):
$ sudo virt-manager
3 开始创建安装过程
a. 按 Create a new virtual machine按钮,输入name: RHEL64-origin
我喜欢创建一个干净的虚拟机,用这个作为源,然后以后用到的时候就从这个源克隆。一般我创建好这个虚拟机,只安装jdk和gcc两个东西。因此我把这个机器的名字叫做origin。然后按Forward。
b. 在Use ISO image:栏目里填入你的iso地址,我的是:
c. 然后下一步输入内存大小和CPU数目。这些参数可以在虚拟机创建之后调整。此时我输入4096MB内存和2个CPU。只有此时不比Host机器的物理内存/CPU多,都可以。
d. 然后进入下一步创建磁盘镜像。此时需要谨慎。需要考虑将来的可扩充。比如在这里你指定一个128GB的磁盘镜像,它真的会在你的硬盘上创建出这个128GB的文件来。首先你的硬盘必须有这么大的空间容纳这个镜像文件。这个镜像文件是RAW格式的,因此它不会压缩。那么如果我们需要创建10个虚拟机怎么办?先留着这个待解决的问题。假定物理硬盘可用空间是700GB,我们准备将来存放10到20个虚拟机,每个虚拟机硬盘空间128GB。此时我们可以输入128GB。选中Allocate entire disk now。按下一步。然后弹出一个统计报告,不用管它,按Finish。进入Redhat安装界面。这个我就不多说了。
e. 一路Next,确认 discard any data。当要求输入hostname,输入RHEL64-origin,按Configure Network,设置eth0网络为Connect automatically。
f. 在 Whick type of installion would you like?出现时,选择Create Custum Layout。也就是自己分区。128GB的总数分区为:
1024MB—/boot—-Primary
8192MB—swap
8192MB—/tmp
16384MB—/home
余下的都是 — /
4 转换文件格式
虚拟机的镜像文件为:
/var/lib/libvirt/images/RHEL64-origin.img
这是raw格式的,占用空间=128GB。因此需要转为qcow2格式的。进入RHEL64-origin.img所在目录,运行命令:
$ sudo qemu-img convert -O qcow2 RHEL64-origin.img RHEL64-origin.qcow2
就生成了仅有2GB大小的RHEL64-origin.qcow2。
然后更改虚拟机配置文件:
$ sudo vi /etc/libvirt/qemu/RHEL64-origin.xml
找到:
type=’raw’=>type=’qcow2′
RHEL64-origin.img=>RHEL64-origin.qcow2
结果如下:
<disk type=’file’ device=’disk’>
<driver name=’qemu’ type=’qcow2’/>
<source file=’/var/lib/libvirt/images/RHEL64-origin.qcow2’/>
<target dev=’vda’ bus=’virtio’/>
<address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x05′ function=’0x0’/>
</disk>
$ sudo virsh define RHEL64-origin.xml
$ sudo virsh list –all
$ sudo virsh start RHEL64-origin
给host机器添加ip和hostname映射,加快虚拟机ssh登录速度:
#vi /etc/hosts
# virt-machine
192.168.122.178 rehl64-org
$ ssh@rehl64-org
登录进虚拟机:
[root@RHEL64-origin ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda6 94G 1.8G 87G 2% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/vda1 1008M 60M 898M 7% /boot
/dev/vda2 16G 172M 15G 2% /home
/dev/vda3 7.9G 146M 7.4G 2% /tmp
[root@RHEL64-origin ~]#
成功。可以删除文件:
$ sudo rm -fr /var/lib/libvirt/images/RHEL64-origin.img
以上操作完全可以命令行方式,参考:http://www.linuxidc.com/Linux/2014-08/105140.htm
5 后记
【菜鸟玩云计算】系列博文到此算告一段落。从2012年10月开始写到现在,已经一年半多了。如果完整地看过来并实践,可以收获很多。接下来准备进入云计算领域更深的层次:软件定义网络。因为我们创建了大量的虚拟机,而这些虚假机如何组成一个大的网络。我们多数时候选择bridge(网桥)的方式,让虚拟机和主机在一个网段上,这样虚拟机可以当作整个网络的一台主机。如果采用NAT的方式,每个主机都是一个子网,每个主机内的虚拟机都是子网内互通的机器。NAT的方式,不同主机之间的虚拟机无法相互访问,需要网关将它们组成一个网络。
软件定义网络相关技术可以解决上述问题。有了可定义的网络基础设施,有了虚拟机,物理机组成的云计算的底层,共同构成了IaaS的基础设施。然后才是以Hadoop为核心的各种云平台软件。至于到在云上开发和部署具体业务代码,相对简单多了。
更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2
更多RedHat相关信息见RedHat 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=10
本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-08/105141.htm