CentOS 7.X 系統安裝及優化

centos的演變

啓動流程sysvinit

串行啓動:一次一個,一個一個啓動html

並行啓動:所有的一塊兒啓動linux

init優勢 ios

運行很是良好。主要依賴於shell腳本shell

init缺點 ubuntu

一、啓動慢vim

二、容易夯住,fstab與nfs掛載問題centos

  1. upstart 技術

使用的版本:緩存

centos6bash

ubuntu14網絡

  1. systemd技術

克服init固有缺點,提升系統的啓動速度

下降遷移成本

  1. 三種啓動技術對比

  1. 並行啓動三大原理:

    一、解決socket 依賴/端口依賴

    socket 網絡套接字文件

二、解決D-Bus

依賴:採用了D-Bus 爲程序之間的通信工具,相似消息隊列,能夠緩存信息

    三、解決文件系統依賴、相似autofs機制

  1. 安裝centos7系統

    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的密碼。

  1. 安裝完成後的優化

查看系統版本

[root@CentOS7 ~]# cat /etc/redhat-release 
CentOS Linux release 7.3.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  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  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  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  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 補全命令參數的包

  1. centos7 與centos 6的區別

    1. 解決更換網卡後名稱變動的問題

更更名稱的方法

  修改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 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-514.el7.x86_64
      Architecture: x86-64

修改主機名

[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-8
       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="7"
    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="7"
    REDHAT_SUPPORT_PRODUCT="centos"
    REDHAT_SUPPORT_PRODUCT_VERSION="7"
  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. 1 root root 473 11月  7 2016 /etc/rc.d/rc.local
  1. 運行級別Runlevel

以前的查看運行級別的方法依舊使用

[root@clsn init.d]# runlevel 
N 3

原運行級別文件

[root@clsn ~]# ls -lh /usr/lib/systemd/system/runlevel*.target
lrwxrwxrwx. 1 root root 15 11月 13 11:16 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 11月 13 11:16 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 11月 13 11:16 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 11月 13 11:16 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 11月 13 11:16 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 11月 13 11:16 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 11月 13 11:16 /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. 1 root root 15 11月 13 11:16 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 11月 13 11:16 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 11月 13 11:16 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 11月 13 11:16 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 11月 13 11:16 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 11月 13 11:16 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 11月 13 11:16 /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.servicesystemctl 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) + 1.406s (initrd) + 31.831s (userspace) = 33.626s

查看具體的使用時間

[root@clsn system]# systemd-analyze blame 
         10.812s sshd-keygen.service
         10.758s abrt-ccpp.service
          6.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部署優化環境

    1. 修改網卡配置文件

# 第一個里程碑:重啓完成以後,登陸系統 #

[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-4979-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

相關文章
相關標籤/搜索