老司機定製安裝centos 8

                                                    做者:田逸(sery@163.com)mysql

在Redhat RHEL 8發佈好一陣之後,centos 8終於正式發佈,火燒眉毛下載其ISO文件,一遍進行安裝測試。與centos 7相比,文件體積大了不少。linux

 001.jpg

在取得centos 8 iso鏡像文件以後,可將其刻錄成光盤或者可引導安裝u盤。若是是物理服務器,須要確認是否以UEFI引導。與老前輩BIOS相比較,UEFI方式須要額外作一些工做,好比手動分區時,得建立單獨的分區/boot/efi,不然安裝可能進行不下去。 web

002.jpg


安裝前的規劃sql


用於生產系統的話,部署前須要先規劃,不得一來就開幹,魯莽從事。那麼規劃哪些項目呢?還真沒有一個標準規範。我搬磚前,通常考慮一下幾個方面,供你們參考:centos

  • 磁盤冗餘性配置:多磁盤作什麼raid級別?bash

  • IP地址分配:好的規劃能避免管理混亂、避免ip地址跟其它服務器發生衝突。服務器

  • 主機名:主機名最好能望文生義,好比我經常使用用途名+結尾ip的方式(web118,表示系統是web用途,ip地址最後一個字段爲118)。在沒有多少經驗的年代,曾經管理超過500臺物理服務器,主機名都是localhost,維護起來真要命啊!網絡

  • 磁盤分區:強烈建議物理服務器不要搞一根到底!!!分區的好處之一是數據隔離。在長期運維管理過程當中,文件系統損壞發生的概率仍是有的。若是一根到底,進行文件系統修復就比較棘手了。另一個情形,假定對日誌存放單獨分區,就是日誌塞爆分區,也不會致使系統掛起(一根到底,日誌塞滿整個根分區,恐怕遠程登陸都是問題)。運維

  • 目錄命名:主要是系統盤之外的分區掛接點命名,好比/data、/backup等。dom


開始系統安裝


準備好安裝介質並瞭解清楚設備的基本配置,而後插入可引導安裝介質,並保證引導介質被設置爲最高優先級。

 003.jpg

正常引導的界面以下圖所示:

 004.jpg

光標鍵選定第一行「Install Centos Linux 8.0.1905」,回車進入下一步。若是打算用文本模式進行安裝,直接按「esc」鍵,進入boot界面,輸入命令:linux text (之前的老版本,能夠直接輸text)。萬一進入不了boot界面,試着更改引導方式爲傳統的BIOS。

 006.jpg

相對於圖形界面安裝centos 8,文本方式要麻煩不少,反而費時費力,特別是手動分區。

 007.jpg

所以,爲了更有效率的進行安裝,仍是改變原來的習慣,從圖形界面進行安裝吧。


Centos 8定製佈局比較合理,全在一個界面,簡潔明快。

 

008.jpg

我須要定製時區(Time & Data)、軟件選定(Software Selection)、網絡與主機名(Network & Host Name)和必選項系統安裝位置(Installation Destination)。爲保證安裝安裝效率,可先鼠標選擇系統安裝位置,這樣作的目的是檢查硬盤是否被系統識別。若是硬盤沒有被系統識別,而先作了其它方面的定製,浪費時間而又不能繼續往下進行。


  • 定製系統安裝位置

 009.jpg

個人100G的硬盤已經被正確識別。若是是多個磁盤,則以多行多圖標顯示,鼠標選定一個盤便可。定製分區部分,鼠標單選「Custom」(默認是自動),而後確認無誤後,點界面頂部左側按鈕「Done」。進入定製分區界面,點擊按鈕「+」進行手動分區。

 010.jpg

先建立分區/boot/efi,選擇後,鼠標點「Add mount point」。

 011.jpg

修改分區大小爲1G(默認佔徹底部磁盤空間),確保文件系統類型爲「EFI System partition」。確認無誤後,鼠標點「Update Setting」。

 012.jpg

繼續在此界面點擊加號「+」添加交換分區、/boot分區、根分區/,系統日誌分區/var等。一個定製建立好的磁盤分區佈局以下:

 013.jpg

鼠標點擊按鈕「Done」,彈出分區彙總界面,點接受改變「Accept Changes」按鈕,完成定製系統安裝位置這個操做。

 014.jpg


  • 定製時區

返回到安裝彙總界面後,鼠標點選「Time & Data」,鼠標選地圖上中國的位置,選上之後,左上側的地區自動填充爲「Asia」、城市填充爲「Shanghai」。

 015.jpg

鼠標點「Done」完成設置並返回主定製界面。


  • 定製安裝所需軟件包

鼠標點選「Software Selection」,進入包選擇界面。可選最小化安裝「Minimal Install」或者定製化安裝「Custom Operation System」。我通常選定製安裝,並選子項「Standard」、「Developmet Tools」、「System Tools」。

 016.jpg

centos古老的版本,能夠按F2鍵查看右側子項所包含軟件包的信息。確認無誤後,點按鈕「Done」完成設置並返回定製主界面。


  • 定製主機名及網絡

主界面鼠標點超連接「Network & Host Name」,進入網絡定製界面。正常狀況,網卡被系統識別,會顯示網卡的名字,多塊網卡,以多行顯示。

(1)修改主機名:輸入預先規劃好的字符,點按鈕「Apply」當即生效;

 017.jpg

(2)繼續在上一個界面,鼠標點擊右下側按鈕「Configure…」,彈出子界面之後,點選「IPv4 Setting」,再繼續點下拉列表框「Method」。

 018.jpg

繼續再此界面點擊按鈕「Add」,編輯框按事先規劃填寫相應的內容。

 019.jpg

(3)點擊右側滑動按鈕,啓用網絡鏈接(由OFF變成ON)。

 020.jpg

確認無誤後,鼠標點「Done」按鈕返回定製安裝主界面。


  • 正式進行安裝

定製完全部項目之後,點擊按鈕「Begin Installation」,安裝程序將進行硬盤格式化、複製文件到相應的目錄等系列操做,在此過程當中,可進行用戶設置,也就是設置root密碼。

 021.jpg

強烈建議生產環境設置複雜密碼,用kepass密碼管理工具隨機生成密碼,是個很不錯的選擇。

022.jpg

等到界面出現按鈕「Reboot」,安裝過程就算完成,點擊此按鈕重啓系統,同時彈出安裝介質。


後期處理及系統交付


系統安裝完畢之後,最起碼的要求是可以遠程鏈接。若是在安裝過程當中沒有對網絡進行設置或者設置不正確,那麼須要在系統重啓以後,從控制檯(物理服務器是顯示器)進入系統,對網絡進行設置。


  • 更改主機名

控制檯執行以下指令便可生效:

hostnamectl set-hostname mysql116

執行完此條指令,打開文件/etc/hostname 便可看到所作的修改。與直接修改/etc/hostname不一樣,直接編輯此文件,須要重啓系統纔會生效。


  • 設置網絡

先執行指令ip add,查看網絡是否有設置。

 023.jpg

再檢查網絡接口配置文件,看是否有設定,若有設定,須要把BOOT的值設置成yes。

 024.jpg

像上圖這種沒有設置ip地址的情形,手動編輯文件比較容易出錯,也不能從別的地方複製粘貼再修改。在之前的centos舊版本里,有工具setup進行各類圖形化方式進行設置。Centos 7之後的版本,用nmtui(網絡管理文本用戶接口)來進行網絡設置。

 025.jpg

光標選定「Edit a connection」後回車。

 026.jpg

光標選定「<Edit …>」,繼續回車。下一個界面,ipv4配置左側用光標選定,回車選「Manual」。而後繼續移動光標到本行右側的「show」,回車,彈出編輯界面。

 027.jpg

按事先的規劃,填寫好各項值。

 028.jpg

確認無誤後,光標定位到最右側最下端「<OK>」按鈕,完成設定並回退到上一個界面,繼續用光標定位到最右下側那個「<Back>」按鈕,回車,返回到主界面。

 029.jpg


主界面,光標定位到「Quit」退出到命令行,完成設置。


打開並對網絡接口文件進行編輯,看上述的設定是否對此接口文件進行了自動修改。

 031.jpg

如用腳本修改,請執行以下指令:

sed –i s#ONBOOT=no#ONBOOT=yes# /etc/sysconfig/network-scripts/ifcfg-ens18

要使修改生效,繼續執行下列指令:

service NetworkManager restart

特別注意,centos 8 沒network這個服務名存在了!!!

 032.jpg

網絡重啓成功之後,執行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

 033.jpg

安裝好ntsysv之後,任意路徑執行指令 ntsysv,調出設定界面。

 034.jpg

爲驗證ntsysv的設置是否與systemctl指令操做相一致,我這裏先從ntsysv服務列表暫時取消服務「atd」及「firewalld」,點「ok」使其退出生效;而後在命令行輸入下列指令:

systemctl list-unit-files |egrep -i 'firewalld|atd'

[root@mysqlq126 ~]# systemctl list-unit-files |egrep -i 'firewalld|atd'

 035.jpg

從輸出可知,確實就是咱們想要的結果。那麼再執行ntsysv,進入服務列表,把不要的服務給通通關閉掉,而後重啓系統(這樣最快)。


  • 關閉selinux


先檢查selinux是否開啓,用指令 getenforce ,若是輸出爲「Enforcing」,代表selinux沒有被設置成不可以使用。

 036.jpg

接下來,編輯文件/etc/sysconfig/selinux,使SELINUX的值爲disabled,可用下列指令進行修改:

sed -i s#SELINUX=enforcing#SELINUX=disabled# /etc/sysconfig/selinux


文件修改之後,並不會生效。若是不打算碼上重啓系統,可執行指令 setenforce 0 臨時關閉讓人討厭的selinux(會不會有板磚飛來?)。

相關文章
相關標籤/搜索