• 服务应用的测试:Samba | LVM | Ntp | AD域 | zabbix | EXSI虚拟化


    Samba服务测试

    环境:centos7.6,windows10环境

    Samba服务【smb】的知识点:

    1.Samba是一款开源的文件共享软件,能够实现Linux系统与Windows系统之间的文件共享工作;【FTP协议的本质是传输文件,而非共享文件。】
    2.Samba服务的主配置文件:/etc/samba/smb.conf;主配置文件包括全局配置参数和区域配置参数。全局配置参数用于设置整体的资源共享环境,对里面的每一个独立的共享资源都有效。区域配置参数则用于设置单独的共享资源,且仅对该资源有效;
    3.在红帽分支系统中,Samba服务程序默认使用的是用户口令认证模式(user)。这种认证可以确保仅让有密码且受信任的用户访问共享资源,而且验证过程也十分简单。
    要使用用户口令认证模式,必须建立账户信息数据库,且这些账户必须在当前系统中已经存在,不过密码不一定要与系统对应账户的密码一致(可以为空),否则日后创建文件时将导致文件的权限属性混乱不堪,由此引发错误。
    pdbedit命令:用于管理SMB服务程序的账户信息数据库,格式:pdbedit [选项] 账户。在第一次把账户信息写入到数据库时需要使用-a参数,以后在执行修改密码、删除账户等操作时就不再需要该参数了。


    #1.安装Samba服务
    yum install samba -y

    #2.Samba服务的主配置文件:/etc/samba/smb.conf

    #3.创建用于访问共享资源的账户信息。账户必须在当前系统已经存在

    #4.创建用于共享资源的文件目录。在创建时,不仅要考虑到文件读写权限的问题,还需要考虑应用于该目录的SELinux安全上下文所带来的限制

    #5.设置SELinux服务与策略,使其允许通过Samba服务程序访问普通用户家目录



    .......................

    #6.在Samba服务程序的主配置文件中,追加共享文件夹配置参数信息

    vim /etc/samba/smb.conf
    ...

    #7.重启Samba服务并加入开机启动项。为避免防火墙妨碍,清空iptables防火墙

    =================================================================

    Windows挂载共享

    要在Windows系统中访问共享资源,只需在Windows的“运行”命令框中输入两个反斜杠,然后再加服务器的IP地址即可。输入上面实例用于samba验证的帐号密码,登录进去后的共享文件夹的效果:

    =================================================================

    =================================================================

    LVM服务测试

    环境:centos7.6

    LVM(逻辑卷管理器)可以允许用户对硬盘资源进行动态调整。(让用户灵活的变更分区的大小)

    逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。

    LVM核心概念:

    物理卷处于LVM中的最底层,可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列;
    卷组建立在物理卷之上,一个卷组可以包含多个物理卷,而且在卷组创建之后也可以继续向其中添加新的物理卷;
    逻辑卷是用卷组中空闲的资源建立的,并且逻辑卷在建立后可以动态地扩展或缩小空间。

    #1.部署逻辑卷

    常用的LVM部署命令
    功能/命令 物理卷管理 卷组管理 逻辑卷管理
    扫描 pvscan vgscan lvscan
    建立 pvcreate vgcreate lvcreate
    显示 pvdisplay vgdisplay lvdisplay
    删除 pvremove vgremove lvremove
    扩展 vgextend lvextend
    缩小 vgreduce lvreduce

    部署逻辑卷步骤:(PV -> VG -> LV)

    让硬盘设备支持LVM技术(pvcreate)。
    把硬盘设备加入到卷组(vgcreate)。
    从卷组中切割一定空间作为逻辑卷(lvcreate)。
    把生成好的逻辑卷进行格式化,然后挂载使用(mkfs,mount,/etc/fstab)。

    创建物理卷,让硬盘设备支持LVM

    把创建好的物理卷组成卷组,命名为 zabbix_v

    查看卷组状态

    从卷组storge切割出2560个基本单元(默认大小4M)创建一个10GB的逻辑卷,命名为vo。 2560基本单元=10GB

    查看逻辑卷状态

    格式化逻辑卷zabbix_s

    往/etc/fatab文件追加挂载信息,实现永久挂载

    创建挂载点

    挂载
    mount -a

    查看挂载状态

    =================================================================

    xfs格式

    扩容逻辑卷

    扩容前,先卸载设备和挂载点的关联。
    扩容逻辑卷(lvextend);
    重置硬盘容量(resize2fs|xfs_growfs);
    重新挂载硬盘设备并查看挂载状态。

    实例:承接上面实例,把逻辑卷zabbix_s扩容至12GB。

    1 umount /abcs/zabbix #卸载设备和挂载点关联
    2 lvextend -L 12288M /dev/zabbix_v/zabbix_s #扩容逻辑卷zabbix_s至12288M
    3 xfs_growfs /dev/zabbix_v/zabbix_s #重置硬盘容量
    4 mount -a #重新挂载
    5 df -h #查看挂载状态



    缩小逻辑卷

    xfs文件系统只支持增加,不支持减少。但并不是不能减小,只是减小后,需要重新格式化才能挂载上。这样原来的数据就丢失了!
    这种情况只适用于系统刚安装好,逻辑分区内没有什么数据或数据不多且不重要可以删除或拷贝的情况下!

    实例:承接上面实例,把逻辑卷zabbix_s缩容至8GB。



    =================================================================

    ext2/ext3/ext4格式

    扩容逻辑卷缩小逻辑卷
    调整命令是resize2fs(增大和减小都支持)

    准备:先把/dev/zabbix_v/zabbix_s格式化ext4格式


    扩容到15GB,缩容到10GB


    往/etc/fatab文件追加挂载信息,实现永久挂载

    =================================================================

    逻辑卷快照

    LVM快照:类似于虚拟机软件的还原时间点功能。

    可以对某一个逻辑卷设备做一次快照,如果日后发现数据被改错了,就可以利用之前做好的快照卷进行覆盖还原。

    LVM的快照卷功能有两个特点:

    快照卷的容量必须等同于逻辑卷的容量;
    快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。不过一个逻辑卷可以做多个快照卷。

    实例:承接上面例子,往逻辑卷设备新建一个文件。然后为逻辑卷创建快照卷。再在逻辑卷目录生成一个垃圾文件。后先卸载逻辑卷与挂载点关联,再尝试快照还原操作(lvconvert --merge),再重新挂载,查看逻辑卷目录是否回到创建快照前的状态。




    =================================================================

    删除逻辑卷

    删除LVM前记得提前备份。

    删除逻辑卷,要依次删除逻辑卷(lvremove )、卷组(vgremove )、物理卷设备(pvremove ),顺序不可颠倒。

    实例:承接上面例子,删除逻辑卷。

    1 umount /abcs/zabbix #卸载
    2 vim /etc/fstab
    3 /dev/zabbix_v/zabbix_s /abcs/zabbix ext4[xfs] defaults 0 0 #删除挂载信息
    4 lvremove /dev/zabbix_v/zabbix_s #删除逻辑卷,要按y确认
    5 vgremove zabbix_v #删除卷组
    6 pvremove /dev/sdb #删除物理卷

    =================================================================

    =================================================================

    Ntp服务测试

    环境centos7.6

    安装ntp


    yum install ntp -y

    ntp:服务端的软件包
    ntpdate:客户端的软件包

    配置ntp
    配置文件:/etc/ntp.conf
    其他:/etc/ntp/crypto/pw

    centos7 版本公共ntp

    ntp.conf各个选项信息:
    1.系统时间与BIOS事件的偏差记录

    2.restrict 控制相关权限。
    语法为: restrict IP地址 mask 子网掩码 参数
    其中IP地址也可以是default ,default 就是指所有的IP
    确保localhost(这个常用的IP地址用来指Linux服务器本身)有足够权限.使用没有任何限制关键词的语法:
    restrict 127.0.0.1

    restrict -6 ::1

    参数有以下几个:

    ignore :关闭所有的 NTP 联机服务

    nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。

    notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网

    noquery :不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询ntp服务器

    notrap :不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。

    nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟

    kod : 访问违规时发送 KoD 包。

    restrict -6 表示IPV6地址的权限设置。

    3.设定NTP主机来源(其中prefer表示优先主机),192.168.7.49是本地的NTP服务器,所以优先指定从该主机同步时间。
    例如:server 192.168.7.49 prefer


    /etc/sysconfig/ntpd
    ntp服务,默认只会同步系统时间。如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd文件,在/etc/sysconfig/ntpd文件中,添加 SYNC_HWCLOCK=yes 这样,就可以让硬件时间与系统时间一起同步。

    允许BIOS与系统时间同步,也可以通过hwclock -w 命令

    SYNC_HWCLOCK=yes


    启动ntpd服务
    systmectl start ntpd

    查看ntp服务器有无和上层ntp连通;
    查看ntp服务器与上层ntp的状态;

    等待一会,同步上了


    ntpd、ntpdate的区别
    使用之前得弄清楚一个问题,ntpd与ntpdate在更新时间时有什么区别。ntpd不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。

    时钟的跃变,对于某些程序会导致很严重的问题。许多应用程序依赖连续的时钟——毕竟,这是一项常见的假定,即,取得的时间是线性的,一些操作,例如数据库事务,通常会地依赖这样的事实:时间不会往回跳跃。不幸的是,ntpdate调整时间的方式就是我们所说的”跃变“:在获得一个时间之后,ntpdate使用settimeofday(2)设置系统时间,这有几个非常明显的问题:

    第一,这样做不安全。ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。由于ntpdate采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。

    第二,这样做不精确。一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。

    第三,这样做不够优雅。由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错(例如,如果ntpdate发现你的时间快了,则可能会经历两个相同的时刻,对某些应用而言,这是致命的)。因而,唯一一个可以令时间发生跳变的点,是计算机刚刚启动,但还没有启动很多服务的那个时候。其余的时候,理想的做法是使用ntpd来校准时钟,而不是调整计算机时钟上的时间。

    NTPD 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差——或者说 Local Clock 的自然漂移(drift)——记录下来。这样即使网络有问题,本机仍然能维持一个相当精确的走时。


    hwclock
    简介:
    是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。

    在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有linux相关指令与函数都是读取系统时钟的设定。



    Windows2012R2 NTP时间同步

    安装的Windows2012R2 虚拟机

    下面分两个情况

    两个情况,两个情况都需要用修改组策略的方式来做

    情况一

    没有Windows域环境

    集群中的每个服务器都要能上网,每个服务器都要执行下面的操作

    开启 NTP Client 服务

    1、打开 powershell 终端, 输入:gpedit.msc,打开组策略管理器

    2、执行上述命令后,计算机策略对话框打开,按照如下路径 计算机配置\管理模板\系统\windows 时间服务\时间提供程序 找到服务器设置文件

    3、将 Ntp Server项,输入将要同步到的时间服务器IP地址(这里输入阿里云的ntp服务器地址: time.pool.aliyun.com),注意 0x9 或 0x1 必须要有;在 类型 项, 选择 NTP;点击 应用、确定 按钮;

    4、启动 NTP 客户端;启用NTP客户端;点击 应用、确定 按钮;

    5、执行下面命令更新组策略
    gpupdate /force

    6、检查W32Time服务是否启动,启动类型是否是 自动启动

    =================================================================

    =================================================================

    AD域控

    环境:windows_server_2012R2 *3 Windows_10_x64

    =================================================================

    =================================================================

    zabbix-3.4.15测试

    环境:centos7.6 windows_server_2012R2 Windows_10_x64
    手册:https://www.zabbix.com/documentation/3.4/zh

    zabbix监控范畴
    硬件监控 :Zabbix IPMI Interface

    系统监控 :Zabbix Agent Interface

    Java 监控:ZabbixJMX Interface

    网络设备监控:Zabbix SNMP Interface

    应用服务监控:Zabbix Agent UserParameter

    MySQL 数据库监控:percona-monitoring-pldlgins

    URL监控:Zabbix Web监控


    安装zabbix

    环境检查

    服务端,客户端安装


    安装zabbix源
    wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.15-1.el7.x86_64.rpm
    安装所需依赖
    yum -y install gcc* make php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* mysql-devel libxml2-devel curl-devel unixODBC-devel net-snmp-devel OpenIPMI-devel openldap openldap-devel libevent-devel php-ldap



    安装zabbix

    mkdir -p /abcs/zabbix
    groupadd zabbix
    useradd -g zabbix zabbix

    tar -xvf zabbix-3.4.15.tar.gz
    cd zabbix-3.4.15/
    ./configure --prefix=/abcs/zabbix/zabbix-3.4.15 --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc

    ........

    启动及配置数据库
    systemctl start mariadb.service
    systemctl status mariadb.service

    mysql_secure_installation 初始化
    mysqladmin -u root password 'sbt123456'
    mysql -uroot -p

    create database zabbix character set utf8 collate utf8_bin;
    grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix2022';

    导入数据库
    mysql -uzabbix -pzabbix2022 zabbix < schema.sql
    mysql -uzabbix -pzabbix2022 zabbix < images.sql
    mysql -uzabbix -pzabbix2022 zabbix < data.sql

    修改PHP的配置参数
    vim /etc/php.ini
    date.timezone= Asia/Shanghai
    max_execution_time = 300
    post_max_size = 32M
    memory_limit = 128M
    mbstring.func_overload = 1
    max_input_time = 300

    移动zabbix项目到httpd目录中去
    cd /abcs/zabbix/zabbix-3.4.15/
    cp -r frontends/php/ /var/www/html/zabbix
    ll /var/www/html/
    chown -R apache.apache /var/www/html/zabbix/

    修改配置文件zabbix_server.conf
    创建相关目录
    mkdir logs
    mkdir alertscripts
    mkdir externalscripts

    zabbix服务启动脚本
    cd /abcs/zabbix/zabbix-3.4.15/
    cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
    将启动脚本的路径修改为/abcs/zabbix/zabbix-3.4.15/
    vim /etc/init.d/zabbix_server
    BASEDIR=/abcs/zabbix/zabbix-3.4.15/

    chown -R zabbix.zabbix zabbix-3.4.15/

    启动服务
    systemctl restart httpd.service
    /etc/init.d/zabbix_server start


    web服务初始化

    输入服务器IP地址http://192.168.108.90/zabbix/php/setup.php

    下一步

    环境配置检测,如果不OK,应返回前面的步骤进行排查

    问题:是因少一个/usr/lib64/php/modules/ldap.so 找不到这个文件
    解决:yum -y install php-ldap,重启apache服务


    至此zabbix 前面安装 “Check of pre-requisites”全部OK


    下面配置到数据库的连接


    下一步


    服务器名称及端口配置


    登陆,默认用户名Admin,密码zabbix

    中文显示的问题
    1、修改配置文件defines.inc.php
    vim /var/www/html/zabbix/php/include/defines.inc.php
    define('ZBX_GRAPH_FONT_NAME', 'msyh');
    define('ZBX_FONT_NAME', 'msyh');

    2、拷贝字体及授权
    将电脑笔记本win10系统微软雅黑的字体C:\Windows\Fonts,先拷贝桌面,在将msyh,msyhbd字体拷贝/var/www/html/zabbix/fonts
    注意权限的问题


    zabbix-Web功能菜单

    一级菜单

    Mointoring——监控
    Inventory——主机资产
    Reports——报表
    Configuration——配置
    Administtration——管理


    总结+zabbix3.4手册笔记【https://www.zabbix.com/documentation/3.4/zh】

    #1.常见问题/疑难解答

    Q: 如何从一个数据库迁移到另一个数据库?
    A: 只需要转存数据 (对于 MySQL, 用 flag -t or --no-create-info), 用Zabbix的 schema 文件创建新的数据库,导入数据。
    

    #2.Zabbix常用术语的定义

    主机 (host)- 一台你想监控的网络设备,用IP或域名表示
    
    主机组 (host group)- 主机的逻辑组;它包含主机和模板。一个主机组里的主机和模板之间并没有任何直接的关联。通常在给不同用户组的主机分配权限时候使用主机组。
    
    监控项 (item)- 你想要接收的主机的特定数据,一个度量数据。
    
    触发器 (trigger)- 一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式。当接收到的数据高于阈值时,触发器从"OK"变成"Problem"状态。当接收到的数据低于阈值时,触发器保留/返回一个"OK"的状态。
    
    事件 (event)- 单次发生的需要注意的事情,例如触发器状态改变或发现有监控代理自动注册
    
    异常 (problem)- 一个处在"异常"状态的触发器
    
    动作 (action)- 一个对事件做出反应的预定义的操作。一个动作由操作(例如发出通知)和条件(当时操作正在发生)组成
    
    升级 (escalation)- 一个在动作内执行操作的自定义场景; 发送通知/执行远程命令的序列
    
    媒介 (media)- 发送告警通知的手段;告警通知的途径
    
    通知 (notification)- 利用已选择的媒体途径把跟事件相关的信息发送给用户
    
    远程命令 (remote command)- 一个预定义好的,满足一些条件的情况下,可以在被监控主机上自动执行的命令
    
    模版 (template)- 一组可以被应用到一个或多个主机上的实体(监控项,触发器,图形,聚合图形,应用,LLD,Web场景)的集合。模版的任务就是加快对主机监控任务的实施;也可以使监控任务的批量修改更简单。模版是直接关联到每台单独的主机上。
    
    应用 (application)- 一组监控项组成的逻辑分组
    
    web 场景 (web scenario)- 利用一个或多个HTTP请求来检查网站的可用性
    
    前端 (frontend)- Zabbix提供的web界面
    
    Zabbix API- Zabbix API允许你使用JSON RPC协议来创建、更新和获取Zabbix对象(如主机、监控项、图形和其他)信息或者执行任何其他的自定义的任务
    
    Zabbix server- Zabbix软件实现监控的核心程序,主要功能是与Zabbix proxies和Agents进行交互、触发器计算、发送告警通知;并将数据集中保存等
    
    Zabbix agent- 一个部署在监控对象上的,能够主动监控本地资源和应用的程序
    
    Zabbix proxy- 一个帮助Zabbix Server收集数据,分担Zabbix Server的负载的程序
    

    配置监控项

    =================================================================

    =================================================================

    EXSI虚拟化

    环境:VMware-6.5 x86_64

  • 相关阅读:
    Data Structure(2)
    CoreAnimation —— CALayer
    [置顶] android AIDL 进程间通信
    UVA 10057 A mid-summer night's dream. 仲夏夜之梦 求中位数
    基于mini2440的IIC读写(裸机)
    外媒关注:中国法庭用新浪微薄直播薄熙来审判
    [置顶] 吃论扯谈---吃货和Office 365订阅的关系
    小智慧42
    机器学习如何选择模型 & 机器学习与数据挖掘区别 & 深度学习科普
    【Todo】【转载】Spark学习 & 机器学习(实战部分)-监督学习、分类与回归
  • 原文地址:https://www.cnblogs.com/yachengmuCC/p/16077387.html
Copyright © 2020-2023  润新知