CentOS-7安装与优化

我这里用7.2的版本,为了后面云计算的兼容性做准备


image.png

image.png

centos的演变

sysvinit技术

         系统第一个启动进程:init,pid=1

        串行启动:一次一个,一个一个启动        

        使用的版本:centos5

init优点:运行非常良好,概念简单清晰。主要依赖于shell脚本

init缺点:1、按照一定顺序执行,启动慢2、容易hang住,fstab与nfs挂载问题


upstart 技术(过度的技术)
       串行+并行启动

       使用的版本:centos6、ubuntu14


systemd技术
        并行启动:全部的一起启动

       克服init固有缺点(串行启动),提高系统的启动速度(并行启动)

        降低迁移成本


三种启动技术对比:

image.png
并行启动三大原理:

1、解决socket 依赖/端口依赖      socket 网络套接字文件

image.png

2、解决D-Bus     依赖:采用了D-Bus 为程序之间的通讯工具,类似消息队列,可以缓存信息

image.png

3、解决文件系统依赖、类似autofs机制      先加载boot、swap、/ 分区,后直接启动系统,延迟启动其他guaz

image.png

安装centos7系统

  1. 我这里为了性能考虑,采用最小化安装

    1. 虚拟机选择

磁盘空间尽量大一些

  1. 系统安装

1)开机进入安装

    2)按下TAB键

    添加内核参数 让网卡名称变为eth

空格 输入 net.ifnames=0 biosdevname=0 然后回车

        3)选择语言

    4) 设置网络连接和主机名

        5)注意勾选开机自启动

        6) 设置ip地址

 

同样的方式将另外 一块网卡配置好

    7)     修改主机名

    8)选择安装的环境,选择最小化安装。

            注意勾选依赖包

        9)磁盘分区为自定义分区。

选择/boot挂载点的大小。这里设置为1g

    添加swap挂载点

    注意选择都为标准分区类型,直接写到磁盘

    添加根分区后选择完成

 

关闭密码保护

    选择关闭

关闭KDUMP功能

        开始安装,注意为469个包

        安装的过程中设置root的密码。


安装完成后的优化

查看系统版本

[root@CentOS7 ~]# cat /etc/redhat-release

CentOS Linux release 7.2.1611 (Core)


修改yum源:

base源

[root@CentOS7 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo 

http://mirrors.aliyun.com/repo/Centos-7.repo

% Total % Received % Xferd Average Speed Time Time Time 

CurrentDload Upload Total Spent Left Speed100 2573 100 2573 0 0 2940 0 --:--:-- --:--:-- --:--:-- 2940   

epel源

[root@CentOS7 ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

% Total % Received % Xferd Average Speed Time Time Time 

CurrentDload Upload Total Spent Left Speed100 1084 100 1084 0 0 915 0 0:00:01 0:00:01 --:--:-- 916


安装软件

yum install vim wget bash-completion lrzsz nmap nc tree htop iftop net-tools -y

说明:bash-completion 补全命令参数的包



centos7 与centos 6的区别

解决更换网卡后名称变更的问题
更改名称的方法  

修改CentOS7网卡名称为传统名称eth0格式 http://oldboy.blog.51cto.com/2561410/1722101


nmtui

centos7 上管理网路的图形化工具,类似于setup


主机名配置文件的区别

临时 hostname

永久vim /etc/hostname

修改主机名永久和临时一步到位:hostnamectl set-hostname george


字符集

临时

[root@george ~]# echo $LANGzh_CN.UTF-8

永久

[root@george ~]# cat /etc/locale.confLANG="zh_CN.UTF-8"

永久和临时同时修改

[root@george ~]# localectl set-locale LANG=en_US.utf8
[root@george ~]# localectl

System Locale: LANG=zh_CN.UTF-8

VC Keymap: cn

X11 Layout: cn


查看系统版本号

  1. [root@clsn bin]# cat /etc/os-release

兼容的rc.local

  1. cat /etc/rc.local
     

想要使用rc.local 必须给他可执行权限(centos6中可以直接使用)

chmod +x /etc/rc.d/rc.local


运行级别

原运行级别文件

ls -lh /usr/lib/systemd/system/runlevel*.target

设置运行级别

systemctl set-default multi-user.target

查看当前运行级别

systemctl get-default


关机命令

poweroff

shutdown -h now

halt    #不会关机,只会退出登录


查看路由和监听端口

ip r

ss    #查看socket,类似于netstat


systemd一统天下

系统启动文件的目录

ls /usr/lib/systemd/system

语法格式 http://www.jinbuguo.com/systemd/systemd.service.html 


管理服务

服务及开机自启动:

systemctl stop postfix.service

systemctl start postfix.service

systemctl disable postfix.service

systemctl enable postfix.service

查看服务是否为开机自启动:

systemctl is-enabled postfix.service         #查看单个服务是否为开机自启动

systemctl list-unit-files |grep  enabled    #查看哪些服务为开机自启动

systemctl:融合service和chkconfig的功能于一体,兼容SysV和LSB的启动脚本,而且够在进程启动过程中更有效地引导加载服务。

命令对比

image.png


开机时间优化

systemd-analyze time                  #查看系统的启动时间

systemd-analyze blame                 #查看系统每个服务的启动时间

systemd-analyze plot >bootime.avg    #生成图形化效果,然后sz bootime.avg下载



开机启动时间

systemd-analyze time

Startup finished in 387ms (kernel) + 1.406s (initrd) + 31.831s (userspace) = 33.626s


查看具体的使用时间

systemd-analyze blame


生产图表

systemd-analyze plot >bootime.svg    #保存到指定文件

sz bootime.svg                                      #上传到windown查看

开机启动项优化

systemctl list-unit-files|egrep "^ab|^aud|^kdump|vm|^md|^mic|^post|lvm" |awk '{print $1}'|sed -r 's#(.*)#systemctl disable &#g'|bash


小伙伴们可以关注我的公众号:linux运维菜鸟之旅,阅读更方便!

qrcode_for_gh_5ecc48d3d14a_258.jpg