Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10168648
  • 博文数量: 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)

分类: 云计算

2018-11-21 16:27:48

Cloudstack 部署  keepalived高可用HA 自动切换  drbd+nf+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
完毕


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