新手做linux运维需要学哪些知识

新手做linux运维需要学哪些知识,第1张

1、Linux系统基础

严格的来讲,Linux 不算是一个 *** 作系统,只是一个 Linux 系统中的内核,即计算机软件与硬件通讯之间的平台;Linux的全称是GNU/Linux,这才算是一个真正意义上的Linux系统。GNU是Richard Stallman组织的一个项目,世界各地的程序员可以变形GNU程序,同时遵循GPL协议,允许任何人任意改动。但是,修改后的程序必须遵循GPL协议。

Linux 是一个多用户多任务的 *** 作系统,也是一款自由软件,完全兼容POSIX标准,拥有良好的用户界面,支持多种处理器架构,移植方便。

为程序分配系统资源,处理计算机内部细节的软件叫做 *** 作系统或者内核。如果你希望详细了解 *** 作系统的概念,请查看 *** 作系统教程。

用户通过Shell与Linux内核交互。Shell是一个命令行解释工具(是一个软件),它将用户输入的命令转换为内核能够理解的语言(命令)。

2、网络服务

服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如FTP, DNS,SAMBA, 邮件, 这几个大概学一下就行。

其实网络服务方面不用太担心,一般公司的环境都已经搭建好,就算有新服务器或让你整改,公司会有相应的文档让你参照来弄,不会让你乱来的,但至少相关的配置一定要学熟,而且肯定是编译安装多,那些模块要熟悉一下他的作用,特别是PHP那些模块。

这面2点只是基础,也是必要条件,不能说是工具,下以才是真正的要掌握的工具。

3、shell脚本和另一个脚本语言

shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本吧,这是最最最基本了。别以为会写那些猜数字和计算什么数的,这些没什么作用,只作学习意义,写系统脚本才是最有意义。

Shell是系统的用户界面,提供了用户与内核进行交互 *** 作的一种接口。它接收用户输入的命令并把它送入内核去执行 。

实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。

Linux提供了像MicrosoftWindows那样的可视的命令输入界面--X Window的图形用户界面(GUI)。它提供了很多桌面环境系统,其 *** 作就像Windows一样,有窗口、图标和菜单,所有的管理都是通过鼠标控制。GNOME。

每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。

同Linux本身一样,Shell也有多种不同的版本。主要有下列版本的Shell:

Bourne Shell:是贝尔实验室开发的。

BASH:是GNU的Bourne Again Shell,是GNU *** 作系统上默认的shell。

Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。

C Shell:是SUN公司Shell的BSD版本。

Z Shell:The last shell you’ll ever need! Z是最后一个字母,也就是终极Shell。它集成了bash、ksh的重要特性,同时又增加了自己独有的特性。

而另一个脚本语言是可选的,一般是3P,即Python,Perl和PHP,PHP就不需要考虑了,除非你要做开发,我个人建议学Python会比较好,不难实现自动化运维,Perl是文本处理很强大,反正这两个学一个就行了。

4、sed和awk工具

必须要掌握,在掌握这两个工具同时,还要掌握正则表达式,这个就痛苦了,正则是最难学的表达式,但结合到sed和awk中会很强大,在处理文本内容和过滤WEB内容时十分有用,不过在学shell的同时一般会经常结合用到的,所以学第3点就会顺便学第4点。

5、文本处理命令

sort , tr , cut, paste, uniq, tee等,必学,也是结合第3点时一并学习的。

6、数据库

首选MySQL,别问我为什么不学SQL Server和Oracle,因为Linux用得最多绝对是MySQL。增删改查必学,特别要学熟查,其它方面可能不太需要,因为运维人员使用最多还是查,哪些优化和开发语句不会让你弄的。

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

7、防火墙

不学不行,防火墙也算是个难点,说难不难,说易不易,最重要弄懂规则。如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表,原理是一样的,而Filter表用得最多,反正不学就肯定不合格。

8、监控工具

十分十分重要,我个人建议,最好学这3个,cacti,nagios,zabbix。企业用得最多应该是nagios和 zabbix,反正都学吧,但nagios会有点难,因为会涉及到用脚本写自动监控,那个地方很难。

Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。

Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。

9、集群和热备

这个很重要,肯定要懂的,但到了公司就不会让你去弄,因为新手基本不让你碰。集群工具有很多,最好学是LVS,这是必学,最好也学学nginx集群,反向代理。还有热备,这个就更多工具能实现了,像我公司是自己开发热备工具的,MySQL热备也要学,就是主从复制,这个别告诉我容易,其实不容易的,要学懂整个流程一点也不容易,只照着做根本没意思。

10、数据备份

不学不行,工具有很多,但至少要把RAID的原理弄懂,特别是企业最常用的1+0或0+1,自己做实验也要弄出来,备份工具有很多,如tar, dump, rsync等,最好多了解一下。

Linux运维是一个融合多学科的综合性技术岗位,完全精通Linux运维之后可以从事多个岗位的工作,可以满足不同人群的需求,具体岗位如下:
1、Linux运维工程师:主要负责产品运维的工作,具有一定的开发能力,需要深入了解业务内容,能够判断系统架构的优缺点对比,对业务的掌握也决定了运维工程师的未来发展前景。
2、数据库工程师:是一个非常重要的岗位,也是公司非常重视的职位,主要包含数据库内核、云数据库等,长远的发展可以从事技术专家、数据库架构师等职位。
3、Linux研究工程师:该职业是专门研究运维相关通用平台和技术,需要具有一定的产品运维经验和需求,对研发能力要求也是比较高的,长远发展可以从事技术专家方面的工作。
4、Linux运维总监:该岗位属于管理岗位,对于人员要求需要具备丰富的运维经验,同时需要具备协调和推进能力,拥有一定的技术基础。
5、云平台开发:现在大的云平台基本都是基于Linux的KVM的,国内国外很多大公司都在使用Linux,门槛要求很高,需要掌握的知识也有很多。

这个要分情况具体看待:
第一种情况,如果只是一个公司的网络运维,类似网络管理维护岗位的话,那么基本包括:1、熟悉主要几种品牌的交换机、路由器、防火墙等硬件设备的配置,具备构建小型局域网的能力;2、计算机、打印机、无线AP等设备的基本故障排除、IP配置、硬件维护的能力;3、公司服务器的系统安装、调测、配置、维护能力;4、基本的综合布线、实地 *** 作能力。
第二种情况,如果是运维工程师类,需要掌握的不论是理论知识,或者 *** 作能力上,都有更高的要求;各类 *** 作系统的深度精通;精通主要几种编程语言;精通网络系统、数据库的开发;网络安全的配备等。

问题一:想学 网络运维工程师 需要什么要求 如何入门呢? 你是打算自学是吗?运维不仅仅是单机方面的知识哟,还涉及局域网,还有路由交换等等呢!你现在到底有什么样的基础,大家也不是很清楚哈。要不你说说自己的情况吧。

问题二:我想做运维工程师,应该学些什么 linux的各种服务器,还有就是各种路由交换的协议,以及会脚本的制作,网络结构规划,等等。

问题三:运维工程师需要什么技能? 最好的方法就是去看一些招聘网站的招聘简介了 已经很全了
岗位职责:
1、负责公司网络总体系统及子系统的维护;
2、负责网络整体架构规划、实施、优化、安全;
3、负责整体网络的 *** 作规范文档编写,整合系激资源;
4、负责整体网络的风险评估与备份系统实现;
5、研究主流的互联网应用技术,并负责将此是现在公司业务系统测试及应用;
6、公司整体网络架构规划,实施及维护;
7、主动发现问题,提出合理化建设,积极提出优化手段和建议。
任职资格:
1、大专学历,3年以上工作经验;
2、能够承受一定的工作压力,具备良好的沟通协调能力及突发事件单独处理能力;
3、熟悉unix/linux *** 作系统;
4、熟悉Linux下不同数据库的安装和调试,熟练使用shell脚步语言;
5、精通LAMP架构,对LAMP架构的部署、搭建、优化、排错等方面有丰富的经验。对高负载、大访问量 情况下的LAMP架构有运维经验者优先。
6、熟悉Linux下不同的存储解决方案,同时管理超过50太以上的linux服务器组,有整体管理经验者优先;
7、利用syslong收集各个关键出口设备情况,充分利用snmp协议,规划并架设一整套网络监控系统;
8、具备独立的工作能力,良好的沟通能力和团队精神,高度的责任心,工作积极主动

问题四:运维工程师需要学习哪些课程 *** 作系统概述、文件系统管理、unix作业管理、网络模型、UDP协议、网络层协议、各类局域网。
Linux基础知识、Vim使用、Shell编程、软件包管理、常用Server、容量分析、性能优化等。
AIX系统管理概述、系统管理工具、软件安装与维护、备份与恢复、网络管理基础、故障诊断、案例分析等。
powerHA概念和实施规划、VIO搭建和部署、日常检查、Oracle体系结构、客户机连接SQL语句、OracleRAC搭建等。

问题五:运维工程师必须掌握的基础技能有哪些 技能:
1 Linux基础
包括对Linux整体的理解/使用和基本命令:
了解Linux FHS : Filesystem Hierarchy Standard,国人写的这本书不错 Linux系统架构与目录解析 (豆瓣)
入门Linux:鸟哥的Linux私房菜基础学习篇(第三版) (豆瓣) 个人认为鸟哥的这本书是一本非常好的入门书
基本 *** 作命令:Google,如Linux mand cheat sheet
熟悉至少一个内置编辑器: vi, nano
至少熟悉一个发行版(或系列),建议作为服务器常用的如Centos, Debian, Ubuntu,可以了解多个常用发行版
2 运维的命令:
运维相关的工具(命令),了解它能解决很多问题。
前几天刚回答了一个问题:如何才能更深入的学习linux?
里面的图在这里也可以用到:
可以对着图对学习了解这些命令。
另外我个人也会对平时用到的这些工具做一个整理和记录,总结到我的个人维基上:Wiki ・ Tanky Woo
3 基础服务:
LAMP或LNMP :Apache/Nginx,MySQL,PHP/Python/Perl LAMP (software bundle)
FTP
DNS
SAMBA
EMAIL
NTP
DHCP

可以本地搭建练练手
这里推荐鸟哥另外一本书 服务器架设篇: 鸟哥的Linux私房菜 (豆瓣)
4 运维平台工具:
也在这个问题 如何才能更深入的学习linux? 里提到了:
Nagios
Puppet
Zabbix
Cacti
SaltStack

可以选择性的折腾下,因为这个涉及到业务,没有实际环境,很难去理解他们的功能和特点。
5 脚本:
必备:Shell
额外:Python,Perl
6 底层:
Linux C,内核
7 网络:
网络是非常重要的一块
把《TCP/IP协议详解》多看几遍,理解。
熟练使用tcpdump等抓包工具
8 安全:
防火墙配置,如 iptables
9 硬件:
接口类型
查看硬件信息
知道各类型服务器,如塔式、机架式、刀片式
10 其它:
了解更多特定技能要求的方式:
Google搜Linux运维工程师 招聘,看看他们的需求。
最后推荐一本书:Unix/Linux系统管理技术手册 UNIX/Linux 系统管理技术手册 (豆瓣)
后续想到再做补充
素养/处理方式:
除了技能,我觉得素养(态度)也可以谈谈
这个正好看到右边相关问题:运维工程师需要具备哪些性格特质?
1 安全
运维人员的权限很大,所以一定要保证帐号/私钥的安全。
最好使用加密工具存储。比如truecrypt,1password
基于本地存储。切勿用网盘,也不建议用lastpass等
ssh私钥添加密码
以上任何一点都很重要,否则弄丢了,风险会非常大。
2 责任心
如上面那个帖子里 @山大 提到的 Owner 意识
遇到报警,第一时间处理,而不要等着他人去处理
如果无法处理,应该第一时间让同事协助帮忙,而不要禁止报警,让问题掩盖
3 细心
你的任何一个 *** 作,都可能造成系统的损坏、业务出问题。所以敲命令时一定要细心、再三确认。你敲的再快,也就节省那么一点时间,出了问题才是大事。
4 推进/改善
如果代码有问题,导致系统开销很大,比如负载,io等。应该第一时间和开发部门确认,要求优化代码。
5 进取心/不断学习
运维的知识范围很广>>

问题六:运维工程师必须掌握的基础技能有哪些 1,网络工程师的工作

你至少要能配置CISCO 6509以下的设备,熟悉各种网络协议,否则网络出问题的时候你会傻掉。

2,系统工程师的工作

你至少要理解各种系统服务,在出问题的情况下要迅速解决问题,而不是等系统工程师来解决。

3,安全工程师的工作

我不要求你一定要会各种网络编程,但是在服务器收攻击的情况下,没有防火墙的情况下,做一些简单的处理工作。

4,存储工程师的工作

至少要熟悉各个厂商的设备,各种备份和还原的办法

5,测试工程师的工作

在新版本上线之前,你至少要协同测试工程师做测试工作,因为你是运维人员,不了解程序架构导致无法解决故障,你也有一份责任。

6,研发人员的工作

运维工具都需要自已开发,熟悉开发语言,需要有过实际开发经验,否则工作会非常痛苦,我深有体会。

7,英语

不想说了,我的最大痛苦就在这里

8,好的沟通者

不出问题时候你可以打游戏睡觉,出问题的时候要能和项目人员沟通,快速解决问题,而不是推;我知道有很多人能推责任,你可以做替死鬼,但是离开这个工作你还能找到更好的;把责任推到别人身上的人,下次出问题的时候,绝对没人帮你。你要能和各个兄弟部门关系非常的密切,出了问题有兄弟帮你担责任;也要能非常扯皮,没事在会议上把别人都搞定。

9,库房管理员

数万台服务器让你来管理,任何丢失或者损坏都是不负责任和失职的表现。

问题七:it运维工程师需要了解哪些知识点 推荐看一些该职位的招聘信息。
另外百度百科有介绍如下:
baikebaidu/view/3118292

问题八:初学运维工程师需要学习那些重点 linux基础-->基础服务器-->mysql数据库-->shell脚本-->负载均衡-->高可用-->监控等

问题九:服务器运维工程师应该掌握哪些知识 运维工程师 熟悉tcpip系列协议,熟练配置思科和华为网络 能参考手册配置其他厂商设备 包括安全设备
熟悉服务器硬件系统配置 *** 作系统 unix linux windows等安装配置 检测其运行等
熟悉常见的应用如web ftp 邮件等服务搭建 及排查
熟悉常见的系统安全设置,以及整个安全体系架构
会安装及配置维护常见数据库oracle mysql sql-server等
有一定的存储方面的知识
郸 。。。。。。。
要熟悉你服务器的环境相关的东西 特别是网络相关
熟悉服务器的硬件配置 熟悉服务器上的 *** 作系统及各种常见的应用系统
熟悉发生故障的时候处理流程等
不强求你精通内核调优等 但是你知识要全面 而且有一两手是拿手的

问题十:IT运维工程师主要是什么的啊? 负责机房IT系统核心设备的日常巡检与维护工作,能按要求对其进行配置,保障系统的正常、安全运行;
2、负责服务器系统的安全管理,做好数据安全和病毒的防范工作;
3、负责现场的技术支持,及时解决出现的各类技术故障;
4、负责数据库管理,及相关系统测试;
5、负责制定各服务器的数据备份计划,并且确保备份数据可用性;
6、必要时,协助Helpdesk做一些桌面技术支持工作;
7、负责与相关部门的的交流,及时反馈用户使用信息;
8、运维文档的撰写与归档工作。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13158767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-13
下一篇 2023-06-13

发表评论

登录后才能评论

评论列表(0条)

保存