运维

基础运维之linux系统初始化

2017-05-02  本文已影响0人  上帝是自由的

基础运维之linux系统初始化


不管是在bat工作还是在初创公司工作,服务器操作系统的标准化可以说是非常重要的一环,就像盖房子的打桩一样。

**
标准化的系统必须要满足:
**

其实满足这三点的操作系统有很多,像ubuntu centos redhat debain 等等都很不错; 而目前看来市场占有率ubuntu和centos平分秋色,不相上下;故,今天我就用ubuntu来做标准化系统。

1)选择系统;

系统选择的必要条件是公司的大部分人都比较熟悉这个系统,不能盲目的根据个人喜欢来决定;
首先是研发部门和测试部门看他们对于哪个系统更熟悉一些,其次是运维人员熟悉哪些,正常情况下运维人员对于多个操作系统都应该能够适应,至少可以做到快速学习;
选择完系统后需要对版本进行选择,应以最简化的操作系统做为标准系统,当然也可以DIY裁剪系统。

ubuntu-14.04.5-server-amd64.iso

2)安装标准

**
在安装前需要确定以下内容:
**

#用来标识主机所在位置,运行的服务;
举例:sh-web1 这是比较简单的命名方式,也有比较复杂的:sh-jinqiao-lab-project1-web01

#大公司网络这块管理的比较严格,一般需要跟网络部门或IT部门申请ip地址,小公司的话可能就运维自己规划了;

*1.数据安全: 主要方面:只用一个分区,若遇到系统需要重装或者分区需要进行格式化等,原有的重要文件无法在本硬盘保留,而若提前进行了合理分区,则用户数据不会收到影响 次要方面,我们知道,同等外部条件下,读取越频繁,磁盘越容易受损,我们把读写频繁的目录挂载到一个单独的分区,可以把磁盘的损伤控制在一个集中的区域。
2.效率: 主要方面:分区将数据集中在某个磁柱的区段,当有数据要读取自该分区时, 硬盘只会搜寻相应区段,有助于数据读取的速度与效能的提升!另一方面,磁盘不同区域(内圈与外圈,)的读取速度是不同的,磁盘越大,差别越明显,通常将读写频繁的目录挂载到读取速度更快的区域(总体来说,是推荐外圈),不常使用和变更的数据放在稍慢的区域将是一个比较好的选择

3)安装后系统优化

 * hard nofile 1000000
 * soft nofile 1000000
root hard nofile 1000000
root soft nofile 1000000

还有一点要注意的就是hard limit不能大于/proc/sys/fs/nr_open,因此有时你也需要修改nr_open的值;
echo 2000000 > /proc/sys/fs/nr_open
查看当前系统使用的打开文件描述符数,可以使用下面的命令:
cat /proc/sys/fs/file-nr

#详细的内容可以参考这篇博文http://www.cnblogs.com/zengkefu/p/5602473.html

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096        87380   4194304
net.ipv4.tcp_wmem = 4096        16384   4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.ip_local_port_range = 1024    65000

#将这些内容加入/etc/systyl 中并执行sys -p至于每个参数的具体意义和效果大家自行百度吧;
除了网络方面的内核优化,深入一点还有io的优化,但这块属于鸡肋的优化,除非是一些大数据的系统对磁盘读写要求特别高。

#防止程序或者人为误操作导致系统文件被修改。

#这块根据实际需求来修改配置文件。

本文只整理了大体的思路和重点内容,一些细节内容在文中没有体现出来,大家借助搜索引擎自行补充吧^_^


[_]:注释

-萧瑟

上一篇下一篇

猜你喜欢

热点阅读