新聞中心
1 概述

創(chuàng)新互聯(lián)公司是一家專業(yè)提供邵東企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)、做網(wǎng)站、H5場景定制、小程序制作等業(yè)務(wù)。10年已為邵東眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
以下的截圖主要是用來說明自動(dòng)化運(yùn)維發(fā)展的階段
第一階段:全人肉階段,此時(shí)是處于無流程規(guī)范的約束,所有的運(yùn)維工作都是靠人去一步步執(zhí)行,這將大大降低工作的效率,也容易帶來誤操作
第二階段:工具化階段,制定了規(guī)范制度,此時(shí)是通過編寫腳本等工具來代替運(yùn)維的大部分重復(fù)性工作。但是工具沒有一個(gè)統(tǒng)一的管理平臺
第三階段:平臺化階段,此時(shí)通過完善規(guī)范來提高運(yùn)維的效率,降低運(yùn)維的誤操作,平臺在這個(gè)階段完成,通過統(tǒng)一的平臺,對機(jī)器進(jìn)行管理,實(shí)現(xiàn)了企業(yè)化的平臺統(tǒng)一管理
第四階段:自驅(qū)動(dòng)階段,通過流程進(jìn)行驅(qū)動(dòng),制度是關(guān)鍵,制度已經(jīng)完善,系統(tǒng)出了問題,能夠自己解決。
本文將介紹自動(dòng)化運(yùn)維的第一步,即實(shí)現(xiàn)自動(dòng)化安裝系統(tǒng)。本文將介紹兩個(gè)方面的自動(dòng)化安裝:
1. 半自動(dòng)化安裝:通過光盤引導(dǎo)系統(tǒng)系統(tǒng),然后手動(dòng)指定kickstart文件,安裝包源為系統(tǒng)的光盤或者是網(wǎng)絡(luò)(這里包的路徑是在kickstart文件里指定),安裝過程由kickstart文件設(shè)定。
2. 本地自動(dòng)化安裝,通過自己生成一個(gè)本地的光盤文件,刻錄在光盤或者U盤里,實(shí)現(xiàn)本地自動(dòng)化安裝,制作方法是:拷貝一份光盤的所有資料到本地路徑,如/root/fulliso目錄下,把kickstart文件放在該目錄下,生成新的包依賴關(guān)系的文件,然后再通過命令mkisofs生成光盤文件。如果需要U盤啟動(dòng),只需要通過dd命令將新生成的iso文件刻錄到U盤里即可實(shí)現(xiàn)U盤啟動(dòng)
接下來,我們將介紹安裝啟動(dòng)過程,安裝需要的文件的內(nèi)容,以及每個(gè)自動(dòng)化安裝方式的實(shí)現(xiàn)步驟
2 安裝程序和相關(guān)文件介紹
2.1 系統(tǒng)啟動(dòng)流程如下
bootloader-->kernel(initramfs)-->rootfs-->/sbin/init
系統(tǒng)安裝完成后,在啟動(dòng)時(shí),先開機(jī)自檢,讀取硬盤的第一扇區(qū)MBR,加載bootloader,即第一階段,還有1.5.和2階段。根據(jù)配置文件,找到kernel(vmlinuz)和initramfs(臨時(shí)根文件系統(tǒng)),由initramfs加載小linux系統(tǒng),然后把控制權(quán)交給了rootfs,然后加載/sbin/init,按腳本命令執(zhí)行相關(guān)腳本,完成啟動(dòng)的過程
2.2 系統(tǒng)安裝程序:anaconda
在安裝過程中我們需要借助的anaconda這個(gè)安裝程序來實(shí)現(xiàn),該程序有兩種安裝界面
1.gui:圖形窗口
2 tui:基于圖形庫curses的文本窗口
anaconda的配置方式:
(1) 交互式配置方式
(2) 通過讀取事先給定的配置文件自動(dòng)完成配置:按特定語法給出的配置選項(xiàng),改配置文件叫kickstart文件,這個(gè)文件可以手動(dòng)編寫,也可以通過圖形化工具system-config-kickstart來生成。我們既然要實(shí)現(xiàn)自動(dòng)化的安裝,自然anaconda的配置方式就要選擇該方式,不能是圖形化,否則就實(shí)現(xiàn)不了自動(dòng)化的安裝
默認(rèn)我們通過光盤來安裝的時(shí)候,裝載根文件系統(tǒng),并啟動(dòng)anaconda,可以對這個(gè)配置方式進(jìn)行選擇,當(dāng)光盤啟動(dòng)到菜單頁面的時(shí)候,默認(rèn)啟動(dòng)GUI接口,若是要指定使用TUI接口:向內(nèi)核傳遞text參數(shù)即可。
(1)按tab鍵,在后面增加 text
(2)按ESC鍵:boot: linux text
在全自動(dòng)化安裝中,我們是直接在ks文件中設(shè)置了該方式為text。
anaconda工作過程
.Anaconda安裝系統(tǒng)分成三個(gè)階段:
a 安裝前配置階段
安裝過程使用的語言
鍵盤類型
安裝目標(biāo)存儲設(shè)備
Basic Storage:本地磁盤
特殊設(shè)備:iSCSI
設(shè)定主機(jī)名
配置網(wǎng)絡(luò)接口
時(shí)區(qū)
管理員密碼
設(shè)定分區(qū)方式及MBR的安裝位置
創(chuàng)建一個(gè)普通用戶
選定要安裝的程序包
b 安裝階段
在目標(biāo)磁盤創(chuàng)建分區(qū),執(zhí)行格式化操作等
將選定的程序包安裝至目標(biāo)位置
安裝bootloader和initramfs
c 圖形模式首次啟動(dòng)
進(jìn)行以下的配置
iptables
selinux
core dump
2.3 光盤部分文件介紹
isolinux/boot.cat:這個(gè)文件作用是類型MBR(Main Boot Record),負(fù)責(zé)磁盤操作系統(tǒng)(DOS)對磁盤進(jìn)行讀寫時(shí)分區(qū)合法性的判別、分區(qū)引導(dǎo)信息的定位,啟動(dòng)的stage1.
isolinux/isolinux.bin,負(fù)責(zé)光盤的stage2,也是二進(jìn)制文件,作用類似grub的第二階段
isolinuz/vmlinuz:是linux的內(nèi)核,相當(dāng)于是一個(gè)小的linux系統(tǒng)
isolinuz/initrd.img,一般被用來臨時(shí)的引導(dǎo)硬件到實(shí)際內(nèi)核vmlinuz能夠接管并繼續(xù)引導(dǎo)的狀態(tài)
isolinux/isolinux.cfg:這個(gè)是光盤啟動(dòng)時(shí)的菜單文件,菜單的風(fēng)格是文件vesamenu.c32.在isolinux.cfg里有調(diào)用,該文件里還指定了內(nèi)核isolinuz/vmlinuz和isolinuz/initrd.img的路徑,向內(nèi)核傳遞參數(shù):append initrd=initrd.img,這段參數(shù)可以自己定制,如在后面加text,就會實(shí)現(xiàn)字符界面安裝,這個(gè)用于自動(dòng)化安裝,不適合于手動(dòng)安裝,鼠標(biāo)點(diǎn)不了的。字符界面一般用于自動(dòng)化安裝。
在isolinux.cfg文件中指明kickstart文件的位置,有以下幾個(gè)路徑進(jìn)行調(diào)用該文件,寫法如下
| 1 2 3 4 5 6 | DVD drive:ks=cdrom: /PATH/TO/KICKSTART_FILE Hard drive:ks=hd:device: /directory/KICKSTART_FILE HTTP server:ks=http: //host :port /path/to/KICKSTART_FILE FTP server:ks= ftp : //host :port /path/to/KICKSTART_FILE HTTPS server:ks=https: //host :port /path/to/KICKSTART_FILE NFSserver:ks=nfs:host: /path/to/KICKSTART_FILE |
2.4 kickstart文件
kickstart文件創(chuàng)建
有兩個(gè)方法:
1 直接手動(dòng)編寫:依據(jù)某模板修改
2:.可使用創(chuàng)建工具:system-config-kickstart,依據(jù)某模板修改并自動(dòng)生成新配置anaconda-ks.cfg,這個(gè)軟件是在桌面端的環(huán)境下才能啟用
.檢查ks文件的語法錯(cuò)誤:ksvalidator
| 1 | ksvalidator /PATH/TO/KICKSTART_FILE |
kickstart 文件的格式如下
kickstart文件的格式
anaconda-ks.cfg的格式如下分為 命令段,程序包段,腳本段三段
.命令段:
指明各種安裝前配置,如鍵盤類型等
命令段中的命令:
.必備命令
authconfig:認(rèn)證方式配置
authconfig--useshadow--passalgo=sha512
bootloader:bootloader的安裝位置及相關(guān)配置
bootloader--location=mbr--driveorder=sda–
append="crashkernel=autorhgbquiet"
keyboard:設(shè)定鍵盤類型
lang:語言類型
part:創(chuàng)建分區(qū)
rootpw:指明root的密碼
timezone:時(shí)區(qū)
.可選命令
install OR upgrade
text:文本安裝界面
network
firewall
selinux
halt
poweroff
reboot
repo
user:安裝完成后為系統(tǒng)創(chuàng)建新用戶
url:指明安裝源
key –skip跳過安裝號碼,適用于rhel版本
.程序包段:
指明要安裝的程序包組或程序包,不安裝的程序包等
程序包段指安裝了哪些包,
@開頭的是包組
不是@的是一般的包
--減號,是指把包組中的某個(gè)包去掉
例子如下
%packages
@group_name
package
-package
%end
注意,桌面包組,desktop默認(rèn)是GNOME包組,如果桌面端安裝不成功,安裝一下xorg-x11-server-Xorg這個(gè)包,桌面端依賴這個(gè)包
.腳本段:
腳本段分為安裝前和安裝后腳本段
%pre:安裝前腳本,安裝操作系統(tǒng)前,初始化環(huán)境
運(yùn)行環(huán)境:運(yùn)行于安裝介質(zhì)上的微型Linux環(huán)境
%post:安裝后腳本,系統(tǒng)都安裝完成后才執(zhí)行腳本
格式如下
%post
腳本
在這里有一個(gè)地方需要注意,當(dāng)CentOS7通過命令啟動(dòng)system-config-kickstart時(shí),選擇包的時(shí)候可能出現(xiàn)如下報(bào)錯(cuò),看不到包的信息
解決辦法:
配置光盤的yum源,修改yum 的repo id為development,這個(gè)是系統(tǒng)指定的,一般情況下repo id可以隨便指定,只要是沒有空格隔開就可以,但在要用system-config-kickstart命令來選擇包是,id一定要配置為development。如下截圖
3 自動(dòng)化安裝
本文將介紹兩種自動(dòng)化安裝的方式:半自動(dòng)化和本地自動(dòng)化
3.1 半自動(dòng)化安裝
半自動(dòng)化安裝,啟動(dòng)的方式通過光盤進(jìn)行啟動(dòng),這里有兩種方式:1. 本地光盤直接作為包的來源 2. 包在其他路徑上,如http服務(wù)器上
3.1.1 安裝包為本地
1.通過system-config-kickstart這個(gè)工具在圖形界面定制ks文件,這里要實(shí)現(xiàn)的是半自動(dòng)化的安裝,需要在ks文件里指定安裝包的路徑,用本地的光盤啟動(dòng)
2.在虛擬機(jī)中選擇好光盤后,啟動(dòng)虛擬機(jī)。注意,7安裝的內(nèi)存要大于1024M,否則會出現(xiàn)空間不足的問題,無法安裝。
默認(rèn)情況下,6和7通過光盤啟動(dòng)的菜單界面如下截圖
6的啟動(dòng)菜單頁面如下截圖
7的啟動(dòng)菜單頁面如下截圖
3.編輯好ks文件,這個(gè)ks文件就是用來做自動(dòng)化安裝的,指導(dǎo)機(jī)器安裝ks文件里的語句進(jìn)行安裝,半自動(dòng)化的時(shí)候,這個(gè)文件的路徑要 人為指定路徑,在開機(jī)的菜單處輸入特定按鍵后進(jìn)行指定(如下兩張截圖的方法),然后才能加載ks文件進(jìn)行安裝
這里要注意,首先要確保網(wǎng)絡(luò)是通的,如果不用dhcp,也可以再ks文件里指定固定ip,和網(wǎng)絡(luò)中的ftp服務(wù)器在同一網(wǎng)段
看到這個(gè)界面,敲入Esc鍵,看到boot:輸入linux ks=進(jìn)行指定ks路徑,如果放到ftp下,就寫全路徑
看到圖一的開機(jī)界面,按下tab鍵,UI看到vmlinuz initrd=initrd.img輸入ks=把ks文件的路徑指出來,如下截圖是放到ftp下
指定好ks文件后,系統(tǒng)就會安裝ks設(shè)置的安裝步驟一步步執(zhí)行。最后安裝完成后進(jìn)行重啟機(jī)器。注意,重啟機(jī)器這個(gè)步驟也是在ks文件里設(shè)定。
3.1.2 安裝包在http服務(wù)器
這里和安裝包在本地的區(qū)別是,需要制作一個(gè)光盤,這個(gè)光盤僅僅用了引導(dǎo)機(jī)器啟動(dòng),進(jìn)入到啟動(dòng)菜單。同時(shí)要在一臺http服務(wù)器上將光盤直接掛到機(jī)器上
1.制作啟動(dòng)光盤:
將光盤的isolinux這個(gè)目錄拷貝到本地/root/bootiso/下
cp -r /media/isolinux/ /root/bootiso/
編輯ks文件
vim ks65min.cfg
在這個(gè)ks文件里,需要注意以下兩項(xiàng)
# Use network installation,配置http服務(wù)器下yum源的路徑,如下
| 1 | url --url= "http://172.18.50.75/os/6i386/" |
# Network information 網(wǎng)絡(luò)配置,直接配置成靜態(tài),或者是自動(dòng)獲取,以下是直接配置成靜態(tài)ip的例子,原則是保證新增的機(jī)器ip和http在同一網(wǎng)段,能夠去訪問http那臺服務(wù)器,
network --bootproto=static --device=eth0 --gateway=172.18.0.1 --ip=172.18.50.99 --nameserver=172.18.0.1 --netmask=255.255.0.0 --onboot=on
將這個(gè)文件拷貝到本地的bootiso目錄下
| 1 | cp /root/ks65min .cfg /root/bootiso/ |
編輯菜單文件,這里需要注意的是,要指定ks文件的路徑,注意,這里因?yàn)榘裬s65min.cfg拷貝到了/root/bootiso/,這個(gè)目錄要被制作成啟動(dòng)光盤,所以ks文件的目錄寫出ks=cdrom:/ks65min.cfg
| 1 | vim /root/bootiso/isolinux/isolinux .cfg |
如下
| 1 2 3 4 5 | label linux menu label ^Install or upgrade an existing system menu default kernel vmlinuz append initrd=initrd.img ks=cdrom: /ks65min .cfg |
2 啟動(dòng)引導(dǎo)光盤
| 1 | mkisofs -R -J -T - v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.5 386 boot" -b isolinux /isolinux .bin -c isolinux /boot . cat -o /root/centos65_boot .iso /root/bootiso/ |
centos65_boot.iso生成的這個(gè)光盤就可以實(shí)現(xiàn)半自動(dòng)化安裝了,開機(jī)的時(shí)候,不需要在指定ks文件的路徑了,這里所謂半自動(dòng)化安裝,是因?yàn)?,還需要指定光盤才能安裝。
3.2 本地自動(dòng)化安裝
全自動(dòng)化安裝
1將光盤里的所有文件拷貝一份到本地系統(tǒng)
| 1 2 | mount /dev/sr0 /media cp -r /media /root/fulliso |
2 刪掉.TBL文件,mkisofs命令創(chuàng)建的時(shí)候,通過選項(xiàng)-T會自動(dòng)生成
| 1 | find /root/fulliso -name TRANS.TBL - exec rm {} \; |
3.repodata這個(gè)文件夾下除了comps.xml這個(gè)文件要保留,是存放包組信息的文件,該文件夾的其他文件都要?jiǎng)h除。是一個(gè)xml格式的文件 ,創(chuàng)建的時(shí)候,依賴這個(gè)文件來創(chuàng)建包組信息。該目錄下目前只剩下后綴為comps.xml這個(gè)文件,命令如下
| 1 | find /root/fulliso/repodata2/ ! -name '*comps.xml' - type f - exec rm -rf {} \; |
4.根據(jù)createrepo這個(gè)文件來創(chuàng)建yum源,在拷貝的fulliso這個(gè)目錄下,命令后面的./是指在哪個(gè)目錄下創(chuàng)建yum源.這一步要等3分鐘左右,出現(xiàn)Sqlite DBs complete表示完成,命令如下
| 1 | createrepo -g repodata /43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps .xml ./ |
執(zhí)行以上語句后,repodata文件夾就會創(chuàng)建出新的數(shù)據(jù),如下
5. 6配置yum的kickstart文件,這里是直接復(fù)制一個(gè)ks文件作為模板進(jìn)行修改。或者直接在桌面端里打開終端命令窗口,執(zhí)行命令system-config-kickstart進(jìn)行定制kickstart文件按自己的安裝需求進(jìn)行設(shè)置.
注意,將新生成的ks文件放到/fulliso這個(gè)目錄,可以放置多個(gè)應(yīng)答文件,來實(shí)現(xiàn)不一樣的安裝,如ks6-desk.cfg,ks6-mini.cfg
6. 制作啟動(dòng)菜單,修改isolinux目錄下的isolinux.cfg這個(gè)文件,這里制作了四個(gè)菜單,根據(jù)指定ks文件來實(shí)現(xiàn)不一樣的安裝,如下截圖
到這里,所有的準(zhǔn)備文件都完成了,接下來要制作成光盤
7. 制作成全量光盤,和半自動(dòng)化2的的區(qū)別是這里重新生成yum倉庫配置文件,把光盤的所有文件都拷貝到新的目錄下,包括安裝包,之前只是拷貝光盤下的isolinux這個(gè)目錄下的內(nèi)容,制作一個(gè)引導(dǎo)的菜單,包放在了http等遠(yuǎn)程端
這里可以制作成整個(gè)6的光盤,只需要把安裝包都拷貝到同一Packages目錄下即可.
執(zhí)行如下的語句制作.iso文件
| 1 | mkisofs -R -J -T - v --no-emul-boot--boot-load-size 4 --boot-info-table -V "CentOS 6.5 autoinstall" -bisolinux /isolinux .bin -c isolinux /boot . cat -o /root/auto65 .iso /root/fulliso/ |
這一步比較久,根據(jù)機(jī)器的性能決定時(shí)間快慢,大概要10分鐘
這樣制作完成后,這個(gè)就可以實(shí)現(xiàn)通過光盤實(shí)現(xiàn)全自動(dòng)化的安裝
如果要做成u盤啟動(dòng),就用命令dd把生成的這個(gè)文件拷貝到U盤下,實(shí)現(xiàn)同U盤來安裝系統(tǒng),,假設(shè)U盤的識別為設(shè)備/dev/sdf .命令如下
| 1 | dd if = /root/auto65 .isoof= /dev/sdf |
然后裝機(jī)開機(jī)時(shí),進(jìn)入bios,將啟動(dòng)項(xiàng)設(shè)置為U盤啟動(dòng)即可
mkisofs選項(xiàng)
.-o指定映像文件的名稱。
.-b指定在制作可開機(jī)光盤時(shí)所需的開機(jī)映像文件。
.-c制作可開機(jī)光盤時(shí),會將開機(jī)映像文件中的no-eltorito-
catalog全部內(nèi)容作成一個(gè)文件。
.-no-emul-boot非模擬模式啟動(dòng)。
.-boot-load-size 4設(shè)置載入部分的數(shù)量
.-boot-info-table在啟動(dòng)的圖像中現(xiàn)實(shí)信息
.-R或-rock使用RockRidgeExtensions
.-J或-joliet使用Joliet格式的目錄與文件名稱
.-v或-verbose執(zhí)行時(shí)顯示詳細(xì)的信息
.-T或-translation-table建立文件名的轉(zhuǎn)換表,適用于不支持Rock Ridge Extensions的系統(tǒng)上
3.3 報(bào)錯(cuò)解決
3.3.1 安裝65 mini 32位系統(tǒng)
出現(xiàn)如下的報(bào)錯(cuò)
在CentOS 6.X下不支持通過HDMI端口進(jìn)行音頻輸出。 但是,支持主板音頻端口。 出現(xiàn)錯(cuò)誤信息時(shí),解決辦法:按OK繼續(xù)安裝操作系統(tǒng)。
3.3.2 CentOS7 桌面版安裝后問題
CentOS7 桌面版安裝后重啟出現(xiàn)如下的界面,解決辦法是依次按 1--》2--》c--》c然后重啟機(jī)器就能解決
3.3.3 CentOS 7 內(nèi)存不夠
如配置為1024M時(shí),出現(xiàn)如下的報(bào)錯(cuò),解決辦法是將centOS7通過該P(yáng)XE安裝最小內(nèi)存調(diào)整為1100M
卡在以下這一步驟
然后5分鐘后出現(xiàn)如下的報(bào)錯(cuò),
最終結(jié)果如下,是異常安裝
4 小結(jié)
本文主要介紹了自動(dòng)化安裝的相關(guān)概念,以及兩種自動(dòng)化安裝系統(tǒng)的方法。如果工作環(huán)境不允許用網(wǎng)絡(luò)的方式安裝系統(tǒng),制作一個(gè)全量的自動(dòng)化安裝鏡像則會大大降低工作量。
關(guān)于自動(dòng)化安裝系統(tǒng),還有兩種方式,PXE 和 cobbler方式。接下來將會有一個(gè)文章專門介紹這兩個(gè)安裝方式的原理,以及實(shí)現(xiàn)。
本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2017-10/147225.htm
文章標(biāo)題:本地自動(dòng)化安裝CentOS系統(tǒng)
網(wǎng)站URL:http://fisionsoft.com.cn/article/dheegij.html


咨詢
建站咨詢
