共计 6395 个字符,预计需要花费 16 分钟才能阅读完成。
这里可以忽略:(突然想到的小命令)
小知识点:
# cat /etc/sysconfig/i18n
LANG=”zh_CN.UTF-8″
# LANG=zh_CN.UTF-8
# yum grouplist
# yum list
# LANG=en
# yum grouplist
# yum provides */pxelinux.0
#yum -y install cmatrix-1.2a-1.i386.rpm(利用 yum 装本地软件包)
#dd if=/dev/zero of=/myfile bs=1024M count=2
#top -d 1
(按大 M P 是按内存和 cpu 使用排序,按小 k 输入 pid 按两个 enter 就直接杀死最高的进程)
#dd if=/dev/zero of=/file bs=10M count=2
# du -shl /file
20M /file
# dd if=/dev/zero of=/mm bs=10 count=2 (默认字节)
记录了 2 +0 的读入
记录了 2 +0 的写出
20 字节(20 B) 已复制,0.000273531 秒,73.1 kB/ 秒
# du -shl /mm
4.0K /mm
#pidof httpd
#kill $(pidof httpd)
lvm 逻辑卷 clvm 集群逻辑卷
#vim /etc/lvm/lvm.conf 中可设置本地逻辑卷和集群逻辑卷
locking_type=1 (本地逻辑卷)
locking_type=3 (集群逻辑卷)
—————————————————————————————————————————————
___________________________________________________________________________________________
RHCS 的 CMAN 分布式集群管理:
RHCS 红帽集群套件
RHCS 通过 GF 文件系统有 16 个日志区,可以挂载 16 个地方最多
RHCS 核心组件:cman- 集群管理器 rgmanger 集群资源管理器 corosync 集群间通信软件 ricci 集群远程管理器
CMAN(分布式集群管理器):运行在全部节点上,提供集群管理任务,用于管理集群成员,消息和通知。根据每个节点的运行状态,统计法定节点数作为集群是否存活的依据
群集管理要工作需要满足法定节点(票数):n/2+1. 当一个共享的节点坏了,可以切换用电源 Fence 和存储 Fence (所以一般最少法定接点为双节点,也就是三台机器,群集管理可以运行)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
heart-beat:心跳
集群存活依据:法定节点计数
采用投票机制,默认每个节点投 1 票
集群可以工作需要满足的票数是:floor(n/2 + 1)
1. 配置三台虚拟机,前两台作为集群节点,第三台用于存储。192.168.4.0/24 和 192.168.2.0 用于存储网络,201.1.1.0/24 用于公共网络,201.1.2.0/24 用于内部管理
vh01.tedu.cn:
eth0:192.168.4.1/24
eth1:192.168.2.1/24
eth2:201.1.1.1/24
eth3:201.1.2.1/24
vh02.tedu.cn:
192.168.4.2/24
192.168.2.2/24
201.1.1.2/24
201.1.2.1/24
vh03.tedu.cn 需要添加一块额外硬盘
192.168.4.3/24
192.168.2.3/24
eth3:201.1.2.3/24
2. 配置 yum。
[192.168.4.11_pub_iso_]
name=added from: ftp://192.168.4.11/pub/iso/
baseurl=ftp://192.168.4.11/pub/iso/
enabled=1
gpgcheck=0
[HighAvailability]
name=HighAvailability
baseurl=ftp://192.168.4.11/pub/iso/HighAvailability
enabled=1
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=ftp://192.168.4.11/pub/iso/LoadBalancer
enabled=1
gpgcheck=0
[ResilientStorage]
name=ResilientStorage
baseurl=ftp://192.168.4.11/pub/iso/ResilientStorage
enabled=1
gpgcheck=0
[ScalableFileSystem]
name=ScalableFileSystem
baseurl=ftp://192.168.4.11/pub/iso/ScalableFileSystem
enabled=1
gpgcheck=0
# yum repolist
#scp /etc/yum.repos.d/192.168.4.11_pub_iso_.repo root@192.168.4.2:/etc/yum.repos.d/
#scp /etc/yum.repos.d/192.168.4.11_pub_iso_.repo root@192.168.4.3:/etc/yum.repos.d/
三台 yum 搭好
3. 配置名称解析,在每个节点上都修改 hosts 文件
# vim /etc/hosts
201.1.1.1 vh01.public.tedu.cn
201.1.2.1 vh01.private.tedu.cn vh01
201.1.1.2 vh02.public.tedu.cn
201.1.2.2 vh02.private.tedu.cn vh02
201.1.2.3 vh03.private.tedu.cn vh03
201.1.2.254 host.tedu.cn
## ping vh02.private.tedu.cn
PING vh02.private.tedu.cn (201.1.2.2) 56(84) bytes of data.
4. 关闭 NetworkManager
5. 在 vh03 上配置 iscsi 服务
(添加的硬盘做共享存储先分区)
#parted /dev/vdb
mktab
gpt
mkpart
primary
ext4
1M
-1
quit
(划分这个磁盘所有空间)
#yum install -y scsi-target-utils
#vim /etc/tgt/targets.conf
<target iqn.2017-03.cn.tedu.nsd1611:clu>
backing-store /dev/vdb1
initiator-address 192.168.4.1
initiator-address 192.168.4.2
initiator-address 192.168.2.1
initiator-address 192.168.2.2
</target>
#service tgtd start;chkconfig tgtd on
#tgt-admin -s(必须能看到 LUN1, 说明共享了)
6. 在 vh01 和 vh02 上配置 iscsi 客户端
#yum install -y iscsi-initiator-utils
#man iscsiadm
#iscsiadm –mode discoverydb –type sendtargets –portal 192.168.2.3 –discover
#iscsiadm –mode discoverydb –type sendtargets –portal 192.168.4.3 –discover
#service iscsi restart
#chkconfig iscsi on; chkconfig iscsid on
7。在 vh01 和 vh02 配置多路径
vh01:
# yum -y install device-mapper-multipath
#mpathconf –user_friendly_names n
# scsi_id –whitelisted –device=/dev/sda
1IET 00010001
#vim /etc/multipath.conf
25 defaults {
26 user_friendly_names no
27 getuid_callout “lib/udev/scsi_id –whitelisted –device=/dev/%n”
28 }
29
30 multipaths {
31 multipath {
32 wwid “1IET 00010001”
33 alias mpatha
34 }
35 }
#service multipathd restart; chkconfig multipathd on
#ls /dev/mapper
mpatha。。。。
#lsblk
vh02:
#yum -y install device-mapper-multipath
vh01:
#scp /etc/multipath.conf root@201.1.1.2:/etc/
vh02:
#service multipathd restart; chkconfig multipathd on
#ls /dev/mapper
mpatha。。。。
#lsblk (发现两条路径)
8. 在 vh01 和 vh02 上安装 ricci
#yum -y install ricci
#echo 123456 |passwd –stdin ricci
#service ricci start; chkconfig ricci on
9. 在 vh03 上安装 luci(web 管理工具,想在哪管理就安装在哪)
#yum -y install -y luci
service luci start; chkconfig ricci on
10. 在物理机上(192.168.4.254)连接 https://vh03.private.tedu.cn:8084/ ++++(8804?)
接受信任 用户名是:vh03 的 root 还有密码
在 /etc/hosts/ 添加:(才能访问)
201.1.1.1 vh01.public.tedu.cn
201.1.2.1 vh01.private.tedu.cn vh01
201.1.1.2 vh02.public.tedu.cn
201.1.2.2 vh02.private.tedu.cn vh02
201.1.2.3 vh03.private.tedu.cn vh03
201.1.2.254 host.tedu.cn
11.
进入 web 页面后(添加节点):
Node Name Password Ricci Hostname Ricci Port
vh01.private.tedu.cn 123456 vh01.private.tedu.cn
vh02.private.tedu.cn 123456 vh02.private.tedu.cn
12. 在物理主机上(192.168.4.254)配置 fence 服务
# yum -y install fence-virtd fence-virtd-libvirt fence-virtd-multicast
#fence_virtd -c
一直默认出现下面再改
Interface [none]: public2
Backend module [checkpoint]: libvirt
Replace /etc/fence_virt.conf with the above [y/N]? y
# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=4k count=1(urandom 生成的一个 4k 随机的字符, 如果是 zero 生成的全部是 0 就是空白, 安全系数不高)
记录了 1 +0 的读入
记录了 1 +0 的写出
4096 字节(4.1 kB) 已复制,0.00125856 秒,3.3 MB/ 秒
[root@room1pc01 桌面]# scp /etc/cluster/fence_xvm.key root@201.1.2.1:/etc/cluster/
[root@room1pc01 桌面]# ^2.1^2.2
[root@room1pc01 桌面]# service fence_virtd start; chkconfig fence_virtd on
13. 在 web 页面上配置 Fence Devices, 先配置 Nodes(节点)
14. 在 web 页面上配置 failover domain
15. 配置 web 集群资源 Resources
1)在两个节点上安装 apache, 但是不要起服务
2)创建 floating ip(vip) 资源
3)共享存储:
vh01:
# parted /dev/mapper/mpatha
(parted) mktab gpt
(parted) mkpart primary ext4 1M 10%
(parted) quit
# mkfs.ext4 /dev/mapper/mpathap1
# lsblk
vh02:
# partprobe;multipath -rr
# lsblk
#mount /dev/mapper/mpathap1 /dvar/www/html
#vim /var/www/html/index.html
<marquee><font size=”30″ color=”red”>RHCS WEB SITE</font></marquee>
#umount /var/www/html/
16. 把资源组合成资源组,资源组就是一个集群服务
在 web 页面上提交之前,先在 vh02 上运行
#clustat -i 1
17. 验证(当 vh02 在监控时,可以看到是哪一个节点在跑服务共享,当一台节点挂了,另一台马上切换)
在 vh01 上查看相关资源
#ip a s eth2(能看到虚 ip)
#df
#netstat -anptu |grep :80
#ls /etc/cluster/ 出现 apache 工作目录
测试服务切换 vh01
#iptables -A INPTU -j DROP(vh01 会重启,这时共享节点切在 vh02 上)
18. 再加一个集群管理 mysql 服务。
在 web 页面上:1 先添加一个 mysql 的:failover domain
2. 添加 mysql 的 resource: IP Address Script File System(这个虚拟 ip 是用于内部管理的网段中的 ip,也就是和管理接口在一个方向的)
vh01:
#yum -y install mysql-server
# parted /dev/mapper/mpatha
(parted) print
(parted) mkpart primary ext4 5369M 50%
(parted) quit
# mkfs.ext4 /dev/mapper/mpathap2
# lsblk
vh02:
#yum -y install mysql-server
# partprobe;multipath -rr
# lsblk
3. 在 web 页面上:为 mysql 添加一个 server group 组,之后把���面所添加的三个资源放在一个组里,提交前,先打开 vh02 监控页面。再测试,像上面一样
(这里要注意:在 2. 选择 mysql 中选择 Script 用脚本启动 /etc/init.d/mysqld,设置虚拟 ip 时,子网掩码用 24,选择文件系统时:/var/lib/mysqld /dev/mapper/mpathap2
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141897.htm