︿
Top

前言

最近工作關係開始又要回味 CentOS 了,在本次實作環境中採用的是 CentOS-6.8-x86_64-minimal.iso 映像檔,也就是 CentOS 6.8 最小化安裝版本 (Minimal Install)。為何不用最新的 CentOS 6.9 版本? 因為,最新的 LIS 4.1.3-2 僅支援至 CentOS 6.8,所以便以 CentOS 6.8 版本開始回味起了,那麼開始來玩玩吧。💪



實作環境




調整 I/O Scheduler 為 Noop 加速 Disk I/O

由於本文的運作環境為 Windows Server 2016 Hyper-V 虛擬化平台。因此,根據官方最佳作法 Best Practices for running Linux on Hyper-V | Microsoft Docs 以及 What is the suggested I/O scheduler to improve disk performance when using Red Hat Enterprise Linux with virtualization? 文件內容可知,建議將 CentOS I/O Scheduler 調整為 Noop 以便加速 Disk I/O。
# cat /sys/block/sda/queue/scheduler
noop anticipatory deadline [cfq]
# echo "noop" > /sys/block/sda/queue/scheduler
# cat /sys/block/sda/queue/scheduler
[noop] anticipatory deadline cfq


但是,上述方式只是調整 CentOS 運作中的 I/O Scheduler,倘若 CentOS 主機重新啟動時又會恢復預設值。因此,請修改「/etc/grub.conf」設定檔在 kernel 結尾加上「elevator=noop」,才能避免 CentOS 主機重新啟動時恢復為 cfq 預設值,調整完成後請重新啟動 CentOS 主機。
# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,1)
#          kernel /vmlinuz-version ro root=/dev/sda5
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda1
device (hd0) HD(1,800,80000,f87645d3-bace-4270-afee-66a2bb515513)
default=0
timeout=5
splashimage=(hd0,1)/grub/splash.xpm.gz
hiddenmenu
title CentOS 6 (2.6.32-642.el6.x86_64)
        root (hd0,1)
        kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=UUID=dcd36422-f747-400c-83c3-b50450b806d0 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet elevator=noop
        initrd /initramfs-2.6.32-642.el6.x86_64.img





檢查相關組態設定是否正確套用

至此,整個 CentOS 基礎設定大致完成,接著讓我們一一檢查先前的調整及組態設定等相關動作是否套用生效。

檢查 SELinux 安全機制運作狀態

確認 SELinux 安全機制為「寬容模式」(permissive) 的運作狀態,當然若是屆時要運作線上營運服務的話,請記得調整為「強制模式」(enforcing)
# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:          permissive
Policy version:                 24
Policy from config file:        targeted




檢查 IPTables 防火牆允許通過的 Port 號

檢查 IPTables 防火牆是否允許了 SSH 等 Port 號,屆時再依所架設的系統服務開啟相對應的 Port 號(如 Web 為 TCP Port 80)即可。
# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22168
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination




檢查 CentOS 主機開機時自動帶起的系統服務

檢查 CentOS 主機於 Runlevel 3 啟動模式下,系統開機時會自動帶起的服務清單,若仍有看到不該啟動的系統服務則應該了解用途後關閉它們。
# chkconfig --list | grep 3:on
auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
hv_fcopy_daemon 0:off   1:off   2:off   3:on    4:off   5:on    6:off
hv_kvp_daemon   0:off   1:off   2:off   3:on    4:off   5:on    6:off
hv_vss_daemon   0:off   1:off   2:off   3:on    4:off   5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
postfix         0:off   1:off   2:on    3:on    4:on    5:on    6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off




檢查 CentOS 主機 IPv6 網路功能是否關閉

檢查 CentOS 主機的 IPv6 網路功能是否已經關閉了,至於 sysctl 指令查詢結果則應沒有找到任何資訊才對。
# lsmod |grep ipv6
ipv6                  336282  0
# sysctl -a |grep ipv6




檢查 CentOS 主機開啟的 Port 號

經過我們將相關服務停止及關閉後,目前 CentOS 主機應該只有開啟 2 個 Port 號,也就是只有遠端連線的 SSH(Port 22168)以及發送主機日誌資訊的 Localhost SMTP(Port 25)
# netstat -tunpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address    Foreign Address  State    PID/Program name
tcp        0      0 0.0.0.0:22168    0.0.0.0:*        LISTEN   991/sshd
tcp        0      0 127.0.0.1:25     0.0.0.0:*        LISTEN   1072/master




檢查 LIS 整合服務是否運作

首先,確認安裝好的 LIS 整合服務是否會開機自動啟動。
# chkconfig --list |grep hv_
hv_fcopy_daemon 0:off   1:off   2:off   3:on    4:off   5:on    6:off
hv_kvp_daemon   0:off   1:off   2:off   3:on    4:off   5:on    6:off
hv_vss_daemon   0:off   1:off   2:off   3:on    4:off   5:on    6:off


然後,確認一下 LIS 整合服務的相關執行程序是否運作中。
# ps aux |grep hv
root   129  0.0  0.0      0     0 ?   S   15:23  0:00 [hv_vmbus_con/0]
root   130  0.0  0.0      0     0 ?   S   15:23  0:00 [hv_vmbus_con/1]
root   505  0.0  0.0      0     0 ?   S   15:24  0:00 [hv_balloon]
root   959  0.0  0.0  13240  1460 ?   Ss  15:24  0:00 /usr/sbin/hv_kvp_daemon
root   973  0.0  0.0   6220   584 ?   Ss  15:24  0:00 /usr/sbin/hv_vss_daemon




檢查 CentOS 主機 I/O Scheduler 是否調整為 Noop

確認 CentOS 主機的 I/O Scheduler 在重新啟動後,是否仍會套用 Noop 模式確保良好的 Disk I/O。
# cat /sys/block/sda/queue/scheduler
[noop] anticipatory deadline cfq




CentOS 6.8 基礎設定系列文章

文章標籤: ,