1. 背景:
近期由于项目和个人学习得需求,开始接触到Cloudstack,虽然云计算概念在大学刚毕业的时候就已经略有耳闻,但是由于工作原因,也一直没有了解,下班后想自己折腾下cloudstack,便开始在虚拟机上开始研究;
 
2. 软件准备
1. Workstation 12.0
2. Centos7.2(用于安装cloudstack)
3. Xenserver 6.5的iso镜像+Xenserver 6.5的补丁+Xencenter6.5
4. mysql 5.7社区版
 
3. 系统容量规划
1. cloudstack-management:内存1.5G,CPU2核,硬盘2个(20G+50G)
2. Xenserver:内存2G,CPU2核,硬盘2个(20G+50G)
PS:由于本人的笔记本最大只支持8G,所以这里得配置开起来都到90%了,建议有能力的都加高配置;
 
 4实施安装
4.1 Centos7.2安装,操作系统的安装,这个就不在本文详细介绍;
4.2 使用workstation安装Xenserver 6.5
4.2.1 workstation创建两台虚拟机,配置如第3点规划,重要的是两台配置必须一样,然后必须开启虚拟化功能;

4.2.2 开始安装Xenserver 6.5,安装可以参考该链接,系统就安装在20G的硬盘即可
4.3 为Xenserver6.5打补丁
可以按照官网的打补丁方式,我这边直接将补丁文件上传到了xenserver,使用脚本进行安装 ./xs_patcher.sh
4.4 初始化本地硬盘,否则无法使用本地模式
查看硬盘
[root@xenserver-1 ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb
初始化硬盘(host-uuid使用xe host-list获得)
xe sr-create content-type=user device-config:device=/dev/<sdx> host-uuid=<62018586-4e8c-441b-ad6b-6217042d7dd5> name-label="Local Storage 2" shared=false type=lvm
进行上述操作,就可以将新建的硬盘进行sr的初始化;
初始化后,可以使用命令查询xe sr-list
[root@xenserver-1 ~]# xe sr-list
....
.....
uuid ( RO) : b543c967-d60c-d1b7-22b8-a34627fc87d5
name-label ( RW): Local Storage 2
name-description ( RW):
host ( RO): xenserver-1
type ( RO): lvm
content-type ( RO): user
在xencenter也是可以看到识别出来一个local storage 2

4.5 使用Xencenter加载Xenserver
PS:Xencenter是citrix的一款图形化管理Xenserver的软件,这样可以方便在图形化对Xenserver进行一些基本配置,而不用使用特性xe命令进行操作xenserver
4.2.5.1 添加两台Xenserver到同一个池中,第一台添加的Xenserver将作为Master

添加过程中,发现无法将Xenserver2添加进到pool,看Xencenter得报错,提示无法访问Xenserver2,登录任意一台Xenserver,互相ping对方,发现都是不通的;
通过抓包,发现一些怪异的地方
[root@xenserver-1 ~]# tcpdump -i eth0 host 10.0.0.254 and 10.0.0.253
tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
08:55:19.311911 IP 10.0.0.254 > 10.0.0.253: ICMP echo request, id 27419, seq 139, length 64
08:55:19.312621 IP 10.0.0.253 > 10.0.0.254: ICMP echo reply, id 27419, seq 139, length 64
08:55:20.312036 IP 10.0.0.254 > 10.0.0.253: ICMP echo request, id 27419, seq 140, length 64
[root@xenserver-1 ~]# tcpdump -i xenbr0 host 10.0.0.254 and 10.0.0.253
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on xenbr0, link-type EN10MB (Ethernet), capture size 65535 bytes
08:53:51.196126 IP 10.0.0.254 > 10.0.0.253: ICMP echo request, id 27419, seq 51, length 64
08:53:52.196654 IP 10.0.0.254 > 10.0.0.253: ICMP echo request, id 27419, seq 52, length 64
08:53:53.196030 IP 10.0.0.254 > 10.0.0.253: ICMP echo request, id 27419, seq 53, length 64
[root@xenserver-1 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
4: xenbr0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether 00:0c:29:4d:ad:2b brd ff:ff:ff:ff:ff:ff
inet 10.0.0.254/24 brd 10.0.0.255 scope global xenbr0
valid_lft forever preferred_lft forever
[root@xenserver-1 ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:4D:AD:2B
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4917 errors:0 dropped:0 overruns:0 frame:0
TX packets:2958 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3305879 (3.1 MiB) TX bytes:5085020 (4.8 MiB)
可以看到,安装好Xenserver后,会多了一个虚拟网卡xenbr0,并且将eth0的地址赋予了xenbr0;
可是抓包的时候,却发现ping包是发送到了两个网卡,但是回包却是用eth0(没有IP地址)网卡,而不是用Xenbr0;后来研究了好久,包括重启,重装等,都无法解决问题,最终在xenserver中启用emerged network重新配置网卡信息,重启后即可。。反正是挺奇怪的;

 
 
配置enter就会自动重启,重启完就可以互相ping通了,此时就能把两台xenserver添加到同一个pool内
4.6 添加网络标签,后期为了能在cloudstack中指定流量转发;

4.7 安装Cloudstack-management
PS:强烈建议按照官网的安装手册进行,不要按自己的想法理所当然去做,当然,我按照官网的也是不行,郁闷~~~,要修改的地方我会指出;
 
特别注意的地方:
1. MYSQL我是直接使用yum源安装,mysql官网有说明
2. yum install mysql-community-server我是安装了社区版,没有按照官网下载的是完整版,因为我安装完整版本的时候,启动mysql总是会报错,但是mysql日志却是空的。。折腾了好久,找不到解决方案就换成了社区版,直接start就可以了;
3. cloudstack文档里面的NFS配置文件/export *(rw,async,no_root_squash,no_subtree_check),我发现不能这么写,必须要写详细路径/export/secondary *(rw,async,no_root_squash,no_subtree_check)
4. cloudstack的防火墙建议关闭,否则nfs挂在很多问题
5. 我原计划并不是使用本地存储模式的,而是使用cloudstack-management同时作为主存储(/export/primary)和二级存储(/export/secondary),但是在cloudstack添加主存储无论如何也加不进去,后来放弃改成本地存储;
6. cloudstack-management初始化使用cloudstack-setup-management,如果是tomcat7的就必须要为
cloudstack-setup-management --tomcat7来初始化,然后在使用systemctl start cloudstack-management启动服务,但是我发现只要重启了cloudstack,http页面就一直无法显示,端口8080都监听了,必须要用cloudstack-setup-management --tomcat7再次初始化后,页面才可以打开;未解之谜;
4.8 http配置cloudstack
4.8.1 使用http://x.x.x.x:8080/client访问cloudstack的主界面,初始用户名admin和密码password
4.8.2 添加zone

 
选择高级网络

 
注意要选择本地模式

 
编辑流量标签,这里填xencenter修改后的标签

根据规划,配置公共网络、pod、guest网络
 

设置集群名称

 
添加host主机

 
设置二级存储,这里路径要写/export/secondary,不能加主机,cloudstack4.01版本是需要加地址的,当时按照4.01添加了主机地址,发现二级存储虚拟机无法启动个,看日志发现路径不对才发现这个问题

最后执行即可
 
等cloudstack执行完,检查dashboard和系统虚拟机状态(都为running),那么就说明没问题了;

【原创】使用workstation安装Xenserver 6.5+cloudstack 4.10----本地存储模式的更多相关文章

  1. VMware Workstation安装RedHat Linux 9

    RedHatLinux是目前世界上使用最多的Linux操作系统.因为它具备最好的图形界面无论是安装.配置还是使用都十分方便.下面我将介绍使用VMware Workstation安装RedHat Lin ...

  2. 如何使用USB安装XenServer 6.x

    在XenServer 5.6以前我们能够很容易的通过一些工具,直接制作USB安装介质,然后快速安装XenServer,但是我们发现,到XenServer6.0以后,通过工具直接制作的XenServer ...

  3. vmware workstation安装教程以及其中出现的错误解决方法

    VMware Workstation 安装教程   1 下载好虚拟机,然后运行,点击下一步 2 选择我接受,下一步 3 选择安装的位置,可以自己选择,也可以默认不更改,这个无影响(图中I:\下面的VM ...

  4. VWware Workstation 安装CentOS系统

    VWware Workstation 安装CentOS系统 下载CentOS系统镜像: 官方地址:https://www.centos.org/download/mirrors/ 在此可选择华为云服务 ...

  5. 环境篇:VMware Workstation安装Centos7

    环境篇:VMware Workstation安装Centos7 1 VMware Workstation安装 CentOS下载地址:http://isoredirect.centos.org/cent ...

  6. VMware Workstation安装centos

    begin 2020年7月4日16:32:34 今天我们是食神,来做一道菜,名曰VMware Workstation安装centos. 首先我们需要准备好锅和食材. 锅和食材 锅:VMware Wor ...

  7. VMware9虚拟机安装MAC OS X Mountain Lion 10.8.2详细图文教程

    VMware虚拟机安装Mac OS X Mountain Lion 10.8.2所需文件:1.Vmware 9.01版下载:点击进入2.Vmware 9.01版汉化文件:点击进入3.VMware Wo ...

  8. Eclipse的下载、安装和WordCount的初步使用(本地模式和集群模式)

    包括:    Eclipse的下载 Eclipse的安装 Eclipse的使用 本地模式或集群模式 Scala IDE for Eclipse的下载.安装和WordCount的初步使用(本地模式和集群 ...

  9. IntelliJ IDEA的下载、安装和WordCount的初步使用(本地模式和集群模式)

    包括: IntelliJ IDEA的下载  IntelliJ IDEA的安装 IntelliJ IDEA中的scala插件安装 用SBT方式来创建工程 或 选择Scala方式来创建工程 本地模式或集群 ...

随机推荐

  1. 固定GridView标题栏,冻结列功能实现

    <%@ Page Language="C#" %> <%@ Import Namespace="System.Data" %> < ...

  2. dotweb框架之旅 [二] - 常用对象-App(dotweb)

    dotweb属于一个Web框架,希望通过框架行为,帮助开发人员快速构建Web应用,提升开发效率,减少不必要的代码臃肿. dotweb包含以下几个常用对象: App(dotweb) App容器,为Web ...

  3. Qt+VS2015应用程序发布

    本文以Qt 5.9.1+VS2015编译环境为例介绍应用程序发布流程,也适用于Qt+mingw的情况. 1. Qt依赖库 将需要发布的exe(如test.exe),放到单独的目录. 在"开始 ...

  4. 【转载】quickLayout.css-快速构建结构兼容的web页面

    文章转载自 张鑫旭-鑫空间-鑫生活 http://www.zhangxinxu.com/wordpress/ 原文链接:http://www.zhangxinxu.com/wordpress/?p=4 ...

  5. 【学习】条码扫描器:QuaggaJS

    QuaggaJS是条形码扫描器完全用JavaScript编写,支持实时对各类条码进行定位和解码,如EAN和CODE128.该库还能够使用getUserMedia获得直接访问用户的摄像头流.为了充分利用 ...

  6. 怎么用SQL语句备份和恢复数据库?

    BACKUP DATABASE "mydb" TO DISK ='C:\mybak.db' with init RESTORE DATABASE "mydb" ...

  7. 分布式学习(一)——基于ZooKeeper的队列爬虫

    zookeeper 一直琢磨着分布式的东西怎么搞,公司也没有相关的项目能够参与,所以还是回归自己的专长来吧--基于ZooKeeper的分布式队列爬虫,由于没什么人能够一起沟通分布式的相关知识,下面的小 ...

  8. mybatis like 的坑

    昨天快要下班的时候组长交代了一个任务,说起来很简单,是这样的: 系统里面有一个字段为name,这个name允许设置为特殊字符,目前根据name模糊匹配,如果遇到特殊字符 比如 "$" ...

  9. 聊聊java基础,int值强制类型转换成byte

    聊聊java基础,int值强制类型转换成byte 知识点:byte.short.char在表达式中会自动提升为int 之前做一个应用时,打印IP地址,因为是用4个byte存储的,所以打印的时候值范围是 ...

  10. input file选择图片后 预览

    很多前端都选择用插件来实现图片预览,这个小功能也可以很简单的用jQuery来实现 简单的jQuery实现input file选择图片后,可以预览图片的效果 简单的HTML代码: <div> ...