【转】CentOS 7.X 系统安装及优化

centos的演变

启动流程sysvinit

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

并行启动:全部的一起启动

init优点

运行非常良好。主要依赖于shell脚本

init缺点

1、启动慢

2、容易夯住,fstab与nfs挂载问题

  1. upstart 技术

使用的版本:

centos6

ubuntu14

  1. systemd技术

克服init固有缺点,提高系统的启动速度

降低迁移成本

  1. 三种启动技术对比

  1. 并行启动三大原理:

1、解决socket 依赖/端口依赖

socket 网络套接字文件

2、解决D-Bus

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

3、解决文件系统依赖、类似autofs机制

    1. 安装centos7系统

    2. 虚拟机选择

磁盘空间尽量大一些

      1. 系统安装

1)开机进入安装

2)按下TAB键

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

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

3)选择语言

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

        5)注意勾选开机自启动

6) 设置ip地址

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

7)     修改主机名

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

注意勾选依赖包

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

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

添加swap挂载点

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

添加根分区后选择完成

关闭密码保护

选择关闭

关闭KDUMP功能

开始安装,注意为469个包

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

      1. 安装完成后的优化

查看系统版本

[root@CentOS7 ~]# cat /etc/redhat-release
CentOS Linux release 7.3. (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 Current
Dload Upload Total Spent Left Speed
--:--:-- --:--:-- --:--:--

    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 Current
Dload Upload Total Spent Left Speed
:: :: --:--:--

安装软件

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

bash-completion 补全命令参数的包

      1. centos7 与centos 6的区别

      2. 解决更换网卡后名称变更的问题

更改名称的方法

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

        1. nmtui

centos7 上管理网路的图形化工具

        1. 主机名配置文件的区别

临时 hostname

永久 /etc/hostname

[root@CentOS7 ~]# cat /etc/hostname
CentOS7

一步到位

[root@CentOS7 ~]# hostnamectl
Static hostname: CentOS7
Icon name: computer-vm
Chassis: vm
Machine ID: 4ab1c20b25f64a38a7197b8453b04b2c
Boot ID: abd0a393540b4788bc1e571b413b33c4
Virtualization: vmware
Operating System: CentOS Linux (Core)
CPE OS Name: cpe:/o:centos:centos:
Kernel: Linux 3.10.-.el7.x86_64
Architecture: x86-

修改主机名

[root@CentOS7 ~]# hostnamectl set-hostname clsn
        1. 字符集

临时

[root@clsn ~]# echo $LANG
zh_CN.UTF-

永久

[root@clsn ~]# cat /etc/locale.conf
LANG="zh_CN.UTF-8"

一步到位

[root@clsn ~]# localectl
System Locale: LANG=zh_CN.UTF-
VC Keymap: cn
X11 Layout: cn
        1. 查看系统版本号

        2. [root@clsn bin]# cat /etc/os-release
          NAME="CentOS Linux"
          VERSION="7 (Core)"
          ID="centos"
          ID_LIKE="rhel fedora"
          VERSION_ID=""
          PRETTY_NAME="CentOS Linux 7 (Core)"
          ANSI_COLOR="0;31"
          CPE_NAME="cpe:/o:centos:centos:7"
          HOME_URL="https://www.centos.org/"
          BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7"
          CENTOS_MANTISBT_PROJECT_VERSION=""
          REDHAT_SUPPORT_PRODUCT="centos"
          REDHAT_SUPPORT_PRODUCT_VERSION=""
        1. 兼容的rc.local

        2. cat /etc/rc.local
          # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
          # that this script will be executed during boot.

想要使用rc.local要给他可执行权限

[root@clsn bin]# chmod +x /etc/rc.d/rc.local
[root@clsn bin]# ll /etc/rc.d/rc.local
-rwxr-xr-x. root root 11月 /etc/rc.d/rc.local
        1. 运行级别Runlevel

之前的查看运行级别的方法依旧使用

[root@clsn init.d]# runlevel
N

原运行级别文件

[root@clsn ~]# ls -lh /usr/lib/systemd/system/runlevel*.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel6.target -> reboot.target

7中设置运行级别

root@clsn init.d]#  systemctl get-default multi-user.target
systemctl get-default #查看运行级别

示例

[root@clsn ~]# systemctl get-default
multi-user.target
[root@clsn ~]# systemctl set-default multi-user.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.

运行级别的变更

[root@clsn ~]# ls -lh /usr/lib/systemd/system/runlevel*.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. root root 11月 : /usr/lib/systemd/system/runlevel6.target -> reboot.target
        1. systemd一统天下

系统启动文件的目录

[root@clsn init.d]# ls /usr/lib/systemd/system

启动命令示例

[root@clsn init.d]# cat  /usr/lib/systemd/system/crond.service
[Unit]
Description=Command Scheduler
After=auditd.service systemd-user-sessions.service time-sync.target [Service]
EnvironmentFile=/etc/sysconfig/crond
ExecStart=/usr/sbin/crond -n $CRONDARGS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process [Install]
WantedBy=multi-user.target

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

        1. 管理服务

关闭防火墙服务及开机自启动

systemctl stop postfix.service
systemctl disable postfix.service

关闭防火墙详细过程

[root@clsn ~]# systemctl  disable  firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@clsn ~]# systemctl stop firewalld.service
[root@clsn ~]# systemctl status firewalld.service

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

        1. 命令对比

systemctl start crond.service和systemctl start crond效果一样。

        1. 开机时间优化

systemd-analyze time
systemd-analyze blame
systemd-analyze plot >bootime.avg

开机启动时间

[root@clsn system]# systemd-analyze time
Startup finished in 387ms (kernel) + .406s (initrd) + .831s (userspace) = .626s

查看具体的使用时间

[root@clsn system]# systemd-analyze blame
.812s sshd-keygen.service
.758s abrt-ccpp.service
.395s chronyd.service
……

生产图表

[root@clsn tmp]# systemd-analyze plot  >bootime.svg
[root@clsn tmp]# sz bootime.svg

        1. 开机启动项优化

        2. [root@kickstart ~]# systemctl list-unit-files|egrep "^ab|^aud|^kdump|vm|^md|^mic|^post|lvm"  |awk '{print $1}'|sed -r 's#(.*)#systemctl disable &#g'|bash
          Removed symlink /etc/systemd/system/multi-user.target.wants/abrt-ccpp.service.
          Removed symlink /etc/systemd/system/multi-user.target.wants/abrt-oops.service.
          Removed symlink /etc/systemd/system/multi-user.target.wants/abrt-vmcore.service.
          Removed symlink /etc/systemd/system/multi-user.target.wants/abrt-xorg.service.
          Removed symlink /etc/systemd/system/multi-user.target.wants/abrtd.service.
          Removed symlink /etc/systemd/system/multi-user.target.wants/auditd.service.
          Removed symlink /etc/systemd/system/basic.target.wants/microcode.service.
          Removed symlink /etc/systemd/system/multi-user.target.wants/vmtoolsd.service.
          Removed symlink /etc/systemd/system/vmtoolsd.service.requires/vgauthd.service.
        1. OpenStack部署优化环境

        2. 修改网卡配置文件

# 第一个里程碑:重启完成之后,登录系统 #

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=4bf2af89-5f6d--83e9-df6ce1c3cc41
DEVICE=eth0
ONBOOT=no

# 第二个里程碑: 删掉多余的行,只留以下内容 #

TYPE=Ethernet
BOOTPROTO=dhcp
NAME=eth0
DEVICE=eth0
ONBOOT=no

# 第三个里程碑:在以上基础上,继续配置 #

# 红色为修改和增加部分

# 以下代码为优化后的网卡全部配置 #

TYPE=Ethernet
BOOTPROTO=none #取消dhcp
NAME=eth0
DEVICE=eth0
ONBOOT=yes #设置开机启动
IPADDR=10.0.0.11 #IP地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=10.0.0.254 #网关
DNS1=223.5.5.5 #DNS

# 说明 :与/etc/init.d/network restart 效果一致

# 第五个里程碑:检查 ping 一下网关10.0.0.254测试网络连通性 #

ping 10.0.0.254 -c2

到这里,ok,可以愉快的使用xshell了

          1. 系统的优化

# 登录xshell开始优化 #

          1. 防火墙的优化

systemctl disable firewalld.service
systemctl stop firewalld
          1. Selinux的优化

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

          1. ssh的优化

# 修改完成后为红色部分 #

vi /etc/ssh/sshd_config

93行: GSSAPIAuthentication no

129行: UseDNS no

sed  -i  '93s@GSSAPIAuthentication yes@GSSAPIAuthentication no@;129s@#UseDNS yes@UseDNS no@' /etc/ssh/sshd_config

# 重启ssh #

systemctl restart sshd

          1. hosts的优化

vi /etc/hosts
# 增加2行
10.0.0.11 controller
10.0.0.31 compute1
10.0.0.32 compute2
          1. 修改主机名

hostnamectl set-hostname controller

          1. yum源优化

# 使用光盘搭建本地yum源

umount /mnt
cd /etc/yum.repos.d/
mkdir test -p
\mv *.repo test
echo '[local]
name=local
baseurl=file:///mnt
gpgcheck=0' >local.repo
mount /dev/cdrom /mnt
yum makecache
          1. 其他优化

# 关闭网卡图形化设置模式 #
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
# 关闭邮件服务
systemctl stop postfix.service
systemctl disable postfix.service
# 下载tab补全命令 #
yum install -y bash-completion.noarch
# 下载 常用命令 #
yum install -y net-tools vim lrzsz wget tree screen lsof tcpdump
# 至此;模板机优化完成;关机开始克隆 #
shutdown -h now
          1. 参考文献

https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/index.html

【转】CentOS 7.X 系统安装及优化的更多相关文章

  1. CentOS 7.X 系统安装及优化

    centos的演变 启动流程sysvinit 串行启动:一次一个,一个一个启动 并行启动:全部的一起启动 init优点 运行非常良好.主要依赖于shell脚本 init缺点 1.启动慢 2.容易夯住, ...

  2. 【转】CentOS 6.5 生产环境优化指南

    原文链接:https://www.deepwebcn.com/82.html centos6.5 CentOS 6.5 系统安装之后并不能立即投入生产环境使用,常常需要先经过我们运维人员的优化才行.优 ...

  3. CentOS 6.5系统安装配置图解教程

    说明: 截止目前CentOS 6.x最新版本为CentOS 6.5,下面介绍CentOS 6.5的具体安装配置过程 服务器相关设置如下: 操作系统:CentOS 6.5 64位 IP地址:192.16 ...

  4. CentOS 7.0系统安装配置图解教程

    转自:http://www.osyunwei.com/archives/7829.html 操作系统:CentOS 7.0 64位 IP地址:192.168.21.128 网关:192.168.21. ...

  5. CentOS 7.4 系统安装 git

    CentOS 7.4 系统安装 git 一.使用 yum 安装 1.查看系统是否已经安装 git [root@localhost ~]# git --version 2.yum 安装 git [roo ...

  6. Linux(Centos )的网络内核参数优化来提高服务器并发处理能力【转】

    简介 提高服务器性能有很多方法,比如划分图片服务器,主从数据库服务器,和网站服务器在服务器.但是硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题 ...

  7. Linux安全调优1:CentOS防火墙的设置与优化

    CentOS防火墙的设置与优化 时间:2014-09-11 02:11来源:blog.csdn.net 作者:成长的小虫 的BLOG 举报 点击:4908次 一.设置主机防火墙. 开放: 服务器的:w ...

  8. Centos 7.x 系统基础优化

    Centos 7.x 系统基础优化 1.更换国内yum源 删除系统带的centos官方yum源 rm -rf /etc/yum.repos.d/* 使用国内阿里云源 curl -o /etc/yum. ...

  9. centos 6.x 系统基础优化简版

    Centos 6.x 系统基础优化 1.更换国内yum源 删除系统带的centos官方yum源 rm -rf /etc/yum.repos.d/* 使用国内阿里云源 curl -o /etc/yum. ...

随机推荐

  1. MT【237】阿基米德三角形的一些常见性质

    阿基米德三角形的常见性质:抛物线:$x^2=2py,AB$为抛物线的弦,$AQ,BQ$为切线,记$Q(x_0,y_0)$则$1)k_{QA}*k_{QB}=\dfrac{p}{2x_0}$$2)k_{ ...

  2. MT【24】一道五次方程的求根题

    解答: 评:一般的五次及以上的多项式方程是无根式解的,只能用计算机去精确到某某位.但是特殊的比如$x^5=1$显然有根式解,本题就是一个不平凡的特殊的例子,这里的代换用于求解三次方程的求根过程是一样的 ...

  3. 洛谷 P2317 [HNOI2005]星际贸易 解题报告

    P2317 [HNOI2005]星际贸易 题目描述 输入输出格式 输入格式: 输出格式: 如果可以找到这样的方案,那么输出文件output.txt中包含两个整数X和Y.X表示贸易额,Y表示净利润并且两 ...

  4. A1024. Palindromic Number

    A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...

  5. A1036. Boys vs Girls

    This time you are asked to tell the difference between the lowest grade of all the male students and ...

  6. A1050. String Subtraction

    Given two strings S1 and S2, S = S1 - S2 is defined to be the remaining string after taking all the ...

  7. 【洛谷P2261】余数求和

    题目大意:给定 n, k,求\(\sum\limits_{i=1}^n k\%n\) 的值. 题解:除法分块思想的应用. \(x\%y=x-y\lfloor {x\over y}\rfloor\),因 ...

  8. 【LOJ#6279】数列分块3

    题目大意:维护 N 个数组成的序列,支持两种操作:区间加.区间查询某个值的前驱(小于该值的最大值,若无前驱,输出-1). 题解1:可以像分块2一样,维护每个块内元素的一个有序序列,每次查询时二分查找即 ...

  9. linux下查找某文件关键字(grep 函数)

    -e表示罗列出与关键字有关的行,“ABC”表示查找的关键字,/XXX/4.assoc.linear表示该路径下的文件 .assoc.linear

  10. set_index() pandas

    set_index DataFrame可以通过set_index方法,可以设置单索引和复合索引. DataFrame.set_index(keys, drop=True, append=False, ...