设为首页 收藏本站
查看: 2478|回复: 0

[经验分享] Cloudstack+Glusterfs+Kvm 集群(笔记)

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2016-4-13 13:17:38 | 显示全部楼层 |阅读模式
一、环境介绍:
Cloudstack-Management:10.12.0.10
Gluster-Management:10.12.0.11
Node:10.12.0.12
Node:10.12.0.13

Node:10.12.0.14

Node:10.12.0.15

Node:10.12.0.16

Node:10.12.0.17

Node:10.12.0.18

Node:10.12.0.19

Node:10.12.0.20

Node:10.12.0.21

Node:10.12.0.22

Node:10.12.0.23

Node:10.12.0.24

Node:10.12.0.25

Node:10.12.0.26

二 、安装:

    首先搭建Glusterfs存储环境(10.12.0.11):


Glusterfs 分部式存储搭建:
wget -P /etc/yum.repos.d/ http://download.gluster.org/pub/ ... glusterfs-epel.repo
yum -y install epel-release.noarch
yum clean all
yum makecache
yum -y install glusterfs glusterfs-server
添加服务并启动:
chkconfig glusterd on

service glusterd start

创建卷目录
mkdir -p /home/primary  (建立用于主存的文件目录)

mkdir -p /home/secondary  (建立用于辅存的文件目录)

mkdir -p /home/ctdb        (建立用于ctdb的文件目录)
sed -i "/OUTPUT/a -A INPUT -s 10.12.0.0/16 -j ACCEPT" /etc/sysconfig/iptables

添加Gluster节点:
gluster peer probe 10.12.0.12

gluster peer probe 10.12.0.13

gluster peer probe 10.12.0.14

gluster peer probe 10.12.0.15

gluster peer probe 10.12.0.16

gluster peer probe 10.12.0.17

gluster peer probe 10.12.0.18

gluster peer probe 10.12.0.19

gluster peer probe 10.12.0.20

gluster peer probe 10.12.0.21

gluster peer probe 10.12.0.22

gluster peer probe 10.12.0.23

gluster peer probe 10.12.0.24

gluster peer probe 10.12.0.25

gluster peer probe 10.12.0.26

查看节点状态:
gluster peer status

gluster volume info


创建虚拟卷:
gluster volume create 虚拟卷名 stripe 3 replica 2 10.12.0.12:/home/primary

{
distribute分布式, stripe条带式, replica副本式,可叠加组合

“replica 2”表示每个文件保存为两个副本,最少需要2台服务器。

“stripe 2 replica 2”表示每个文件切成条保存到2个地方,且保存为两个副本,最少需要4台服务器。

如果卷目录位于根分区下,后面要加force

}

例:
gluster volume create primary stripe 8 replica 2 10.12.0.11:/home/primary/ 10.12.0.12:/home/primary/ 10.12.0.13:/home/primary/ 10.12.0.14:/home/primary/ 10.12.0.15:/home/primary/ 10.12.0.16:/home/primary/ 10.12.0.17:/home/primary/ 10.12.0.18:/home/primary/ 10.12.0.19:/home/primary/ 10.12.0.20:/home/primary/ 10.12.0.21:/home/primary/ 10.12.0.22:/home/primary/ 10.12.0.23:/home/primary/ 10.12.0.24:/home/primary/ 10.12.0.25:/home/primary/ 10.12.0.26:/home/primary/
gluster volume create secondary stripe 8 replica 2 10.12.0.11:/home/secondary/ 10.12.0.12:/home/secondary/ 10.12.0.13:/home/secondary/ 10.12.0.14:/home/secondary/ 10.12.0.15:/home/secondary/ 10.12.0.16:/home/secondary/ 10.12.0.17:/home/secondary/ 10.12.0.18:/home/secondary/ 10.12.0.19:/home/secondary/ 10.12.0.20:/home/secondary/ 10.12.0.21:/home/secondary/ 10.12.0.22:/home/secondary/ 10.12.0.23:/home/secondary/ 10.12.0.24:/home/secondary/ 10.12.0.25:/home/secondary/ 10.12.0.26:/home/secondary/
启动卷:
gluster volume start primary

gluster volume start secondary

设置访问权限:
gluster volume set primary auth.allow 10.12.0.*  (设置允许访问的地址,如果有多个地址可以用逗号连接,不设置,默认允许所有)

gluster volume set secondary auth.allow 10.12.0.*



搭建ctdb来使用nfs共享:
安装ctdb(此操作也在:10.12.0.11上):
yum install nfs-utils

yum install ctdb

创建本地挂载Glusterfs的secondary卷目录并挂载:
mkdir /secondary
mount -t glusterfs 10.12.0.11:/secondary /secondary
修改开机自动挂载:在/etc/fstab的后面一行加入以下:
vim /etc/fstab

192.168.30.239:/secondary /secondary          glusterfs defaults      0 0

创建ctdb配置文件:
1、创建nfs文件:
    mv /etc/sysconfig/nfs /etc/sysconfig/nfs.bak
    vim /secondary/nfs

CTDB_MANAGES_NFS=yes
NFS_TICKLE_SHARED_DIRECTORY=/secondary/nfs-tickles
STATD_PORT=595
STATD_OUTGOING_PORT=596
MOUNTD_PORT=597
RQUOTAD_PORT=598
LOCKD_UDPPORT=599
LOCKD_TCPPORT=599
STATD_SHARED_DIRECTORY=/secondary/lock/nfs-state
NFS_HOSTNAME="Node11.test.com"
STATD_HOSTNAME="$NFS_HOSTNAME -P "$STATD_SHARED_DIRECTORY/$PUBLIC_IP" -H /etc/ctdb/statd-callout -p 97"
RPCNFSDARGS="-N 4"


2、创建NFS配置文件:
ln -s /secondary/nfs /etc/sysconfig/nfs


3、创建NFS共享目录配置文件:
vi /secondary/exports


/secondary  *(fsid=1235,insecure,rw,async,no_root_squash,no_subtree_check)


rm -rf /etc/exports
ln -s /secondary/exports /etc/exports

添加防火墙规则:
vim /etc/sysconfig/iptables
-A INPUT -s 10.12.0.0/16 -m state --state NEW -p udp --dport 111 -j ACCEPT-A INPUT -s -A INPUT -s -A INPUT -s -A INPUT -s -A INPUT -s -A INPUT -s -A INPUT -s -A INPUT -s -A INPUT -s -A INPUT -s

创建ctdb配置文件,同样是放到存储卷里面,给其他服务器共用:

vim /secondary/ctdb

CTDB_RECOVERY_LOCK=/secondary/lockfile
CTDB_PUBLIC_INTERFACE=eth0
CTDB_PUBLIC_ADDRESSES=/secondary/public_addresses
CTDB_MANAGES_NFS=yes
CTDB_NODES=/secondary/nodes
CTDB_DEBUGLEVEL=ERR


(注;ctdb可能是对网桥模式有干扰,建议使用“直连”网卡:即:eth0-3)

mv /etc/sysconfig/ctdb /etc/sysconfig/ctdb.bak
ln -s /secondary/ctdb /etc/sysconfig/ctdb

创建ctdb虚拟地址(VIP):
vim /secondary/public_addresses

10.12.0.10/24 eth0


创建ctdb节点文件:
vim /secondary/nodes

10.12.0.11
10.12.0.12
10.12.0.13

10.12.0.14

10.12.0.15

10.12.0.16

10.12.0.17

10.12.0.18

10.12.0.19

10.12.0.20

10.12.0.21

10.12.0.22

10.12.0.23

10.12.0.24

10.12.0.25

10.12.0.26

设置开机启动并启动:
chkconfig ctdb on

chkconfig nfs off

/etc/init.d/ctdb start


查看ctdb信息:
ctdb status


ctdb ping -n all

ctdb ip
Public IPs on node 1
10.10.10.15 node[0] active[] available[eth0] configured[eth0]  (显示10.10.10.15这个接口地址正工作在node0上)

ctdb pnn
PNN:1      (自己是node1)


以下操作是在所有节点服务器上操作(即:12---26)
yum -y install nfs-utils

yum -y install ctdb
mkdir /secondary

mount -t glusterfs 10.12.0.11:/secondary /secondary

修改开机自动挂载:在/etc/fstab的后面一行加入以下:
vim /etc/fstab

192.168.30.239:/secondary /secondary            glusterfs defaults      0 0
mv /etc/sysconfig/nfs /etc/sysconfig/nfs.bak

ln -s /secondary/nfs /etc/sysconfig/nfs


rm -rf /etc/exports
ln -s /secondary/exports /etc/exports

mv /etc/sysconfig/ctdb /etc/sysconfig/ctdb.bak
ln -s /secondary/ctdb /etc/sysconfig/ctdb

设置开机启动并启动:
chkconfig ctdb on

chkconfig rpcbind on
chkconfig nfs off

/etc/init.d/ctdb start
最后再重启下10.12.10.11这台机器的ctdb:
/etc/init.d/ctdb restart
ctdb status

ctdb ping -n all

ctdb ip

ctdb pnn


使用ip r查看下是否有VIP:
ip r


测试:
找任何一台机器,mount上后创建一个文件,查看其它机器上是否已经写入;
例:
mount -t nfs 10.12.0.10:/secondary /mnt
touch /mnt/a.txt
在其它节点(12--26)上安装操作:

wget -P /etc/yum.repos.d/ http://download.gluster.org/pub/ ... glusterfs-epel.repo
yum -y install epel-release.noarch
yum clean all
yum makecache
yum -y install glusterfs glusterfs-server
chkconfig glusterd on

service glusterd start

在 Cloudstack-Management:10.12.0.10上安装:
网络配置

使用脚本脚本修改:
脚本下载地址:http://pan.baidu.com/s/1pLaNjZ1

或 使用以下方式修改:
cd /etc/sysconfig/network-scripts/
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-cloudbr0
DEVICE="cloudbr0"
BOOTPROTO="static"
MTU="1500"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Bridge"
IPADDR=172.16.0.2
NETMASK=255.255.0.0
GATEWAY=172.16.0.1
DNS1=223.5.5.5
EOF
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-cloudbr1
DEVICE="cloudbr1"
BOOTPROTO="static"
MTU="1500"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Bridge"
IPADDR=10.10.0.2
NETMASK=255.255.0.0
EOF
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-cloudbr2
DEVICE="cloudbr2"
BOOTPROTO="static"
MTU="1500"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Bridge"
IPADDR=10.11.0.2
NETMASK=255.255.0.0
EOF
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-cloudbr3
DEVICE="cloudbr3"
BOOTPROTO="static"
MTU="1500"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Bridge"
IPADDR=10.12.0.2
NETMASK=255.255.0.0
EOF
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
BRIDGE=cloudbr0
EOF
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
TYPE="Ethernet"
ONBOOT="yes"
NM_CONTROLLED="yes"
BOOTPROTO="static"
BRIDGE="cloudbr1"
EOF
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE="eth2"
TYPE="Ethernet"
ONBOOT="yes"
NM_CONTROLLED="yes"
BOOTPROTO="static"
BRIDGE="cloudbr2"
EOF
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth3
DEVICE="eth3"
TYPE="Ethernet"
ONBOOT="yes"
NM_CONTROLLED="yes"
BOOTPROTO="static"
BRIDGE="cloudbr3"
EOF

chkconfig network on
service network restart
(注:以上这些命令需要在每个Node节点上去操作,桥接网卡信息,因为cloudstack要求必须桥接网卡)



主机名

Cloudstack要求正确设置主机名,如果安装时您接受了默认选项,主机名为localhost.localdomain,输入如下命令可以进行验证


hostname --fqdn在此处将返回:


localhost
为了纠正这个问题,需设置主机名,通过编辑/etc/hosts 文件,将其更改为类似如下内容:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6172.16.0.2 srvr1.cloud.priv
更改配置文件后,重启网络服务:


service network restart
通过hostname –fqdn命令重新检查主机名,并确认返回了正确的FQDN


SELinux

当前的CloudStack需要将SELinux设置为permissive才能正常工作,您需要改变当前配置,同时将该配置持久化,使其在主机重启后仍然生效。
在系统运行状态下将SELinux配置为permissive需执行如下命令:
setenforce 0为确保其持久生效需更改配置文件/etc/selinux/config,设置为permissive,如下例所示:

# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - No SELinux policy is loaded.SELINUX=permissive# SELINUXTYPE= can take one of these two values:# targeted - Targeted processes are protected,# mls - Multi Level Security protection.SELINUXTYPE=targeted
NTP
为了同步云平台中主机的时间,需要配置NTP,但NTP默认没有安装。因此需要先安装NTP,然后进行配置。通过以下命令进行安装:

yum -y install ntp实际上默认配置项即可满足的需求,仅需启用NTP并设置为开机启动,如下所示:

chkconfig ntpd on service ntpd start管理服务器安装
接下来进行CloudStack管理节点和相关工具的安装。
数据库安装和配置
首先安装MySQL,并对它进行配置,以确保CloudStack运行正常。
运行如下命令安装:
yum -y install mysql-serverMySQL安装完成后,需更改其配置文件/etc/my.cnf。在[mysqld]下添加下列参数:

innodb_rollback_on_timeout=1innodb_lock_wait_timeout=600max_connections=350log-bin=mysql-binbinlog-format='ROW'
正确配置MySQL后,启动它并配置为开机自启动:

service mysqld startchkconfig mysqld on(为安全起见,建议修改mysql的root密码,默认为空)
安装Cloudstack首先下载Cloudstack的RPM包:
下载地址:
http://pan.baidu.com/s/1eRCdaYu
下载完成后,完速的安装目录为:
spacer.jpg
如果安装包不正确,请留言索取正确的安装包!
现在将要开始安装管理服务器。执行以下命令:

yum -y localinstall cloudstack-awsapi-4.4.1-NONOSS_3.el6.x86_64.rpm cloudstack-cli-4.4.1-NONOSS_3.el6.x86_64.rpm cloudstack-common-4.4.1-NONOSS_3.el6.x86_64.rpm cloudstack-management-4.4.1-NONOSS_3.el6.x86_64.rpm cloudstack-usage-4.4.1-NONOSS_3.el6.x86_64.rpm
在程序执行完毕后,需初始化数据库,通过如下命令和选项完成:

cloudstack-setup-databases cloud:password@localhost --deploy-as=root
当该过程结束后,您应该可以看到类似信息:”CloudStack has successfully initialized the database.”。
数据库创建后,最后一步是配置管理服务器,执行如下命令:
cloudstack-setup-management上传系统模板
CloudStack通过一系列系统虚拟机提供功能,如访问虚拟机控制台,如提供各类网络服务,以及管理辅助存储的中的各类资源。该步骤会获取系统虚拟机模板,用于云平台引导后系统虚拟机的部署。
然后需要下载系统虚拟机模板,并把这些模板部署于刚才创建的辅助存储中;管理服务器包含一个脚本可以正确的操作这些系统虚拟机模板:
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \-m /secondary \-f /soft/systemvm64template-4.4.1-7-kvm.qcow2.bz2 \
-h kvm -F至此,Management就已经安装完成,以下在所以的Node节点上操作:

yum -y localinstall cloudstack-common-4.4.1-NONOSS_3.el6.x86_64.rpm cloudstack-agent-4.4.1-NONOSS_3.el6.x86_64.rpm
启动服务:
/etc/init.d/cloudstack-agent start


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-203602-1-1.html 上篇帖子: glusterfs 的存储卷类型 下篇帖子: GlusterFS的基础应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表