Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10197789
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: 云计算

2015-07-20 12:50:23


Cloudstack 部署 keepalived高可用HA 自动切换 drbd+nfs+heartbeat 存储高可用

(原创)Cloudstack 部署  keepalived高可用HA 自动切换  drbd+nfs+heartbeat 存储高可用

Master
Keepalived
A-1  192.168.1.213 cloudstack-management
A-2  192.168.1.140 cloudstack-management
A1和A2用的keepalived做的高可用 VIP地址为192.168.1.188 把安装好的 /etc/cloudstack/ cp 到 存储上 同时挂载存储到 /etc/cloudstack/  出现故障keepalived 自动切换并自动执行启动脚本。注 主备不能同时启动  cloudstack-management

Agent
B-1  192.168.1.121 必须配置好网卡 和kvm

DB
C-1 192.168.1.136 必须授权
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘cloudstack’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO ‘clouck’@’%’ IDENTIFIED BY ‘cloudstack’ WITH GRANT OPTION;

存储
用的是NFS+DRBD+heartbeat架构 测试结果 当一台服务器down机 另一台接管nfs和DRBD
D-1  192.168.1.191
D-2  192.168.1.108
vip 192.168.1.109
配置 nfs
/home/drbd  *(insecure,rw,no_root_squash,no_subtree_check)
mkdir /home/drbd/nfs1 /home/drbd/nfs2 这里为Cloudstack的主存储 和二级存储
重要 安装前保证 /home/drbd/nfs1 /home/drbd/nfs2 为空

高可用安装过程

首先配置存储
安装nfs
sudo apt-get install nfs-kernel-server
配置 /etc/exports
/home/drbd  *(insecure,rw,no_root_squash,no_subtree_check)

安装drbd
apt-get install -y –force-yes drbd8
配置
/etc/drbd.d/r0.res
resource nft {
device /dev/drbd0;
disk “/dev/sdc”;
meta-disk internal;
on drbd1 {
address ipv4 192.168.1.191:7700;
}
on drbd2 {
address ipv4 192.168.1.108:7700;
}
}
cp到备机上
drbdadm create-md nft
drbdadm — –force primary nfs
查看  /etc/init.d/drbd status
m:res  cs         ro                 ds                 p  mounted     fstype
0:nft  Connected  Primary/Secondary  UpToDate/UpToDate  C  /home/drbd  ext4

注 Primary则为主 Secondary 则为从

重要
在主DRBD设备中可以进行不受限制的读和写的操作。他可用来创建和挂载文件系统、初始化或者是直接I/O的快设备,等等。

在次DRBD设备中,接收所有来自对等节点的更新,但是与此同时也就完全拒绝了访问。它即不能被应用也不能被读写访问。为次节不能被读写访问是为了保持缓冲一致性,这就意味着次节点是不可能以任何形式被访问的。

最后配置heartbeat

/etc/ha.d

cat authkeys
auth 3
3 md5 9bf2f23aae3a63c16ea681295ffd7666

cat  ha.cf  脚本太长 请自行度娘

cat haresources
drbd1 IPaddr::192.168.1.109/24/eth0:0 drbddisk::nft Filesystem::/dev/drbd1::/home/drbd::ext4 killnfsd

现需要二个启动文件在 resource.d里
cat killnfsd
killall -9 nfsd; /etc/init.d/nfs-kernel-server restart; exit 0

cat drbddisk 脚本太长 请自行度娘

cp到备机上

/etc/init.d/nfs-kernel-server start
/etc/init.d/drbd start
/etc/init.d/heartbeat start

安装cloudstack-management
echo “deb precise 4.5″ >> /etc/apt/sources.list.d/cloudstack.list
#配置CloudStack官方源证书
wget -O – |apt-key add –
apt-get update
apt-get install cloudstack-management -y
全部依赖会自动安装

安装keepalived
apt-get install libssl-dev
apt-get install openssl
apt-get install libpopt-dev
在主机和备用机安装keepalived,命令:
apt-get install keepalived

vi /etc/keepalived/keepalived.conf 脚本太长 请到环境里查看

cat cloudstack_master.sh

mount  192.168.1.109:/home/drbd/manager /etc/cloudstack/
/etc/init.d/cloudstack-management start
cat  cloudstack_slave.sh
/etc/init.d/cloudstack-management stop

记得在DB授权先
cloudstack-setup-databases cloud:cloudstack@192.168.1.136 –deploy-as=root:cloudstack -e file -m cloudstack -k cloudstack -i “192.168.1.188”
192.168.1.188为VIP

二台机都执行
cloudstack-setup-management

把安装好的 /etc/cloudstack/ cp 到存储的一个目录里 同时挂载存储到 /etc/cloudstack/

配置 DB
DEBIAN_FRONTEND=’noninteractive’ apt-get -o Dpkg::Options::=’–force-confold’ install mysql-server -y
#在[mysqld]模块中加入以下参数 具体官方文档说明 (docs.cloudstack.apache.org/projects/cloudstack-installation/en/4.5/management-server/index.html?highlight=ubuntu#install-on-ubuntu)
sed -i ‘/Basic Settings/i\innodb_rollback_on_timeout=1′ /etc/mysql/my.cnf
sed -i ‘/Basic Settings/i\innodb_lock_wait_timeout=600′ /etc/mysql/my.cnf
sed -i ‘/Basic Settings/i\max_connections=350′ /etc/mysql/my.cnf
sed -i ‘/Basic Settings/i\log-bin=mysql-bin’ /etc/mysql/my.cnf
sed  -i “/Basic Settings/i\binlog-format = ‘ROW'” /etc/mysql/my.cnf
service mysql restart
#修改DB密码
mysqladmin -u root password “cloudstack”
挂载存储  创建个cloudstack主目录 二级目录
准备System VM Template我们选择KVM作为虚拟化引擎 准备System VM Template我们选择KVM作为虚拟化引擎
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u -h kvm -F
下载速度很慢 这个 请加到115离线  上传上去 把-u 修改成-f
授权
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘cloudstack’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO ‘clouck’@’%’ IDENTIFIED BY ‘cloudstack’ WITH GRANT OPTION;

配置 agent
#配置CloudStack官方源
echo “deb precise 4.5″ >> /etc/apt/sources.list.d/cloudstack.list
#配置CloudStack官方源证书
wget -O – |apt-key add –
apt-get update

apt-get install qemu-kvm libvirt-bin virt-manager bridge-utils
安装配置KVM虚拟化Host主机
apt-get install cloudstack-agent

#安装配置libvirt
echo ‘listen_tls = 0
listen_tcp = 1
tcp_port = “16509”
mdns_adv = 0
unix_sock_group = “libvirtd”
unix_sock_rw_perms = “0770”
auth_unix_ro = “none”
auth_unix_rw = “none”
auth_tcp = “none” ‘ > /etc/libvirt/libvirtd.conf

#修改以下参数
sed -i ‘s/env libvirtd_opts=”-d”/env libvirtd_opts=”-d -l”/g’  /etc/init/libvirt-bin.conf
sed -i ‘s/#vnc_listen = “0.0.0.0” /vnc_listen = “0.0.0.0”/g’  /etc/libvirt/qemu.conf
/etc/init.d/libvirt-bin restart
配置网卡
参考
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto virbr0

auto cloudbr0
iface cloudbr0 inet static
address 192.168.1.121
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports eth0
bridge_fd 5
bridge_stp off
bridge_maxwait 1
dns-nameservers 114.114.114.114
# Private network
auto cloudbr1
iface cloudbr1 inet manual
bridge_ports eth0
bridge_fd 5
bridge_stp off
bridge_maxwait 1

重启网卡
/etc/init.d/cloudstack-agent start

master启动
/etc/init.d/cloudstack-management start
完毕

转载请注明   白菜营养好
高级运维工程师 曹青峰 QQ 258896473

阅读(1994) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~