centos 8定製安裝

                                                    ×××:×××

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

 001.jpg

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

002.jpg


安裝前的規劃


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

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

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

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

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

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


開始系統安裝


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

 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  

[email protected]                             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  

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章