首页 > 代码库 > linux企业笔记1

linux企业笔记1

制作母盘



极简安装

技术分享

 

技术分享

 


技术分享


技术分享


 


1.ip

多用 ip addr show
DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"

 


2.firewall
chkconfig --list iptables   查看防火墙开机自启状态
chkconfig iptables off      永久关闭防火墙
iptables -L                 查看防火墙当前状态


技术分享


技术分享


 



启动服务


/etc/init.d/iptables start
service iptables start

技术分享


3.yum
真机 /iso/rhel6
yum install openssh-clients -y


技术分享


技术分享

 

4.selinux
vim /etc/sysconfig/selinux
disabled

5.udev
rm -rf /etc/udev/rules.d/70-persistent-net.rules
删除动态绑定,因为快照的虚拟机群,有不同的mac地址
只留下60-raw.rules


技术分享



6.清缓存
rm -rf /tmp/*
rm -rf /var/cache
清完后poweroff,因为系统重启又会产生缓存


技术分享


7.主机名
hostname server.lalala.com  临时修改
vim /etc/sysconfig/network  永久修改

技术分享


8.ssh
rm -rf /etc/ssh/ssh_host_* 
删除公钥,已保证每一个快照的的机器ssh时,使用不同的公钥,连接

注意: 重启服务会自动生成公钥


技术分享


9.分区

技术分享



使用一整块硬盘分区自动分区:

/boot : 不能使用lvmlvm是在启动之后才加载的动态可变分区。
 lvm :    lv_root                  根挂载在lv_root
                swap
   

技术分享



快照


qemu-img create -f qcow2 -b base.qcow2 vm1
qemu-img create -f qcow2 -b base.qcow2 vm2

qemu-img create -f qcow2 -b base.qcow2 vm3


技术分享




qemu-img        info  vm1                    查看虚拟机名称

 


技术分享

 



技术分享


技术分享


 







在开始实验前对三台虚拟机进行如下设置:

 

技术分享


技术分享


技术分享


技术分享


技术分享


技术分享


技术分享


 

企业级



HA 高可用架构   high access
RHCS+LB         集群套件+负载均衡


冷备:手动切换
热备:自动切换 

 

技术分享

 

HA


三台机器:

vim /etc/yum.repos.d/rhel-source.repo

[Server]
name=Red Hat Enterprise Linux Server
baseurl=http://172.25.88.250/rhel6
enabled=1

[HighAvailability]
name=Red Hat Enterprise Linux HighAvailability
baseurl=http://172.25.88.250/rhel6/HighAvailability
enabled=1

[LoadBalancer]
name=Red Hat Enterprise Linux LoadBalancer
baseurl=http://172.25.88.250/rhel6/LoadBalancer
enabled=1

[ResilientStorage]
name=Red Hat Enterprise Linux ResilientStorage
baseurl=http://172.25.88.250/rhel6/ResilientStorage
enabled=1

[ScalableFileSystem]
name=Red Hat Enterprise Linux ScalableFileSystem
baseurl=http://172.25.88.250/rhel6/ScalableFileSystem
enabled=1

scp /etc/yum.repos.d/rhel-source.repo root@172.25.88.2:/etc/yum.repos.d/
scp /etc/yum.repos.d/rhel-source.repo root@172.25.88.1:/etc/yum.repos.d/

yum clean all
yum repolist

 

技术分享

 

技术分享

 


三台机器+真机

vim /etc/hosts
172.25.88.1    server1.lalala.com
172.25.88.2    server2.lalala.com
172.25.88.3    server3.lalala.com

技术分享

HA:server1server2

yum install ricci -y
passwd ricci    改完密码要重启服务
chkconfig ricci on  开机自启
 


 

技术分享


管理:server3


yum install luci -y
yum install httpd -y
/etc/init.d/luci strat
/etc/init.d/httpd start

技术分享


luci ricci  管理机制
clvmd       集群lvm  
cman        集群管理器  corosync:发送心跳(多波),心跳通讯程序
fence       电源交换机。”断电“:防止异常机器写入危险数据
            因为(异步存储)async:内存——>磁盘
            内部,外部 fense
rgmanager   资源组管理器

??????年停机数:99999999999999s

检验


在宿主浏览器   https://server3.lalala.com:8084
登陆    server3root

create NEW Cluster                   创建新的集群


技术分享

 

技术分享

 



创建集群的时候,在安装一堆软件


技术分享


 

技术分享




检验

浏览器


技术分享

 

在集群服务器   
clustat

技术分享


 

技术分享

 

配置文件

 

技术分享


异常处理



技术分享


技术分享

 

 

 


fence


物理机


yum install fence-virtd-multicast.x86_64 fence-virtd-libvirt.x86_64fence-virtd.x86_64 -y

[root@foundation33 ~]# rpm -qa |grep fence
fence-virtd-libvirt-0.3.0-16.el7.x86_64
fence-virtd-0.3.0-16.el7.x86_64
fence-virtd-multicast-0.3.0-16.el7.x86_64

技术分享


配置fence:
fence_virtd        –c


Interface [virbr0]: br0

技术分享

 

技术分享


制作钥匙


mkdir  cd /etc/cluster/
dd if=/dev/urandom of=/etc/cluster/fence_xum.key bs=128 count=1

 

把钥匙分发给集群
scp fence_xum.key root@172.25.33.1:/etc/cluster/
scp fence_xum.key root@172.25.33.2:/etc/cluster/

技术分享


systemctl start fence

浏览器配置:

server1:(server2server1配置相同)


技术分享

 

查看sever1UUID

 

技术分享

 

使用UUID和主机名进行绑定

 

技术分享


检验

 

技术分享


server1
fence_node server2.lalala.com

 

server2被断电然后重启。

 

server1server2可以互相断电。

 

技术分享

 

 

 

 

 

 

 

 

添加service Group 先选ip再选httpdip下面那个)


server1server2:
yum install httpd -y
vim /var/www/html/index.html
server1
server2

不启动服务,服务由集群启动
clustat

浏览器

1.添加错误域(Failover

Priorizxed 优先级(越小越高)
Restricted  限制哪些结点可用错误域
Failback    回切(性能相同不用,性能差异大用,有损失)
 


技术分享



2.添加资源域(Resource)

IPScript(服务,适用源码安装)
 

技术分享


技术分享

 


 

技术分享


3.添加服务组(Service Groups)

全选
Reloted
exclusive:运行独占(某个服务)
添加service Group 先选ip再选httpdip下面那个)
 



技术分享


添加顺序即启动顺序:ip       服务

 

技术分享


检验
clustat:    多了rgmanager
 

技术分享

在浏览器中访问添加的IP  172.25.88.100
server1
 

技术分享

注意:server1并没有开启apache服务,集群负责开启


模拟故障

1.
停掉服务

server1:
/etc/init.d/httpd stop

server1:started->recoverable->server2:starting->server2:started


技术分享


2.网络接口downfence

server2: ip link set down eth0
server2 卡住,Offline,因为fence,再重启online,但业务已经切换到server1上。


 

技术分享


server2:started->recoverable->server1:starting->server1:started
 


 

技术分享

3.给内核传递  c-crashb-rebooth-haltfence
 

server1:   echo c>/proc/sysrq-trigger



server1:started->recoverable->server2:starting->server2:started


技术分享





lvm集群





本地集群
server3:
添加一块硬盘8G

技术分享


 

fdisk         –l检查是否添加成功

 

技术分享

在做lvm集群之前,检查lvm配置文件(不配置,安装集群也会自动配置哦~)

vim /etc/lvm/lvm.conf

455     # Type of locking to use.Defaults to local file-based locking (1).
456     # Turn locking off by setting to0 (dangerous: risks metadata corruption
457     # if LVM2 commands get runconcurrently).
458     # Type 2 uses the external sharedlibrary locking_library.
459     # Type 3 uses built-in clusteredlocking.
460     # Type 4 uses read-only lockingwhich forbids any operations that might
461     # change metadata.
462     locking_type = 3



         要使用的锁定类型。 默认为本地基于文件的锁定(1)。
     #通过将设置为0(危险:危险元数据损坏)来关闭锁定
     #如果LVM2命令同时运行)。
     Type 2使用外部共享库locked_library
     Type 3使用内置的集群锁定。
     Type 4使用只读锁定,它禁止可能的任何操作
     #更改元数据。


可以在源文件更改,也可以使用命令更改锁的类型

lvmconf --enable-cluster


技术分享

 

 

yum install -y scsi-* -y

vim /etc/tgt/targets.conf

<target iqn.2016-02.com.lalala:server.target1>

    backing-store /dev/vdb
   initiator-address 172.25.88.1
    initiator-address 172.25.88.2

</target>


技术分享


绑定IP模板在
161 #    initiator-address 192.168.200.1
162 #    initiator-address 192.168.200.5


/etc/init.d/tgtd start

tgt-admin -s    发现设备

技术分享

server1,server2:

yum install iscsi* -y

iscsiadm -m discovery -t st -p 172.25.33.3
iscsiadm -m node -l
 

-m motion  动作
-t  type
-m node -u       umount
 

技术分享

 

server1server2,同时出现/dev/sda即为成功~~

 

技术分享

异常处理

如果出现两个子机器,没有同步一块磁盘,可通过如下方式解决。

 

1.不能识别共享存储

 

可能是管理端的scsi服务出错,可以先停止tgtd服务,强行关闭进程(killall -9),再开启


技术分享

 

若是lvs没有同步信息,可以同步分区表。

 

技术分享

分区:fdisk-cu /dev/sda

别忘记cu       !!!!


技术分享

先确保两台主机获得的分区名相同
/dev/sda1

server1,server2:
/etc/init.d/clvmd start

vim /etc/lvm/lvm.conf
   locking_type = 3

确保        /etc/init.d/clvmd status  开启
        
server1 :   fdisk -cu /dev/sda        
             pvcreate /dev/sda1
            vgcreate clustervg /dev/sda1
            lvcreate -L 4G -n democlustervg   

server2     pvs
已同步
            vgs
已同步
            lvs
已同步
           
 

技术分享


 

技术分享


server1   mkfs.ext4 /dev/clustervg/demo        (有一边格式化即可)
            mount /dev/clustervg/demo/mnt/
            vim /mnt/index.html

server2   mount /dev/clustervg/demo /mnt/

技术分享

 

注意:如果此时selinux开着。
ll -Z /var/www/html
chcon -t /dev/clustervg/demo

如果这个时候在server1mntcp /etc/passwd /mnt,server2 看不到,只有卸载后重新挂载才可以。删除同理
 

ext4    本地文件系统不同步

clusvcadm -d apache     停掉apache集群服务
 

技术分享

之后在网页中,添加webdata存储资源,serverGroup中调整服务启动顺序
ip->存储->服务

server2clusvcadm -e apache_zoe  激活服务

检验
server2      ip addr show       172.25.88.100(谁支持服务VIP在谁上)
server1       ip addr show      


lost+found:记录文件系统的一些错误信息

cat /proc/partitions    准确查看分区(比fdisk–l 靠谱)

检验迁移

clusvcadm -r apache_zoe -m server1.lalala.com(移动到的点)

在此期间,游览器访问不受影响

技术分享

 

移动到那台主机上,哪台主机上的IP就会包含我们的vip

vip:用户访问的外网IP,其实内网有很多集训服务器支持这个IP
 

技术分享

在挂载点拉升
lvexted -l +1023 /dev/clustervg/demo
resize2fs /dev/clustervg/demo

删除
lvremove    /dev/clustervg/demo
vgremove    clustervg
pvremove    /dev/sda1


分布式集群(多点)

在浏览器:
先删除服务组的本地存储,再删除资源组对应

server2
clusvadm -d apache_zoe

server1:
clustat 查看集群名

mkfs.gfs2 -j 3 -p lock_dlm -t miaomiao:mygfs2/dev/clustervg/demo
 

技术分享

 

mkfs.gfs2参数解释

 

-p 锁的类型

-t  集群名:文件系统名

 

技术分享

 

技术分享

server1,server2:
 

mount /dev/clustervg/demo /mnt/

从此,server1server2,可以同时读写数据,并实时更新

技术分享

开机挂载
server1,server2:
vim /etc/fstab
/dev/clustervg/demo    /var/www/html   gfs2    _netdev 0 0
 

技术分享


也可以在浏览器挂载,如果在集群挂载只能挂载一个读写的点,采用这种方式可以实现多节点同时读写:


server1 or  2   clusvcadm -e apache_zoe

技术分享


保证 server1server2:          /dev/clustervg/demo挂载在/var/www/html


检验
浏览器:172.25.88.100
apache界面,因为在gfs2中,没有index.html文件。
 

技术分享

gfs2_tool sb /dev/clustervg/demo all        查看

gfs2_tool journals /dev/clustervg/demo     查看日志数量(128*n)j=节点+1

gfs2_jadd -j 3 /dev/clustervg/demo         增加三个日志(节点数)
 

 

 

技术分享


 

技术分享


lvextend -L +2G /dev/clustervg/demo        扩大文件lvm

gfs2_grow /dev/clustervg/demo              扩大文件系统

server1,server2:    df -h       同步扩大
 






本文出自 “12049878” 博客,谢绝转载!

linux企业笔记1