做者:田逸(sery@163.com)mysql
在Redhat RHEL 8發佈好一陣之後,centos 8終於正式發佈,火燒眉毛下載其ISO文件,一遍進行安裝測試。與centos 7相比,文件體積大了不少。linux
在取得centos 8 iso鏡像文件以後,可將其刻錄成光盤或者可引導安裝u盤。若是是物理服務器,須要確認是否以UEFI引導。與老前輩BIOS相比較,UEFI方式須要額外作一些工做,好比手動分區時,得建立單獨的分區/boot/efi,不然安裝可能進行不下去。 web
安裝前的規劃sql
用於生產系統的話,部署前須要先規劃,不得一來就開幹,魯莽從事。那麼規劃哪些項目呢?還真沒有一個標準規範。我搬磚前,通常考慮一下幾個方面,供你們參考:centos
磁盤冗餘性配置:多磁盤作什麼raid級別?bash
IP地址分配:好的規劃能避免管理混亂、避免ip地址跟其它服務器發生衝突。服務器
主機名:主機名最好能望文生義,好比我經常使用用途名+結尾ip的方式(web118,表示系統是web用途,ip地址最後一個字段爲118)。在沒有多少經驗的年代,曾經管理超過500臺物理服務器,主機名都是localhost,維護起來真要命啊!網絡
磁盤分區:強烈建議物理服務器不要搞一根到底!!!分區的好處之一是數據隔離。在長期運維管理過程當中,文件系統損壞發生的概率仍是有的。若是一根到底,進行文件系統修復就比較棘手了。另一個情形,假定對日誌存放單獨分區,就是日誌塞爆分區,也不會致使系統掛起(一根到底,日誌塞滿整個根分區,恐怕遠程登陸都是問題)。運維
目錄命名:主要是系統盤之外的分區掛接點命名,好比/data、/backup等。dom
開始系統安裝
準備好安裝介質並瞭解清楚設備的基本配置,而後插入可引導安裝介質,並保證引導介質被設置爲最高優先級。
正常引導的界面以下圖所示:
光標鍵選定第一行「Install Centos Linux 8.0.1905」,回車進入下一步。若是打算用文本模式進行安裝,直接按「esc」鍵,進入boot界面,輸入命令:linux text (之前的老版本,能夠直接輸text)。萬一進入不了boot界面,試着更改引導方式爲傳統的BIOS。
相對於圖形界面安裝centos 8,文本方式要麻煩不少,反而費時費力,特別是手動分區。
所以,爲了更有效率的進行安裝,仍是改變原來的習慣,從圖形界面進行安裝吧。
Centos 8定製佈局比較合理,全在一個界面,簡潔明快。
我須要定製時區(Time & Data)、軟件選定(Software Selection)、網絡與主機名(Network & Host Name)和必選項系統安裝位置(Installation Destination)。爲保證安裝安裝效率,可先鼠標選擇系統安裝位置,這樣作的目的是檢查硬盤是否被系統識別。若是硬盤沒有被系統識別,而先作了其它方面的定製,浪費時間而又不能繼續往下進行。
定製系統安裝位置
個人100G的硬盤已經被正確識別。若是是多個磁盤,則以多行多圖標顯示,鼠標選定一個盤便可。定製分區部分,鼠標單選「Custom」(默認是自動),而後確認無誤後,點界面頂部左側按鈕「Done」。進入定製分區界面,點擊按鈕「+」進行手動分區。
先建立分區/boot/efi,選擇後,鼠標點「Add mount point」。
修改分區大小爲1G(默認佔徹底部磁盤空間),確保文件系統類型爲「EFI System partition」。確認無誤後,鼠標點「Update Setting」。
繼續在此界面點擊加號「+」添加交換分區、/boot分區、根分區/,系統日誌分區/var等。一個定製建立好的磁盤分區佈局以下:
鼠標點擊按鈕「Done」,彈出分區彙總界面,點接受改變「Accept Changes」按鈕,完成定製系統安裝位置這個操做。
定製時區
返回到安裝彙總界面後,鼠標點選「Time & Data」,鼠標選地圖上中國的位置,選上之後,左上側的地區自動填充爲「Asia」、城市填充爲「Shanghai」。
鼠標點「Done」完成設置並返回主定製界面。
定製安裝所需軟件包
鼠標點選「Software Selection」,進入包選擇界面。可選最小化安裝「Minimal Install」或者定製化安裝「Custom Operation System」。我通常選定製安裝,並選子項「Standard」、「Developmet Tools」、「System Tools」。
centos古老的版本,能夠按F2鍵查看右側子項所包含軟件包的信息。確認無誤後,點按鈕「Done」完成設置並返回定製主界面。
定製主機名及網絡
主界面鼠標點超連接「Network & Host Name」,進入網絡定製界面。正常狀況,網卡被系統識別,會顯示網卡的名字,多塊網卡,以多行顯示。
(1)修改主機名:輸入預先規劃好的字符,點按鈕「Apply」當即生效;
(2)繼續在上一個界面,鼠標點擊右下側按鈕「Configure…」,彈出子界面之後,點選「IPv4 Setting」,再繼續點下拉列表框「Method」。
繼續再此界面點擊按鈕「Add」,編輯框按事先規劃填寫相應的內容。
(3)點擊右側滑動按鈕,啓用網絡鏈接(由OFF變成ON)。
確認無誤後,鼠標點「Done」按鈕返回定製安裝主界面。
正式進行安裝
定製完全部項目之後,點擊按鈕「Begin Installation」,安裝程序將進行硬盤格式化、複製文件到相應的目錄等系列操做,在此過程當中,可進行用戶設置,也就是設置root密碼。
強烈建議生產環境設置複雜密碼,用kepass密碼管理工具隨機生成密碼,是個很不錯的選擇。
等到界面出現按鈕「Reboot」,安裝過程就算完成,點擊此按鈕重啓系統,同時彈出安裝介質。
後期處理及系統交付
系統安裝完畢之後,最起碼的要求是可以遠程鏈接。若是在安裝過程當中沒有對網絡進行設置或者設置不正確,那麼須要在系統重啓以後,從控制檯(物理服務器是顯示器)進入系統,對網絡進行設置。
更改主機名
控制檯執行以下指令便可生效:
hostnamectl set-hostname mysql116
執行完此條指令,打開文件/etc/hostname 便可看到所作的修改。與直接修改/etc/hostname不一樣,直接編輯此文件,須要重啓系統纔會生效。
設置網絡
先執行指令ip add,查看網絡是否有設置。
再檢查網絡接口配置文件,看是否有設定,若有設定,須要把BOOT的值設置成yes。
像上圖這種沒有設置ip地址的情形,手動編輯文件比較容易出錯,也不能從別的地方複製粘貼再修改。在之前的centos舊版本里,有工具setup進行各類圖形化方式進行設置。Centos 7之後的版本,用nmtui(網絡管理文本用戶接口)來進行網絡設置。
光標選定「Edit a connection」後回車。
光標選定「<Edit …>」,繼續回車。下一個界面,ipv4配置左側用光標選定,回車選「Manual」。而後繼續移動光標到本行右側的「show」,回車,彈出編輯界面。
按事先的規劃,填寫好各項值。
確認無誤後,光標定位到最右側最下端「<OK>」按鈕,完成設定並回退到上一個界面,繼續用光標定位到最右下側那個「<Back>」按鈕,回車,返回到主界面。
主界面,光標定位到「Quit」退出到命令行,完成設置。
打開並對網絡接口文件進行編輯,看上述的設定是否對此接口文件進行了自動修改。
如用腳本修改,請執行以下指令:
sed –i s#ONBOOT=no#ONBOOT=yes# /etc/sysconfig/network-scripts/ifcfg-ens18
要使修改生效,繼續執行下列指令:
service NetworkManager restart
特別注意,centos 8 沒network這個服務名存在了!!!
網絡重啓成功之後,執行ip add,或者ping其它主機驗證網絡設置的正確性。
關閉沒必要要的服務
用遠程管理工具如SecureCRT鏈接剛安裝好的centos 8服務器系統,執行指令看看隨系統開機都啓動了哪些程序或服務。
systemctl list-unit-files |grep enable
[root@mysqlq126 ~]# systemctl list-unit-files |grep enable
atd.service enabled
auditd.service enabled
autovt@.service enabled
crond.service enabled
dbus-org.fedoraproject.FirewallD1.service enabled
dbus-org.freedesktop.NetworkManager.service enabled
dbus-org.freedesktop.nm-dispatcher.service enabled
dbus-org.freedesktop.timedate1.service enabled
firewalld.service enabled
getty@.service enabled
import-state.service enabled
irqbalance.service enabled
kdump.service enabled
libstoragemgmt.service enabled
loadmodules.service enabled
lvm2-monitor.service enabled
mcelog.service enabled
mdmonitor.service enabled
microcode.service enabled
NetworkManager-dispatcher.service enabled
NetworkManager-wait-online.service enabled
NetworkManager.service enabled
nis-domainname.service enabled
rngd.service enabled
rsyslog.service enabled
selinux-autorelabel-mark.service enabled
smartd.service enabled
sshd.service enabled
sssd.service enabled
syslog.service enabled
timedatex.service enabled
tuned.service enabled
vdo.service enabled
dm-event.socket enabled
lvm2-lvmpolld.socket enabled
sssd-kcm.socket enabled
remote-fs.target enabled
dnf-makecache.timer enabled
unbound-anchor.timer enabled
其實有好多服務不必啓動,白白浪費資源,能夠給關閉了。能夠用指令 systemctl disable firewalld 這樣的方式挨個關閉,但嫌太費事,批量關閉多好啊!記得有個工具ntsysv,centos 8沒有安裝此軟件,用下列指令進行安裝:
yum install ntsysv
安裝好ntsysv之後,任意路徑執行指令 ntsysv,調出設定界面。
爲驗證ntsysv的設置是否與systemctl指令操做相一致,我這裏先從ntsysv服務列表暫時取消服務「atd」及「firewalld」,點「ok」使其退出生效;而後在命令行輸入下列指令:
systemctl list-unit-files |egrep -i 'firewalld|atd'
[root@mysqlq126 ~]# systemctl list-unit-files |egrep -i 'firewalld|atd'
從輸出可知,確實就是咱們想要的結果。那麼再執行ntsysv,進入服務列表,把不要的服務給通通關閉掉,而後重啓系統(這樣最快)。
關閉selinux
先檢查selinux是否開啓,用指令 getenforce ,若是輸出爲「Enforcing」,代表selinux沒有被設置成不可以使用。
接下來,編輯文件/etc/sysconfig/selinux,使SELINUX的值爲disabled,可用下列指令進行修改:
sed -i s#SELINUX=enforcing#SELINUX=disabled# /etc/sysconfig/selinux
文件修改之後,並不會生效。若是不打算碼上重啓系統,可執行指令 setenforce 0 臨時關閉讓人討厭的selinux(會不會有板磚飛來?)。