免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 15969 | 回复: 3
打印 上一主题 下一主题

[OpenStack] openstack nova 部署完整实例-参考手册-DRAFT-增强部分(2) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-07-08 14:47 |只看该作者 |倒序浏览
本帖最后由 openstack 于 2011-07-08 14:49 编辑

上接: openstack nova 部署完整实例-参考手册-DRAFT-基础部分



openstack 官方并没有提供一个完整的部署案例,并且官方手册上的描述也有不确切的地方。在初次接触openstack nova时,会遇到各种各样的问题。希望下面的描述能有所帮助。
本案例手册是在探索nova过程中写的。欢迎指出不正确或描述不确切的地方。下文中提到的有些文件,比如下面提到的补丁文件,请下载附件后,查找。


六, 用公网地址来访问我们的虚拟机。
   下面操作在控制节点上操作
root@novacc:~# euca-authorize -P icmp -t -1:-1 default
root@novacc:~# euca-authorize -P tcp -p 22 default
root@novacc:~# nova-manage floating create novacc 192.168.1.110/32
root@novacc:~# nova-manage floating list
novacc        192.168.1.110        None
root@novacc:~# euca-allocate-address
ADDRESS        192.168.1.110
root@novacc:~# euca-associate-address -i i-00000010 192.168.1.110
ADDRESS        192.168.1.110        i-0000001
root@novacc:~/dub# ssh -i mykey.priv  192.168.1.110
        The authenticity of host '192.168.1.110 (192.168.1.110)' can't be established.
        RSA key fingerprint is 7e:a0:05:8c:0c:f8:95:45:88:96:26:bf:6e:b7:13:9f.
        Are you sure you want to continue connecting (yes/no)? yes
        Warning: Permanently added '192.168.1.110' (RSA) to the list of known hosts.

        Chop wood, carry water.
#

七,自己制作linux镜像,
        一下操作在nova compute 节点上操作。 建议下面的镜像大小为2G。
(本章节来自'http://www.vpsee.com/2011/06/create-kvm-image-for-openstack-nova/', 并做了些小的修改)
1, 安装基本镜像
首先下载要安装的 ubuntu 版本:
$ wget http://releases.ubuntu.com/lucid/ubuntu-10.04.2-server-amd64.iso
创建一个 10GB 大小的 “硬盘”(raw 格式):
$ kvm-img create -f raw ubuntu.img 10G
Formatting 'ubuntu.img', fmt=raw size=10737418240
使用刚才下载的 ubuntu “安装盘” 和刚创建的 “硬盘” 引导启动系统,为了简单起见,VPSee 在这里使用 kvm 虚拟技术,避开 xen 繁琐的配置。-vnc 参数代表打开 vnc 访问,以便可以用其他机器远程登录到这个引导界面进行安装操作:
$ sudo kvm  -cdrom ubuntu-10.04.2-server-amd64.iso \
-drive file=ubuntu.img,if=scsi,index=0 -boot d -vnc :5
用 vncviewer 登录引导界面后按照屏幕的提示完成 ubuntu 的安装工作(和在自己电脑上安装 ubuntu 过程一样)。需要注意的是在分区阶段把 10GB 硬盘全部划分成一个 ext4 root 分区,不要创建多个分区也不要创建 swap 区:
$ vncviewer 192.168.1.102:5
安装完后退出(必要时 kill 掉 kvm 进程),按照下面命令启动刚刚安装好的虚拟机镜像 ubuntu.img,如果出现 failed to find romfile “pxe-rtf8139.bin” 的错误提示可以通过安装 kvm-pxe 解决:
$ sudo kvm -hda ubuntu.img -vnc :5
再次用 vnc 登录虚拟机镜像,安装一些必要工具(因为这个镜像将会是模板,所以最好保持最简最小化,不要乱装东西):
$ vncviewer 192.168.1.102:5
$ sudo update
$ sudo upgrade
$ sudo apt-get install openssh-server cloud-init
$ sudo shutdown -h now

2, 调整镜像
因为 OpenStack 只接受 ext4 文件系统格式的镜像,所以需要把上面创建的 raw 镜像(kvm-img create -f raw)转换成 ext4 镜像。下面的步骤用来找出镜像文件里面的分区起点是从哪里开始的:
$ sudo losetup -f ubuntu.img
$ sudo losetup -a
/dev/loop0: [fb00]:24117291 (/home/vpsee/ubuntu.img)
$ sudo fdisk -ul /dev/loop0
Disk /dev/loop0: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000502e6

Device Boot      Start         End      Blocks   Id  System
/dev/loop0p1   *        2048    20969471    10483712   83  Linux

上面最后一行显示分区是从扇区(sector)2048开始的,每个扇区是512个字节,所以是从 2048 x 512 = 1048576个字节开始的。记住这个1048576,下面会用到。
卸载 loop 后重新从1048576字节开始挂载:
$ sudo losetup -d /dev/loop0
$ sudo losetup -f -o 1048576 ubuntu.img
$ sudo losetup -a
/dev/loop0: [fb00]:24117291 (/home/vpsee/ubuntu.img), offset 1048576

把这整个分区拷贝到一个新文件就是一个我们要的 ext4 文件系统镜像:
$ sudo dd if=/dev/loop0 of=ubuntutemplate.img
20969472+0 records in
20969472+0 records out
10736369664 bytes (11 GB) copied, 107.455 s, 99.9 MB/s

用完 loop 后记得卸载:
$ sudo losetup -d /dev/loop0
挂载(mount)刚创建的 ext4 文件系统镜像,并修改分区加载表(/etc/fstab),注释或删除以前的,加上 UUID=uec-rootfs 一行:
$ sudo mount -o loop ubuntutemplate.img /mnt
$ sudo vi /mnt/etc/fstab
#UUID=1dc3a59e-faab-41ee-b232-3300163676bf / ext4 errors=remount-ro 0 1
UUID=uec-rootfs / ext4 defaults 0 0
把内核(vmlinuz)和内存盘(initrd)文件拷贝出来以便后面和虚拟机镜像一起发布到OpenStack 云里。使用完虚拟机镜像后记得卸载(unmount):
$ sudo cp /mnt/boot/vmlinuz-2.6.32-28-server /home/vpsee/
$ sudo cp /mnt/boot/initrd.img-2.6.32-28-server /home/vpsee/
$ sudo umount /mnt
把刚才的虚拟机镜像 ubuntutemplate.img 的文件系统标志改成 ‘uec-rootfs’:
$ sudo tune2fs -L uec-rootfs ubuntutemplate.img
tune2fs 1.41.14 (22-Dec-2010)

修改/etc/modules ,确保可以正常使用volume服务
$ echo 'acpiphp' >> /etc/modules

3, 发布镜像
首先配置环境变量
把nova cc节点上的环境变量文件复制过来。
scp -r 192.168.1.101:/root/dub /root
cd /root/dub/
. novarc
现在可以发布到云里了,需要3个东西,虚拟机的内核文件、虚拟机的内存盘文件和虚拟机镜像文件:
$ uec-publish-image -t image --kernel-file vmlinuz-2.6.32-28-server \
--ramdisk-file initrd.img-2.6.32-28-server amd64 ubuntutemplate.img mybucket
ami-00000006 mybucket/ubuntutemplate.img.manifest.xml
等待一段时间后出现 ami-00000006 mybucket/ubuntutemplate.img.manifest.xml, 这个时间可能比较长。 表示我们刚制作的镜像已经正式发布到云里,以后就可以以这个镜像为模板来快速生成虚拟机实例(instance)。可以通过 euca-describe-images 来查看:
$ euca-describe-images
IMAGE aki-00000001 mybucket/vmlinuz-2.6.32-28-server.manifest.xml availablpublic x86_64 kernel
IMAGE ari-00000002 mybucket/initrd.img-2.6.32-28-server.manifest.xml available public x86_64 ramdisk
IMAGE ami-00000003 mybucket/ubuntutemplate.img.manifest.xml untarring public x86_64 machine aki-00000001 ari-00000002


八, 制作windows镜像模板
        我们制作windows镜像模板的操作都在nova-compute节点上。
        1,创建一个硬盘,
                kvm-img create -f raw windowserver.img 2G
        2, 因为openstack在创建一个实例时用的是virtio的驱动,所以我们可以这样做,首先获得驱动:
        http://alt.fedoraproject.org/pub ... /latest/images/bin/
        然后用下面这种方式来安装基本的windows系统。
        kvm -cdrom win2k8_dvd.iso -drive file=windowsserver.img,if=virtio,boot=on -fda virtio-win-1.1.16.vfd -boot d  -vnc :0
  3,
        安装基本系统后,重新启动今日安装需要的应用,配置远程桌面和windows防火墙。

  5,
        发布我们的windows镜像模板。
        首先配置环境变量
        把nova cc节点上的环境变量文件复制过来。
        scp -r 192.168.1.101:/root/dub /root
        cd /root/dub/
        . novarc
        首先,要配置环境变量
        开始发布:
        euca-bundle-image -i windowsserver.img
        euca-upload-bundle -b mybucket -m /tmp/windowsserver.img.manifest.xml
        euca-register mybucket/windowsserver.img.manifest.xml
        pass
        6,
        生成windows实例说明,
        我们可以使用公网ip来访问我们的windows实例,
        下面操作要在novacc节点上,
        euca-authorize -P tcp -p 3389 default
        之后,我们就可以通过远程桌面来连接到这台windows实例。

九,让虚拟机可以使用逻辑卷
        我们假定我们的volume服务节点和novacc节点在同一个节点上。192.168.1.101。       
        下面操作没有特别说明都在novacc节点上操作。
1,配置volume服务器,操作在192.168.1.101。
        apt-get install lvm2 nova-volume

        Start off by issuing an fdisk command to your drive with the free space:
        fdisk /dev/sda
        Once in fdisk, perform the following commands:
        1. Press ‘n' to create a new disk partition,
        2. Press 'p' to create a primary disk partition,
        3. Press '1' to denote it as 1st disk partition,
        4. Either press ENTER twice to accept the default of 1st and last cylinder – to convert the
        remainder of hard disk to a single disk partition -OR- press ENTER once to accept the
        default of the 1st, and then choose how big you want the partition to be by specifying
        +size{K,M,G} e.g. +5G or +6700M.
        5. Press 't', then select the new partition you made.
        6. Press '8e' change your new partition to 8e, i.e. Linux LVM partition type.
        7. Press ‘p' to display the hard disk partition setup. Please take note that the first partition
        is denoted as /dev/sda1 in Linux.
        8. Press 'w' to write the partition table and exit fdisk upon completion.
        Refresh your partition table to ensure your new partition shows up, and verify with fdisk.
        partprobe
        fdisk -l (you should see your new partition in this listing)
        Here is how you can set up partitioning during the OS install to prepare for this nova-
        volume configuration:
        root@novacc:~# fdisk -l

        Disk /dev/sda: 1500.3 GB, 1500301910016 bytes
        255 heads, 63 sectors/track, 182401 cylinders
        Units = cylinders of 16065 * 512 = 8225280 bytes
        Sector size (logical/physical): 512 bytes / 512 bytes
        I/O size (minimum/optimal): 512 bytes / 512 bytes
        Disk identifier: 0x000348bb

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2432    19530752   83  Linux
/dev/sda2            2432       15486   104859519   8e  Linux LVM

2,
        创建nova-volumes组
root@novacc:~# pvcreate /dev/sda2 vgcreate nova-volumes /dev/sda2
Physical volume "/dev/sda2" successfully created
Device vgcreate not found (or ignored by filtering).
Device nova-volumes not found (or ignored by filtering).
Physical volume "/dev/sda2" successfully created

3, 配置iscsitarget
  默认情况下,iscsitarget安装后不会自动启动。
        sed -i ‘s/false/true/g’ /etc/default/iscsitarget
        service iscsitarget start

4, 配置/etc/nova/nova.conf
        分别修改novacc节点和nova compute节点上的/etc/nova/nova.conf。
        给/etc/nova/nova.conf添加一个选项,
        --iscsi_ip_prefix=192.168.1.

5,
        重启novacc节点上的nova-volume。
        service nova-volume restart
        重启nova compute节点上的nova-compute服务
        service nova-compute restart

6,
        检查服务:
        运行nova-manage service list 查看nova-volume服务是否成功启动,
        如下图,显示''为成功, 'xxx'表示不可用
        root@novacompute1:/# nova-manage service list
        novacc     nova-network enabled   2011-06-17 09:00:26
        novacc     nova-compute enabled  XXX 2011-06-17 02:06:03
        novacompute1 nova-compute enabled   2011-06-17 09:00:19
        novacc     nova-scheduler enabled   2011-06-17 09:00:26
        novacc     nova-volume enabled   2011-06-17 09:00:23
        创建逻辑卷,并使用
        euca-create-volume -s 7 -z nova
        (-s refers to the size of the volume in GB, and -z is the default zone (usually nova))
        上面的命令执行后的输出就像下面这样:
        VOLUME         None)         vol-0000000b         7         creating (wayne, None, None,                         2011-02-11 06:58:46.941818                         You can view that status of the volumes creation using ‘euca-describe-volumes’.  On
        把创建的一个逻辑卷分给一个镜像使用:
        euca-attach-volume vol-00000009 -i i-00000008 -d /dev/vdb
        执行完上面这个命令后,就可以登录到指定的虚拟机里面,执行fdisk -l就会发现新加了一个磁盘。

goldfish.zip

680.67 KB, 下载次数: 141

论坛徽章:
0
2 [报告]
发表于 2011-08-24 09:47 |只看该作者
这这这,这资料太新鲜啦, mark一下

论坛徽章:
0
3 [报告]
发表于 2012-04-01 09:21 |只看该作者
怎么设置网络能够使局域网内的机器直接访问到虚拟机啊?

论坛徽章:
0
4 [报告]
发表于 2012-07-04 22:23 |只看该作者
回复 3# wczt_123


   该成同一网段就可以了呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP