b2c信息网

您现在的位置是:首页 > 热点事件 > 正文

热点事件

源码安装glusterfs(源码安装nginx)

hacker2022-06-14 11:03:00热点事件36
本文目录一览:1、如何安装FastDFS2、

本文目录一览:

如何安装FastDFS

Google了一下,流行的开源分布式文件系统有很多,介绍如下:

mogileFS:Key-Value型元文件系统,不支持FUSE,应用程序访问它时需要API,主要用在web领域处理海量小图片,效率相比mooseFS高很多。

fastDFS:国人在mogileFS的基础上进行改进的key-value型文件系统,同样不支持FUSE,提供比mogileFS更好的性能。

mooseFS:支持FUSE,相对比较轻量级,对master服务器有单点依赖,用perl编写,性能相对较差,国内用的人比较多

glusterFS:支持FUSE,比mooseFS庞大

ceph:支持FUSE,客户端已经进入了linux-2.6.34内核,也就是说可以像ext3/rasierFS一样,选择ceph为文件系统。彻底的分布式,没有单点依赖,用C编写,性能较好。基于不成熟的btrfs,其本身也非常不成熟。

lustre:Oracle公司的企业级产品,非常庞大,对内核和ext3深度依赖

NFS:老牌网络文件系统,具体不了解,反正NFS最近几年没发展,肯定不能用。

鉴于fastDFS是国人开发,也有国内的一些大公司在使用,so…

普通的文件架构其实一两年内也是没有问题的,但有句话叫未雨绸缪,于是决定折腾折腾。

源码下载:

寻求帮助:

一、安装libevent

fastDFS需要安装libevent比较新的版本,将本机的比较低的版本卸载了。

rpm -qa libevent

libevent-1.4.13-1.el6.x86_64

rpm -e --nodeps libevent

安装一个最新稳定版

wget

tar zxvf libevent-2.0.18-stable.tar.gz

cd libevent-2.0.18-stable

./configure

make make install

为libevent创建软链接到/lib库下,64位系统对应/lib64

ln -s /usr/local/lib/libevent* /lib/

ln -s /usr/local/lib/libevent* /lib64/

二、安装FastDFS

wget

tar zxvf FastDFS_v3.06.tar.gz

cd FastDFS

./make.sh

./make.sh install

三、配置FastDFS

环境:

tracker server

192.168.1.5

storage server

192.168.1.51

192.168.1.52

1、配置并启动 tracker server

①配置 tracker.conf

mkdir /data/fastdfs

vim /etc/fdfs/tracker.conf

base_path=/data/fastdfs

②启动 tracker

/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

③开机启动

vim /etc/rc.local

/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

2、配置并启动 storage server

①配置 tracker.conf

mkdir /data/fastdfs

mkdir /data/images

vim /etc/fdfs/storage.conf

base_path=/data/fastdfs

store_path0=/data/images

tracker_server=192.168.1.5:22122

②启动 tracker

/usr/local/bin/fdfs_storage /etc/fdfs/storage.conf

③开机启动

vim /etc/rc.local

/usr/local/bin/fdfs_storage /etc/fdfs/storage.conf

3、为storage节点安装fastdfs-nginx-module模块

①安装模块

安装Nginx详见:

需重新编译Nginx

wget

tar zxvf fastdfs-nginx-module_v1.10.tar.gz

wget

tar zxvf nginx-1.2.0.tar.gz

cd nginx-1.2.0

./configure --prefix=/usr/local/nginx --add-module=../fastdfs-nginx-module/src

make make install

cd ..

②配置

编辑nginx.conf

vim /usr/local/nginx/conf/nginx.conf

server {

listen 80;

server_name localhost;

location /M00 {

alias /data/images/data;

ngx_fastdfs_module;

}

......

}

给 storage 的存储目录做一个软连接

ln -s /data/images/data/ /data/images/data/M00

拷贝mod_fastdfs.conf 到 /etc/fdfs/

cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

vim /etc/fdfs/mod_fastdfs.conf

base_path=/data/fastdfs

tracker_server=192.168.1.5:22122

store_path0=/data/images

启动nginx

/usr/local/nginx/sbin/nginx

四、使用FastDFS

1、上传文件

FastDFS安装包中,自带了客户端程序,通过程序可以进行文件上传。在使用这个客户端程序之前,首先需要配置client.conf,然后再进行文件上传及下载。

在tracker上修改客户端配置文件client.conf

vim /etc/fdfs/client.conf

base_path=/data/fastdfs

tracker_server=192.168.1.5:22122

vim a.html

This Is FastDFS Test.

上传文件

/usr/local/bin/fdfs_test /etc/fdfs/client.conf upload a.html

This is FastDFS client test program v3.06

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General

Public License V3, which may be found in the FastDFS source kit.

Please visit the FastDFS Home Page

for more detail.

[2012-04-29 12:42:53] INFO - base_path=/data/tracker, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0

tracker_query_storage_store_list_without_group:

server 1. group_name=group1, ip_addr=192.168.1.51, port=23000

server 2. group_name=group1, ip_addr=192.168.1.52, port=23000

group_name=group1, ip_addr=192.168.1.51, port=23000

storage_upload_by_filename

group_name=group1, remote_filename=M00/00/00/wKgBM0-cxs32qFyYAAAADigvbpc90.html

source ip address: 192.168.1.51

file timestamp=2012-04-29 12:42:53

file size=14

file crc32=674197143

file url:

storage_upload_slave_by_filename

group_name=group1, remote_filename=M00/00/00/wKgBM0-cxs32qFyYAAAADigvbpc90_big.html

source ip address: 192.168.1.51

file timestamp=2012-04-29 12:42:53

file size=14

file crc32=674197143

file url:

上传成功

试试用

访问看看吧。

看了几天了,还是有些地方不是很明白,暂时搁置,不能再浪费时间了。

如何在gluster的源码中添加自己的xlator

glusterfs中主线为xlator,几乎每一个大的功能点,或者性能,都可以以xlator形式参与进glusterfs中,那么xlator的开发就必不可少,所以,这里介绍一下简单的向glusterfs中增加xlator的方法,首先创建一个卷testvol

[root@CM addxlator]# mkdir /opt/test

[root@CM addxlator]# gluster volume create testvol 192.168.0.194:/opt/test force

volume create: testvol: success: please start the volume to access data

[root@CM addxlator]# gluster volume info all

Volume Name: testvol

Type: Distribute

Volume ID: f0ef2a09-09c0-4a84-aeb6-3f2e0aebf4c2

Status: Created

Number of Bricks: 1

Transport-type: tcp

Bricks:

Brick1: 192.168.0.194:/opt/test

[root@CM addxlator]#

[root@CM addxlator]# gluster volume start testvol force

volume start: testvol: success

[root@CM addxlator]#

创建成功后,可以查看volume file中的内容

cat /var/lib/glusterd/vols/testvol/testvol-fuse.vol

volume testvol-client-0

type protocol/client

option transport-type tcp

option remote-subvolume /opt/test

option remote-host 192.168.0.194

end-volume

volume testvol-dht

type cluster/distribute

subvolumes testvol-client-0

end-volume

volume testvol-write-behind

type performance/write-behind

subvolumes testvol-dht

end-volume

volume testvol-read-ahead

type performance/read-ahead

subvolumes testvol-write-behind

end-volume

volume testvol-io-cache

type performance/io-cache

subvolumes testvol-read-ahead

end-volume

volume testvol-quick-read

type performance/quick-read

subvolumes testvol-io-cache

end-volume

volume testvol-open-behind

type performance/open-behind

subvolumes testvol-quick-read

end-volume

volume testvol-md-cache

type performance/md-cache

subvolumes testvol-open-behind

end-volume

volume testvol

type debug/io-stats

option count-fop-hits off

option latency-measurement off

subvolumes testvol-md-cache

end-volume

这个配置为默认的配置,接下来需要将自己的xlator增加入该配置中,根据之前所提到过的xlator_dyload的过程,需要修改这个volume file,来增加xlator,修改配置如下:

volume testvol-client-0

type protocol/client

option transport-type tcp

option remote-subvolume /opt/test

option remote-host 192.168.0.194

end-volume

volume testvol-dht

type cluster/distribute

subvolumes testvol-client-0

end-volume

volume testvol-write-behind

type performance/write-behind

subvolumes testvol-dht

end-volume

volume testvol-read-ahead

type performance/read-ahead

subvolumes testvol-write-behind

end-volume

volume testvol-io-cache

type performance/io-cache

subvolumes testvol-read-ahead

end-volume

volume testvol-quick-read

type performance/quick-read

subvolumes testvol-io-cache

end-volume

volume testvol-open-behind

type performance/open-behind

subvolumes testvol-quick-read

end-volume

volume testvol-md-cache

type performance/md-cache

subvolumes testvol-open-behind

end-volume volume testvol-test

type debug/test

subvolumes testvol-md-cache

end-volume volume testvol

type debug/io-stats

option count-fop-hits off

option latency-measurement off

subvolumes testvol-test

end-volume

可以看到,配置中多了个testvol-test这么一层,接下来将glusterfs挂载至挂载点查看输出log

[root@CM addxlator]#

[root@CM addxlator]# mount -t glusterfs 192.168.0.194:testvol /media

[root@CM addxlator]#

查看gluster挂载到的挂载点对应的log输出信息

cat /usr/local/var/log/glusterfs/media.log

[2013-06-10 11:00:29.899440] I [glusterfsd.c:1878:main] 0-/usr/local/sbin/glusterfs: Started running /usr/local/sbin/glusterfs version 3git (/usr/local/sbin/glusterfs --volfile-id=testvol --volfile-server=192.168.0.194 /media)

[2013-06-10 11:00:29.903627] I [socket.c:3515:socket_init] 0-glusterfs: SSL support is NOT enabled

[2013-06-10 11:00:29.903823] I [socket.c:3530:socket_init] 0-glusterfs: using system polling thread

[2013-06-10 11:00:29.909423] E [test.c:54:init] 0-testvol-test: test translator loaded

[2013-06-10 11:00:29.909718] I [dht-shared.c:311:dht_init_regex] 0-testvol-dht: using regex rsync-hash-regex = ^\.(.+)\.[^.]+$

[2013-06-10 11:00:29.911047] I [socket.c:3515:socket_init] 0-testvol-client-0: SSL support is NOT enabled

[2013-06-10 11:00:29.911173] I [socket.c:3530:socket_init] 0-testvol-client-0: using system polling thread

[2013-06-10 11:00:29.911218] I [client.c:2236:notify] 0-testvol-client-0: parent translators are ready, attempting connect on transport

Final graph:

经过查看log,可以看到test模块中的打印输出, in test translator lookup

接下来查看描述一下外挂xlator的方式

首先现在glusterfs的源代码,编译以后,在本地也就存在了glusterfs的开发环境,为了开发调试方便,可暂不将xlator存于glusterfs工程中,这时可以编写一个Makefile

首先建立一个目录

mkdir addxlator_sample

cd addxlator_sample

Makefile中内容可如下:

#Add translator into glusterfs volume file

#Author Steven Liu

#E-mail lingjiujianke@gmail.com

#Blog:

TARGET = test.so

OBJECTS = test.o

GLUSTERFS_SRC = /opt/glusterfs

GLUSTERFS_LIB = /usr/local/lib

HOST_OS = HF_LINUX_HOST_OS

CFLAGS = -fPIC -Wall -O0 -g \

-DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D$(HOST_OS) \

-I$(GLUSTERFS_SRC) -I$(GLUSTERFS_SRC)/libglusterfs/src \

-I$(GLUSTERFS_SRC)/contrib/uuid

LDFLAGS = -shared -nostartfiles -L$(GLUSTERFS_LIB) -lglusterfs -lpthread

$(TARGET): $(OBJECTS)

$(CC) $(OBJECTS) $(LDFLAGS) -o $(TARGET)

clean:

rm -rf $(TARGET) $(OBJECTS)

Makefile编写完成之后,需要OBJECTS,这时需要编写test.c来保证编译通过,当然,test这个xlator也需要在这里生成

#ifndef _CONFIG_H

#define _CONFIG_H

#include "config.h"

#include "xlator.h"

#endif

#include fnmatch.h

#include errno.h

#include "glusterfs.h"

#include "xlator.h"

#include stdarg.h

#include "defaults.h"

#include "logging.h"

int test_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this,

int32_t op_ret, int32_t op_errno,

inode_t *inode, struct iatt *buf,

dict_t *xdata, struct iatt *postparent)

{

STACK_UNWIND_STRICT (lookup, frame, op_ret, op_errno, inode, buf, xdata,

postparent);

return 0;

}

static int test_lookup(call_frame_t *frame, xlator_t *this, loc_t *loc, dict_t *xdata)

{

gf_log(this-name, GF_LOG_ERROR, "in test translator lookup");

STACK_WIND (frame, test_lookup_cbk,

FIRST_CHILD(this), FIRST_CHILD(this)-fops-lookup,

loc, xdata);

return 0;

}

static int test_stat (call_frame_t *frame, xlator_t *this, loc_t *loc, dict_t *xdata)

{

gf_log(this-name, GF_LOG_ERROR, "in test translator stat");

return 0;

}

int

reconfigure (xlator_t *this, dict_t *options)

{

return 0;

}

int

init (xlator_t *this)

{

struct ios_conf *conf = NULL;

int ret = -1;

gf_log (this-name, GF_LOG_ERROR, "test translator loaded");

if (!this)

return -1;

if (!this-children) {

gf_log (this-name, GF_LOG_ERROR,

"test translator requires atleast one subvolume");

return -1;

}

if (!this-parents) {

gf_log (this-name, GF_LOG_ERROR, "dangling volume. check volfile ");

}

conf = this-private;

this-private = conf;

ret = 0;

return ret;

}

void

fini (xlator_t *this)

{

struct ios_conf *conf = NULL;

if (!this)

return;

conf = this-private;

if (!conf)

return;

this-private = NULL;

GF_FREE(conf);

gf_log (this-name, GF_LOG_ERROR, "test translator unloaded");

return;

}

int

notify (xlator_t *this, int32_t event, void *data, ...)

{

default_notify (this, event, data);

return 0;

}

struct xlator_fops fops = {

.stat = test_stat,

.lookup = test_lookup,

};

struct xlator_cbks cbks = {

};

struct volume_options options[] = {

};

目前仅用于测试的xlator而已,所以自己定义了lookup与stat,还有lookup_cbk,其他的并未定义,全部走default,这个原理在之前已经提到过。

然后执行make既可生成对应的xlator文件

Makefile test.c test.o test.so

将test.so复制至/usr/local/lib/glusterfs/3git/xlator/debug中

然后执行glusterfs的客户端,mount至挂载节点,如果成功,可以查看log,整个过程成功矣~~!

转载

CentOS挂载Glusterfs失败怎么办

 执行的mount命令:

mount target_host:/volume_name current_path

执行mount命令后,提示错误信息

/usr/sbin/start-statd: line 8: systemctl: command not found

mount.nfs: rpc.statd is not running but is required for remote locking.

mount.nfs: Either use ‘-o nolock’ to keep locks local, or start statd.

mount.nfs: Operation not permitted

一般情况下,用到Glusterfs存储的地方至少都是两台机器来配置完成的,在各自的机器上能够正常的启动相应的服务;然而,在执行gluster volume info命令查看定义的volume信息时,会发现非本机存储的机器状态为offline,这时无论是在本地还是其他地方做mount 时都不会成功,会提示timeout(链接超时) —— 这就是问题所在(网络不通畅);

这时,需要处理机器间的网络配置,这里有两点:

1、查看各机器的iptables配置,备份之前的iptables配置(/etc/sysconfig/iptables),然后导出生效的iptables(service iptables save),查看核对现有的与导出前的配置是否存在不同,存在则修复,最后重启iptables服务(service iptables restart);

2、查看各机器的IP配置是否发生变化(ifconfig),是否同一网段,若配置存在变动,则更改回原始配置,重启网络服务(service network restart);

以上网络问题解决后,再次执行mount target_host:/volume_name current_path(一般不需要参数-t glusterfs)完成对gluster管理的volume的挂载;此时,如果挂载失败,则加上-t参数,即mount -t glusterfs target_host:/volume_name current_path

求助:配置glusterfs参数后服务启动不了

你装系统时候是在你自己的机器上装的还是把硬盘拿下来到别人机器上装的?如果是后者可能会出现你说的情况也许是主板BIOS有问题系统文件有丢

黑马程序员Linux运维培训怎么样?

1、什么是运维工程师?

运维工程师,服务器与系统安全稳定的掌舵者!当一个产品(如Web网站、APP软件、网络游戏等)正式上线后,产品、开发、测试类的工作就正式结束了,接下来的维护和管理工作就会全部移交给运维工程师。

运维工程师的主要工作职责就是负责服务器的架构设计以及云计算平台管理,保障软件的稳定运行。没有开发以及测试类工作复杂且工作解决方案相对固定。更重要的是没有年龄以及学历的限制,随着工作年限和工作经验地增长,也会越老越吃香。

2、运维工程师工作场景

3、IT行业有哪些比较典型运维案例

当然不仅仅是淘宝、12306,其实你使用的每一个APP背后都有一个强大的运维团队在为其提供专业的技术支持。

运维工程师是一个产品必不可少的环节,也是一个产品成功与否的关键!

4、运维行业发展前景怎么样?

5、运维岗位发展方向有哪些?

6、运维工程师岗位薪资情况

1-2年薪资情况= 8k ~20k

3-5年薪资情况= 20k~ 35k

5年以上薪资情况= 50 ~60万/年

7、黑马运维学科学员就业率和就业薪资怎么样?

运维学科2019全年所有班级就业率93.5%,平均薪资8.7k起,最高薪资25k* 14薪

三、运维课程

1、第一阶段:Linux运维基础功

运维基础:运维发展史、计算机概述、计算机组成、操作系统学完此阶段可掌握的核心能力:熟练掌握Linux操作系统的安装(CentOS7.6)、配置、基础命令、VIM编辑器、用户管理、权限管理、自有服务、进程检测与控制、阿里云平台管理、开源CMS项目上线部署实战。

Linux操作系统:Linux系统概述、虚拟机、CentOS7.6系统安装,Linux基础命令

Linux下文件管理(上):文件命名规则、目录管理、文件管理、文件复制与剪切、重命名、Linux文件打包与压缩、文件处理命令

Linux下文件管理(下):VIM编辑器介绍、VI与VIM的区别、VIM安装与配置、四种工作模式(命令模式,编辑模式,末行模式,可视化模式)、相关VIM指令、VIM扩展功能、VIM总结

Linux下用户管理:用户和组的相关概念、用户组管理、用户管理、用户密码设置、切换用户、Linux用户管理实战

Linux下权限管理:权限的基本概念、权限在生产环境中的作用、Linux权限类别(rwx)、Linux文件所有者类别(ugo)、普通权限设置(字母+数字)、文件属主与属组设置、高级权限、ACL权限控制、umask

Linux下自有服务+软件包管理:自由服务概述、systemctl管理服务命令、ntp时间同步服务、firewalld防火墙、crond计划任务、设备挂载与解挂、rpm包管理工具

Linux进程检测与控制:进程与程序的概念、进程管理命令(top命令,free命令,df命令,ps命令,netstat命令,kill命令与killall命令)、进程优先级设置

阿里云平台管理与开发CMS项目上线部署实战:云计算平台概述、阿里云平台注册、登录与管理、项目背景、LAMP环境概述、YUM指令、LAMP环境搭建、开源CMS项目上线部署实战

学完此阶段可解决的现实问题:能够根据企业实际项目需求实现服务器部署与架构。

学完此阶段可拥有的市场价值:熟练掌握之后,可以满足市场对初级运维工程师的需求,但是市场就业工资相对较低,还是建议继续学习就业班课程。

2、第二阶段:Linux系统服务篇

Linux高级指令:基础命令回顾、find命令之高级搜索、tree命令、scp文件上传与下载、计划任务crontab + tar实现定时备份、用户管理高级、文件权限管理高级

Linux下软件包管理:软件包管理任务背景、Linux下软件包概述、RPM包管理工具、YUM包管理工具、YUM源配置(公网YUM源,本地YUM源、自建YUM源仓库)、源码安装概述、源码安装三步走、源码安装实战

Linux远程管理服务SSH:SSH任务背景、SSH服务概述,yum源配置,SSH服务安装与配置实战,公私钥概念,SSH免密码登录

Linux数据同步RSYNC:RSYNC任务背景、RSYNC介绍、RSYNC基本语法、本机同步与远程同步、把RSYNC作为系统服务、RSYNC结合INOTIFY实现实时同步、RSYNC托管XINETD

Linux下文件共享服务FTP、NFS、SAMBA:文件共享任务背景、FTP服务介绍、FTP工作模式(主动模式+被动模式)、FTP服务搭建、客户端工具(ftp、lftp使用)、FTP访问控制、NFS服务介绍、NFS服务搭建、配置文件详解、NFS任务背景及解决方案、SAMBA服务介绍、SAMBA服务搭建、配置文件详解、文件共享服务总结

DNS域名管理服务:DNS服务介绍、DNS的作用、DNS服务搭建、正向解析、反向解析、多域搭建、NTP时间服务器、主从DNS架构

源码构建LAMP环境及部署业务应用:LAMP任务背景、Web服务器环境准备、软件编译回顾、编译安装MySQL、编译安装Apache、编译安装PHP、后期配置、Web应用系统部署实战

Linux下日志管理服务RSYSLOG:日志管理任务背景、查看日志、日志管理服务(RSYSLOG概述,日志列表,日志级别,相关符号,配置文件)、RSYSLOG本地日志管理、RSYSLOG远程日志管理、日志管理应用实践

Linux 磁盘管理:磁盘管理任务背景、磁盘管理概述、fdisk命令详解、Linux分区概述、Linux分区实战、逻辑卷介绍、逻辑卷基本概念(PV、VG、PE、LV)、逻辑卷LVM应用操作实战、RAID介绍、RAID常见级别、软硬RAID、软RAID应用实践

Shell脚本编程:Shell概述、变量、Shell流程控制、Shell数组、Shell函数、Shell特殊用法、正则表达式、Shell编程实战

数据库DBA:MySQL概述,MySQL5.7安装,MySQL配置,MySQL基本操作、SQL语句详解、MySQL索引、MySQL备份与还原、MySQL主从复制、MHA高可用架构、MySQL企业级应用实战

学完此阶段课掌握的核心能力:

1、了解Linux系统运行原理,实现Linux服务器的维护与管理;

2、了解Linux系统相关服务,能根据企业需求实现企业运维工作。

学完此阶段可解决的现实问题:能实现企业Linux服务器的日常维护与管理,搭建SSH、文件共享、DNS、Apache等服务、能独立完成系统日志分析、Shell脚本编程、数据库DBA等相关工作。

学完此阶段可拥有的市场价值:熟练学习和掌握后,可满足企业运维的初中级需求。

3、第三阶段:千万级商城系统架构设计

源码构建企业级LNMP架构及电商系统上线部署:千万级商城系统架构设计任务背景、Web项目开发流程、Linux服务器环境准备、LNMP环境概述、MySQL数据库服务搭建、Nginx软件服务搭建、PHP软件服务搭建、Web商城项目部署上线

大型WEB服务软件Nginx部署介绍使用:Nginx软件概述、Nginx平滑升级、nginx.conf配置文件详解、虚拟主机配置、Nginx默认官方模块详解(GZIP压缩,客户端缓存,反向代理,基于IP/用户的访问控制,目录显示)、日志管理、日志轮转、第三方日志管理软件GoAccess、Location区块、URL重写、第三方模块安装与配置、Nginx安全管理、Nginx其他衍生版本(Tengine,OpenResty)

WEB高可用集群架构设计及实现(keepalived):WEB高可用集群架构设计任务背景、单点数据库迁移、HA高可用集群概述、Keepalived软件介绍、Keepalived组成和原理、VRRP协议、安装与配置Keepalived、Nginx服务高可用实践、Keepalived扩展内容(非抢占模式、VIP脑裂、单播模式)

WEB负载均衡服务器集群架构设计及实现LB(Nginx/LVS/HAProxy):WEB负载均衡服务器集群架构设计任务背景、为什么需要LB负载均衡技术、LB负载均衡架构图、负载均衡分类、常见负载均衡实现方式、LB负载均衡环境准备、Nginx负载均衡实现、负载均衡算法、Session共享解决方案、高可用负载实践; LVS概述、LVS工作原理、LVS核心组件、LVS三种工作模式(NAT模式、DR模式、TUN隧道模式)、LVS/NAT原理和特点、LVS/DR原理和特点、LVS/TUN原理和特点、LVS的十种调度算法、LVS/NAT模式部署实践、LVS/DR模式部署实践; HAProxy概述、HAProxy安装与部署、haproxy.cfg配置文件详解、常见问题分析、HAProxy调度算法、HAProxy负载均衡应用实践

MyCAT读写分离:MySQL读写分离任务背景、读写分离的目的、读写分离常见的实现方式、搭建M-S主从复制、代码实现读写分离、MyCAT实现读写分离实战(JDK配置、MyCAT配置文件详解、读写分离实践、高可用实践、分库分表、MyCAT企业级案例实践)

非关系型数据库NoSQL(Memcache/Redis/MongoDB):非关系型数据库任务背景、Web项目访问流程、优化方案、缓存技术引入、memcached介绍、memcached安装与部署、telnet客户端使用、memcached指令详解、memcached tools工具使用、LRU失效机制、PHP memcached扩展安装、Session入memcached、缓存项目的热点数据; Redis介绍、Redis应用场景、Redis源码安装、客户端工具使用、Redis数据结构详解、数据持久化操作(快照+AOF)、企业级案例(主从,安全限制,PHP Redis扩展,Session入Redis);MongoDB任务背景、MongoDB安装和配置、数据结构类型操作CURD、MongoDB安全设置、PHP扩展、桌面管理软件、企业级日志统计实践

JAVA项目架构设计实战(LNTM架构):Java项目任务背景、Tomcat概述、Tomcat安装与部署、Tomcat企业级管理、Host虚拟主机配置、Server Status服务器状态、应用管理、Nginx动静分离、Nginx+Tomcat负载均衡、Maven概述、Maven项目打包、Maven项目部署

存储(NAS/SAN/GlusterFS/Ceph):存储概述、Linux存储分层、存储的分类(DAS,NAS,SAN)、存储类型的分类(文件存储、块存储、对象存储)、SAN的分类、IP-SAN之iscsi实现; 分布式存储、Glusterfs介绍、raid级别回顾、常见卷的模式、Glusterfs集群、环境准备、集群部署、创建glusterfs存储卷、客户端使用、卷的删除、常见卷类型(stripe模式、distributed模式、distributed-replica模式、dispersed模式、distributed-dispersed模式)、其它卷类型、glusterfs分部署存储应用实战; 认识Ceph、Ceph架构原理图、Ceph集群、Ceph集群组件、Ceph集群环境准备、Ceph集群部署实践、RADOS原生数据存取、Ceph文件存储、Ceph块存储、Ceph对象存储、Ceph对象存储+owncloud打造云盘系统、Ceph Dashboard(拓展)

配置自动化(Ansible/SaltStack):自动化运维任务背景、认识ansible、ansible安装与配置、服务器分组、ansible模块(hostname模块,file模块,copy模块,yum模块,service模块,command和shell模块,scriYAML格式pt模块)、playbook介绍、playbook实例、playbook编排应用、roles介绍、roles的目录结构、roles应用案例; saltstack介绍、saltstack安装与配置、saltstack远程执行命令、grains、pillar、配置管理文件、配置管理目录、配置管理命令、配置管理计划任务、其他命令、salt-ssh使用

企业级监控平台(Zabbix/Prometheus):企业级监控任务背景、监控的目的、主流的开源监控平台、Zabbix概述、Zabbix服务器安装、Zabbix监控本机与远程主机、模板、监控项与应用集、图形、触发器、报警、Zabbix代理、主动监控与被动监控、Zabbix应用部署实战; 认识Prometheus、Prometheus原理架构图、Prometheus监控安装部署、Prometheus监控远程主机、远程MySQL、Grafana介绍、Grafana安装与登录、Prometheus结合Grafana实现Linux系统监控、CPU监控、MySQL监控等等、Grafana报警系统实践

企业级日志分析(ELK/Kafka):ELK任务背景、ELK概述、elasticsearch部署、elasticsearch基础概念、elaticsearch基础API操作、ES查询语句、elasticsearch-head、logstash简介、logstash部署、日志采集、采集messages日志、采集多日志源、kibana介绍、kibana部署、kibana汉化、通过kibana查看集群信息、通过kibana查看logstash收集的日志索引、通过kibana做可视化图形、filebeat介绍、filebeat收集日志、filebeat传输给logstash、filebeat收集nginx日志、filebeat日志过滤

CI/CD(Git、Gitlab、Jenkins):CI/CD任务背景、版本控制概念、Git安装、Git身份设置、Git创建本地仓库、Git暂存区、Git版本控制、Git分支管理、扩展:Windows版Git; Github概述、GitHub注册、创建项目、远程仓库、免密push、分支、多人协作; GitLab介绍、GitLab下载、安装与配置、GitLab配置、仓库管理、持续集成(CI)、持续交付(CD)、蓝绿部署、滚动更新、灰度发布

运维安全(SSL与CA认证/防火墙/ VPN/JumpServer与Teleport跳板机):运维安全任务背景、运维安全概述、硬盘分区加密(扩展)、对称加密、非对称加密、数字签名、SSL与CA认证、SSL介绍、CA认证介绍、https应用实践; 防火墙概述、iptables的应用、iptables防火墙结构、iptables基本语法、iptables四表五链、企业级防火墙规则设置、firewalld包过滤、firewalld与iptables的区别、firewalld防火墙规则设置、firewall-config图形模式; VPN任务背景、隧道介绍、net-to-net隧道通讯、VPN介绍、IPSec协议、libreswan实现net-to-netVPN、三网络VPN互联、roadwarrior VPN(libreswan实现点对网VPN,openvpn实现点对网vpn,使用pptpd实现VPN),PAM认证,LDAP,开源堡垒机jumpserver,轻量级开源堡垒机teleport(拓展)

学完此阶段可掌握的核心能力:

1、 具备Linux服务器架构设计能力,保证应用架构合理可控;

2、具备监控检查系统软硬件运行状态,保证系统安全稳定运行的能力;

3、具备CI/CD持续集成/持续支付能力;

4、具备配置自动化以及日志分析能力;

5、具备解决复杂问题和技术难点的能力。

学完此阶段可解决的现实问题:

1、掌握Java、PHP服务器架构能力;

2、能够独立搭建企业级高可用服务器(集群、高可用、负载均衡、缓存、存储);

3、掌握阿里云/华为云产品实战;

4、能使用Zabbix/Prometheus搭建企业级监控;

5、能够熟练掌握CI/CD持续集成/持续支付工具;

6、能够使用Ansible/SaltStack实现运维自动化;

7、能使用ELK实现企业级日志分析;

8、能够掌握常见运维安全防护手段。

学完此阶段可拥有的市场价值:熟练掌握和学习后,可满足Linux运维行业中高级需求。

4、第四阶段:Linux云计算运维

KVM虚拟化:KVM任务背景、计算机工作原理、虚拟化概述与分类、KVM环境准备、KVM安装、使用KVM安装虚拟机、KVM基础管理命令、KVM配置文件、KVM克隆、KVM网络管理、快照、设备管理、存储池管理、磁盘镜像管理、虚拟机快速创建脚本

公有云运维(阿里云[ECS/RDS/SLB/CDN/OSS/NFS]):公有云任务背景、阿里云概述、VPC专有网络、阿里云安全组、云服务器ECS、自定义镜像、阿里云SLB、阿里云RDS、阿里云存储(NAS与OSS)、CDN、域名与域名解析、SSL证书、数据传输DTS、云监控、DDOS高防、容器服务、公有云企业级案例应用实践

私有云运维之OpenStack平台:私有云任务背景、OpenStack概述、OpenStack组件及其作用(Compute 计算服务、Networking 网络服务、Object Storage 对象存储、Block Storage 块存储服务、Identity 身份认证、Image Service 镜像服务、Dashboard UI页面、Metering 测量服务、Orchestration 编排部署、Database Service 云数据库)、OpenStack自动部署、OpenStack手工部署、OpenStack云平台应用实践

Docker容器技术:Docker容器技术任务背景、PAAS平台介绍、认识容器、Docker介绍、Docker内核技术(NameSpace,Control Group,LXC与docker区别)、Docker环境准备、Docker软件安装、Docker Daemon管理、镜像、容器、仓库、Docker存储驱动、Docker应用实践、Dockerfile概述、使用Dockerfile构建镜像、单宿主机容器互联方式、Docker网络、Docker的Web管理平台、Docker三剑客(Docker machine、Docker compose、Docker swarm)、Docker容器应用部署实践

Kubernetes(K8S)容器编排工具:Kubernetes(K8S)容器编排任务背景、认识容器编排、Kubernetes概述、Kubernetes架构、集群部署方式、Kubeadm部署Kubernetes集群、集群与节点信息、节点标签、namespace命名空间、工作负载(workloads)、pod概述、pod分类、pod的YAML格式、pod资源限制、pod调度、pod生命周期、pod控制器、service、ingress controller、kubernetes存储卷、ceph集群部署、ConfigMap、Secret、PV与PVC、API网关 kong、包管理方案 helm2、存储解决方案 GlusterFS、服务网格 istio、监控解决方案 heapster、应用实践 gitlab-ce、应用实践 jenkins、应用实践 kafka、应用实践 zookeeper应用实践 配置中心Apollo

综合案例:Docker+K8S企业级项目应用实践

学完此阶段可掌握的核心能力:

1、熟练掌握虚拟化技术;

2、掌握公有云与私有云架构实战;

3、熟练使用容器与容器编排工具;

4、熟练掌握企业级云计算技术应用实践。

学完此阶段可解决的现实问题:

1、能够使用KVM实现虚拟化;

2、能够掌握公有云与私有云服务器架构实战;

3、能够熟练使用Docker容器;

4、能够熟练使用Kubernetes(K8S)容器编排工具;

5、能够熟练掌握Docker+Kubernetes(K8S)项目架构设计

学完此阶段可拥有的市场价值:熟练掌握和学习后,可满足Linux云计算架构工程师的高级需求。

5、第五阶段:Python CMDB运维开发(DevOps)

HTML5:HTML简介、HTML标签详解、字符编码的奥秘、HTML5新特性与常用标签

CSS3:CSS简介、CSS的引入方式、CSS基本选择器、CSS属性、盒子模型、CSS浮动、CSS3新特性与常用属性、CSS应用案例

Bootstrap:Bootstrap环境搭建、全局样式、网页排版、表单、图片及辅助类、网页布局、Bootstrap组件、CMDB后台布局实战

JavaScript/Ajax/jQuery:JavaScript简介、Javascipt语法基础、BOM模型、DOM模型、Ajax概述、Ajax中的get与post请求、Ajax案例、jQuery框架概述、jQuery选择器、jQuery事件、jQuery与Ajax、JavaScript应用实践

Python基础:Python概述、Python环境部署、变量、标识符和关键字、输入和输出、数据类型转换、条件控制语句和循环语句、容器类型、函数、文件操作

Python高级:面向对象、异常处理、模块和包、Python与MySQL应用实践

Django框架:Django框架介绍、Django模型、ORM及数据库操作、视图及模板、Django中间件

综合项目:Python+Django实现CMDB企业自动化运维平台

学完此阶段可掌握的核心能力:

1、掌握Web前端开发相关技术如HTML5/CSS3/JavaScript;

2、掌握Python运维相关模块;

3、掌握Python Django框架;

4、具备一定的Python运维开发能力。

学完此阶段可解决的现实问题:

1、具备一定的编程思维,为未来系统架构师铺路搭桥;

2、能够熟练掌握Python运维相关模块实现运维管理;

3、能够使用Python+Django开发企业自动化运维平台。

学完此阶段可拥有的市场价值:熟练掌握和学习后,可满足Linux运维行业的高级需求。

发表评论

评论列表

  • 离鸢徒掠(2022-06-14 16:48:23)回复取消回复

    test translator requires atleast one subvolume");return -1;}if (!this-parents) {gf_log (this

  • 性许离鸢(2022-06-14 11:34:51)回复取消回复

    、Prometheus监控安装部署、Prometheus监控远程主机、远程MySQL、Grafana介绍、Grafana安装与登录、Prometheus结合Grafana实现Linux系统监控、CPU监控、MySQL监控等等、Grafana报警系统实践企业级日志分析(ELK/Kafka):

  • 瑰颈节枝(2022-06-14 13:19:39)回复取消回复

    式、TUN隧道模式)、LVS/NAT原理和特点、LVS/DR原理和特点、LVS/TUN原理和特点、LVS的十种调度算法、LVS/NAT模式部署实践、LVS/DR模式部署实践; HAProxy概述、HAProxy安装与部署、haproxy

  • 孤央鹿岛(2022-06-14 19:31:31)回复取消回复

    temctl管理服务命令、ntp时间同步服务、firewalld防火墙、crond计划任务、设备挂载与解挂、rpm包管理工具Linux进程检测与控制:进程与程序的概念、进程管理命令(top命令,free命令,df命令,

  • 世味涴歌(2022-06-14 14:55:25)回复取消回复

    ads)、pod概述、pod分类、pod的YAML格式、pod资源限制、pod调度、pod生命周期、pod控制器、service、ingress controller、kubernetes存储卷、ceph集群部署、ConfigMap、Secret、PV与PV