centos 8定製安裝

sery發表於2019-09-29

 

在Redhat RHEL 8釋出好一陣以後,centos 8終於正式釋出,迫不及待下載其ISO檔案,以便進行安裝測試。與centos 7相比,檔案體積大了很多。

在取得centos 8 iso映象檔案之後,可將其燒錄成光碟或者可引導安裝u盤。如果是物理伺服器,需要確認是否以UEFI引導。與老前輩BIOS相比較,UEFI方式需要額外做一些工作,比如手動分割槽時,得建立單獨的分割槽/boot/efi,否則安裝可能進行不下去。

 


安裝前的規劃


用於生產系統的話,部署前需要先規劃,不得一來就開幹,魯莽從事。那麼規劃哪些專案呢?還真沒有一個標準規範。我搬磚前,一般考慮一下幾個方面,供大家參考:

ü   磁碟冗餘性配置:多磁碟做什麼raid級別?

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

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

ü   磁碟分割槽:強烈建議物理伺服器不要搞一根到底!!!分割槽的好處之一是資料隔離。在長期運維管理過程中,檔案系統損壞發生的機率還是有的。如果一根到底,進行檔案系統修復就比較棘手了。另外一個情形,假定對日誌存放單獨分割槽,就是日誌塞爆分割槽,也不會導致系統掛起(一根到底,日誌塞滿整個根分割槽,恐怕遠端登入都是問題)。

ü   目錄命名:主要是系統盤以外的分割槽掛接點命名,比如/data、/backup等。

 


開始系統安裝


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

正常引導的介面如下圖所示:

游標鍵選定第一行“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

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#/etc/sysconfig/network-scripts/ifcfg-ens18

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

service NetworkManager restart

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


網路重啟成功以後,執行ip add,或者ping其它主機驗證網路設定的正確性。

 

Ø   關閉不必要的服務

用遠端管理工具如SecureCRT連線剛安裝好的centos 8伺服器系統,執行指令看看隨系統開機都啟動了哪些程式或服務

[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”使其退出生效;然後在命令列輸入下列指令:

[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(會不會有板磚飛來?)。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/632405/viewspace-2658737/,如需轉載,請註明出處,否則將追究法律責任。

相關文章